About 2x faster on a 2-core system, and 3-4x faster on an 8-core system
A balance between regular user feedback and maximum usage of CPUs results
in less-than-fastest possible performance.
For fastest performance, increase chunk size to a value larger than cpu_count.
(Perhaps make this a parameter?)
process.py
- Implements a multiprocess worker pool of size os.cpu_count()
- Batches processes in size os.cpu_count()
- Creates pixel_catalog file using source FITS filename, instead of "test.cat" - Forces single-threaded astropy IERS table update, if needed
- Receives all file and screen output from children, so that it can be output
in the order of the files processed
- Changes display order of FITS file being processed (first) followed by
SATIDs within
- Adds temporary notice of empty input queue
- Adds description of screen color codes
astrometry.py
- Adds fall-back method of shutil.copyfile if PermissionError from copy2
extract.py
- Removes terminal output, and instead returns results to calling processes
- Tightens up file/io loops
satellite.py
- Saves hough3dlines output to unique tmp file instead of /tmp/hough.dat
- Removes temp file after processing
- Adds FIXME note to review for unnecessary code
stars.py
- Generates star catalog directly to destination file
- Updates sextractor call to reference destination instead of tmp file