UFO¶
- class giant.ufo.ufo_class.UFO(camera, scene, dynamics, state_initializer, search_distance_function, detector_kwargs=None, tracker_kwargs=None, initial_image_processing_kwargs=None, initial_star_id_kwargs=None, tracking_quality_code_minimum=3, identify_hot_pixels_and_unmatched_stars=True, clear_detector_before_tracking=True, visual_inspection_quality_code_minimum=4)[source]¶
This class provides a simple user interface for doing the combined steps of detecting and tracking UFOs in images.
The primary benefit to using this class is that it packages the data from the
Detector
class to theTracker
class without you having to interact with it directly. Beyond that it is primarily just calls to the methods of theDetector
andTracker
classes, letting them do all of the hard work behind the scenes.The typical way to use this class it to initialize it with all of the settings needed for the
Detector
andTracker
and then to call the following methods in order:If your settings were right, this should result in 2 csv files (1 with possible detections and one with possible tracks) and a visualization of the detections for each image displayed either interactively or saved to files.
For more details about the processes working in this class or for successfully tuning things for identifying tracks, see the :mod:.detector`,
tracker
, andufo
documentation.- Parameters:
camera (Camera) – The
Camera
containing the images to be processedscene (Scene) – The
Scene
specifying the central body as the first target and any extra extended bodies that should be ignored as other targets.dynamics (Dynamics) – The dynamics model to use in the EKF for propagating the state from one time to another
state_initializer (Callable[[Measurement, Type[State]], State]) – A callable which takes in a
Measurement
instance andDynamics.State
class object and returns an initialized state.search_distance_function (Callable[[ExtendedKalmanFilter], Real]) – A callable which takes in an
ExtendedKalmanFilter
and returns what the Euclidean search distance should be for that EKF in pixels. This is only applied after the first pair has been madedetector_kwargs (Dict[str, Any] | None) – The key word arguments to pass to the
Detector
classtracker_kwargs (Dict[str, Any] | None) – The key word arguments to pass to the
Tracker
classinitial_image_processing_kwargs (Dict[str, Any] | None) – The key word arguments to use to initialize the
ImageProcessing
instance before it is passed to theDetector
initial_star_id_kwargs (Dict[str, Any] | None) – The key word arguments to use to initialize the
StarId
class before it is passed to theDetector
tracking_quality_code_minimum (int) – The minimum quality code to pass a possible detection to the tracking algorithm
identify_hot_pixels_and_unmatched_stars (bool) – A flag specifying whether to attempt to filter out hot pixels and unmatched stars from the UFO detections
clear_detector_before_tracking (bool) – A flag specifying whether to clear out the intermediate lists created in the
Detector
before moving on to theTracker
. This can be necessary for memory management purposesvisual_inspection_quality_code_minimum (int) – The minimum quality code to pass a possible detection to the detection visualizations
Summary of Methods
This method detects potential UFOs in all images that have been added to the camera and have not been processed yet. |
|
This method saves both the detection and tracker results to a file (as long as they have been run). |
|
This method packages the possible UFO detections for the |
|
This method visualizes detection results, overlaying them on the images themselves. |