b7056d9329
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 |
||
---|---|---|
data | ||
stvid | ||
.gitignore | ||
LICENSE | ||
README.md | ||
acquire.py | ||
calibrate.py | ||
configuration.ini-dist | ||
imgstat.py | ||
keogram.py | ||
process.py | ||
requirements.txt | ||
setup.cfg | ||
update_tle.py |
README.md
STVID
stvid is a set of python programs to detect and identify satellite tracks on observations of the night sky, and measure the satellite positions to determine and/or update their orbits.
Background
This software will take over the satellite tracking functionality of C.Bassa's sattools. By porting the functionality to python, and using astropy, and opencv, the software is indented to be easier to install and operate.
This repository is currently used for development, and relies, for the moment, on programs from the sattools repository (namely satid
).
Installation
stvid handles requirements using pip. You can install requirements by running :
pip install -r requirements.txt
Consider using a VirtualEnv to run stvid on a separate python virtual environment.
Additional requirements
- Hough3dLines
hough3dlines
needs to be executable in your path
- Sextractor
sextractor
needs to be executable in your path
- Astromentry.net
solve-field
needs to be executable in your path, with index files appropriate for your FOV
- ZWO ASI SDK if using a ZWO camera
Configuration
- Copy the
configuration.ini-dist
file toconfiguration.ini
- Edit
configuration.ini
with your preferred settings - Make sure ST_DATADIR is set as an env variable pointing to the /data folder of sattools
Running
TBD
Todo
Features to be implemented.
High priority
Use sunset/sunrise times for starting/stopping data acquisition.Automatic astrometric calibration.Recognize unidentified satellite/meteor tracks using 3D Hough transform.
Medium priority
- Pause data acquisition of the current line-of-sight (alt/az) is in the Earth's shadow for a particular orbital altitude.
- Investigate sensitivity loss of
significance=(max-mean)/sigma
if the four frame images are stored as 8bit integers instead of floats.
Low priority
- Implement python based star finding (stick with source extractor for now).
- Migrate to python based SGP4/SDP4 algorithms
- Use masks to mask unilluminated CCD areas.
- Investigate automatic submission of IOD measurements to SeeSat-L.
Migrate user settings to a configuration file.
Run acquisition at startup
- Add user to video group (
sudo adduser <username> video
). - Add video device to udev rules (add
SUBSYSTEM=="video1", GROUP="video", MODE="0660"
in/etc/udev/rules.d/10-webcam.rules
). - Create start up script in
/etc/init.d
. Call capture script as user withsu <username> -c "acquire.py"
.
License
© 2018-2019 Cees Bassa
Licensed under the GPLv3.