giant.ufo.detector

This module provides a class for identifying possible unresolved UFOs in a monocular image.

Description

UFO identification is done through the usual stellar_opnav process, but instead of being concerned with the identified stars, we are concerned with the points that were not matched to stars in the image. As such, the Detector class provided in this module simply serves as a wrapper around the StellarOpNav class to combine some steps together and to collect all of the unidentified results and package them into a manageable format. For a more detailed description of what happens you can refer to the paper at https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2019EA000843

Use

To identify potential UFOs, simply initialize the Detector class with the required inputs, then call update_attitude() to estimate the updated attitude of the images (which can be important when trying to identify dim detections), find_ufos() to identify possible ufos in the images, package_results() to package all of the detections into a dataframe and to compute some extra information about each detection, and remove_duplicates() which attempts to identify points were we accidentally identified the same point twice (which can happen when 2 detection are very close together). Once you have called these methods, you can call Detector.save_results() to dump the results to (a) csv file(s).

For discussion on Tuning for successful UFO identification, refer to the ufo package documentation.

You may also be interested in using the UFO class which combines both detection and tracking into a single interface rather than using this class directly.

Classes

Detector

This class is used to identify possible non-cooperative unresolved targets in optical images.

Function

unit_to_radec_jacobian

This function computes the Jacobian matrix for going from a unit vector to a right ascension/declination in degrees.