Clone of cbassa's stvid. Satellite tracking with video cameras. https://spacecruft.org/spacecruft/stvid
 
 
Go to file
Chris Lewicki b7056d9329 Implements parallel processing of satobs, where multiple-threads are available
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
2019-12-12 14:54:46 -08:00
data Add tyc2.fits catalogue 2019-08-09 20:03:12 +03:00
stvid Implements parallel processing of satobs, where multiple-threads are available 2019-12-12 14:54:46 -08:00
.gitignore Fixed configuration and README 2019-08-03 17:37:29 +03:00
LICENSE Create configuration file and add LICENSE 2018-04-20 00:40:03 +03:00
README.md specify the ZWO SDK in the config file 2019-09-20 10:16:51 -07:00
acquire.py Propagate sidereal tracking through FITS files 2019-11-10 13:24:37 +01:00
calibrate.py Implements option to use only astrometry.net 2019-11-09 22:18:34 -08:00
configuration.ini-dist Update configuration.ini-dist 2019-11-30 19:58:09 +01:00
imgstat.py Rename observer elevation to height 2019-11-10 12:52:00 +01:00
keogram.py Add calibrate.py for astrometric solving 2019-05-12 17:33:00 +03:00
process.py Implements parallel processing of satobs, where multiple-threads are available 2019-12-12 14:54:46 -08:00
requirements.txt Update requirements.txt 2019-11-09 20:51:09 -08:00
setup.cfg Add calibrate.py for astrometric solving 2019-05-12 17:33:00 +03:00
update_tle.py update_tle: Add status messages on stdout 2019-12-04 17:06:00 +01:00

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 to configuration.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 with su <username> -c "acquire.py".

License

© 2018-2019 Cees Bassa

Licensed under the GPLv3.