StellarOpNav¶
giant.stellar_opnav.stellar_class:
giant.stellar_opnav.stellar_class:
- class giant.stellar_opnav.stellar_class.StellarOpNav(camera, options=None)[source]¶
This class serves as the main user interface for performing Stellar Optical Navigation.
The class acts as a container for the
Camera,PointOfInterestFinder,StarId, andstellar_opnav.estimatorsobjects and also passes the correct and up-to-date data from one object to the other. In general, this class will be the exclusive interface to the mentioned objects and models for the user.This class provides a number of features that make doing stellar OpNav easy. The first is it provides aliases to the point of interest finder, star id, and attitude estimation instances. These aliases make it easy to quickly change/update the various tuning parameters that are necessary to make star identification a success. In addition to providing convenient access to the underlying settings, some of these aliases also update internal flags that specify whether individual images need to be reprocessed, saving computation time when you’re trying to find the best tuning.
This class also provides simple methods for performing star identification and attitude estimation after you have set the tuning parameters. These methods (
id_stars(),sid_summary(), andestimate_attitude()) combine all of the required steps into a few simple calls, and pass the resulting data from one object to the next. They also store off the results of the star identification in thequeried_catalog_star_records,queried_catalog_image_points,queried_catalog_unit_vectors,extracted_image_points,extracted_image_illums,extracted_psfs,extracted_stats,extracted_snrsunmatched_catalog_image_points,unmatched_image_illums,unmatched_psfs,unmatched_stats,unmatched_snrsunmatched_catalog_star_records,unmatched_catalog_unit_vectors,unmatched_extracted_image_points,matched_catalog_image_points,matched_image_illums,matched_psfs,matched_stats,matched_snrsmatched_catalog_star_records,matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera, andmatched_extracted_image_pointsattributes, enabling more advanced analysis to be performed external to the class.Finally, this class stores the updated attitude solutions in the image objects themselves, allowing you to directly pass your images from stellar OpNav to the
relative_opnavroutines with updated attitude solutions. It also respects theimage_maskattribute of theCameraobject, only considering images that are currently turned on.- Parameters:
camera (Camera) – The
Cameraobject containing the camera model and images to be utilizedoptions (StellarOpNavOptions | None) – The options to use to configure the class. If None, the defaults from
StellarOpNavOptionsare used
- process_stars: List[bool]¶
This list contains a boolean specifying whether the corresponding image needs to be processed using image processing again.
This typically is automatically updated and you shouldn’t have to worry about it. It is included for speed.
- property model: CameraModel¶
This alias returns the current camera model from the camera attribute.
It is provided for convenience since the camera model is used frequently.
- property star_id¶
The StarID instance to use when doing star identification
This should be an instance of the
StarIDclass.See the
StarIDclass documentation for more details
- property attitude_estimator: AttitudeEstimator¶
The attitude estimator to use in the RANSAC algorithm
This should typically be an instance of the
AttitudeEstimatorclass.See the
AttitudeEstimatorclass documentation for more details
- property point_of_interest_finder: PointOfInterestFinder¶
The
PointOfInterestFinderinstance to use when doing image processing on the images
- property queried_catalog_star_records: List[DataFrame | None]¶
This list contains all of the star records queried from the star catalog for each image in
camerafor the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image)Each list element is a pandas DataFrame containing GIANT star records. A GIANT star record has the following columns:
column
units
description
‘ra’
deg
The right ascension of the star after correcting for proper motion
‘dec’
deg
The declination of the star after correcting for proper motion
‘distance’
km
The distance to the star from the Solar system barycenter (converted from parallax). This column has a default value of 5.428047027e15 if no parallax information is provided by the catalog.
‘ra_proper_motion’
deg/year
The proper motion for the right ascension
‘dec_proper_motion’
deg/year
The proper motion for the declination
‘mag’
N/A
The apparent magnitude of the star according to the star catalog
‘ra_sigma’
deg
The formal uncertainty in the right ascension according to the catalog
‘dec_sigma’
deg
The formal uncertainty in the declination according to the catalog
‘distance_sigma’
km
The formal uncertainty in the distance according to the catalog (converted from parallax). This has a default value of 1.9949433041226756e+19 km for stars with no parallax information.
‘ra_pm_sigma’
deg/year
The formal uncertainty in the right ascension proper motion according to the catalog
‘dec_pm_sigma’
deg/year
The formal uncertainty in the declination proper motion according to the catalog
Each row of the data frame represents a star record. Each row of the DataFrame matches to the corresponding column in the
queried_catalog_unit_vectorsandqueried_catalog_image_pointsarrays.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property queried_catalog_image_points: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the projections of all of the star records queried from the star catalog for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image, and also when the attitude is updated for an image).Each list element is a 2xn array of image points with the x locations (columns) down the first row and the y locations (rows) down the second row. Each column of the array matches to the corresponding column in the
queried_catalog_unit_vectorsarray and the corresponding row in thequeried_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property queried_catalog_unit_vectors: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the inertial unit vectors of all of the star records queried from the star catalog for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image). The unit vectors are the directions to the stars after correcting for proper motion, stellar aberration, and parallax.Each list element is a 3xn array of unit vectors with each unit vector stored as a column. Each column of the array matches to the corresponding column in the
queried_catalog_image_pointsarray and the corresponding row in thequeried_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property queried_weights_inertial: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the uncertainty of all of the star records queried from the star catalog for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalog and are for the unit vector representation.A single value is provided for each unit vector representing the sum of the squares of the uncertainty (the trace of the covariance matrix). Each element of the array matches to the corresponding column in the
queried_catalog_image_pointsarray and the corresponding row in thequeried_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property queried_weights_picture: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the uncertainty of all of the star records queried from the star catalog for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalog and are for the pixel representation of the star location.A single value is provided for each unit vector representing the sum of the squares of the uncertainty (the trace of the covariance matrix). Each element of the array matches to the corresponding column in the
queried_catalog_image_pointsarray and the corresponding row in thequeried_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property extracted_image_points: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains all of the image points of interest that were identified by the image processing routines for all of the images in
camerafrom the most recent processing of the image (this gets overwritten when the image is reprocessed through the image processing routines).Each list element is a 2xn array of image points with the x locations (cols) down the first row and the y locations (rows) down the second row. Each column of this array matches with the corresponding row in the
extracted_image_illumsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property extracted_image_illums: List[ndarray[tuple[Any, ...], dtype[_ScalarT]] | None]¶
This list contains the DN values of the pixels containing the image points of interest for each image in
camerathat were identified by the image processing routines as potential stars (this gets overwritten when the image is reprocessed through the image processing routines).Each list element is a length n array of image DN values. Each row of the array matches to the corresponding column in the
extracted_image_pointsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property extracted_psfs: List[list[PointSpreadFunction] | None]¶
This list contains point spread function object for each object identified as a potential star for each image in
camerathat were identified by the image processing routines as potential stars (this gets overwritten when the image is reprocessed through the image processing routines).Each list element is a length n list of PSF objects. Each element of the array matches to the corresponding column in the
extracted_image_pointsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property extracted_stats: List[ndarray[tuple[Any, ...], dtype[int32]] | None]¶
This list contains the connected component stats for each object identified as a potential star for each image in
camerathat were identified by the image processing routines as potential stars (this gets overwritten when the image is reprocessed through the image processing routines).Each list element is a length n list of stats. Each element of the list matches to the corresponding column in the
extracted_image_pointsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property extracted_snrs: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the peak snr value for each object identified as a potential star for each image in
camerathat were identified by the image processing routines as potential stars (this gets overwritten when the image is reprocessed through the image processing routines).Each list element is a length n list of SNR values. Each element of the sublist matches to the corresponding column in the
extracted_image_pointsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property unmatched_catalog_star_records: List[DataFrame | None]¶
This list contains the star records queried from the star catalog that were not matched with an image point of interest for each image in
camerafor the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image)Each list element is a pandas DataFrame containing GIANT star records. A GIANT star record has the following columns:
column
units
description
‘ra’
deg
The right ascension of the star after correcting for proper motion
‘dec’
deg
The declination of the star after correcting for proper motion
‘distance’
km
The distance to the star from the Solar system barycenter (converted from parallax). This column has a default value of 5.428047027e15 if no parallax information is provided by the catalog.
‘ra_proper_motion’
deg/year
The proper motion for the right ascension
‘dec_proper_motion’
deg/year
The proper motion for the declination
‘mag’
N/A
The apparent magnitude of the star according to the star catalog
‘ra_sigma’
deg
The formal uncertainty in the right ascension according to the catalog
‘dec_sigma’
deg
The formal uncertainty in the declination according to the catalog
‘distance_sigma’
km
The formal uncertainty in the distance according to the catalog (converted from parallax). This has a default value of 1.9949433041226756e+19 km for stars with no parallax information.
‘ra_pm_sigma’
deg/year
The formal uncertainty in the right ascension proper motion according to the catalog
‘dec_pm_sigma’
deg/year
The formal uncertainty in the declination proper motion according to the catalog
Each row of the data frame represents a star record. Each row of the DataFrame matches to the corresponding column in the
unmatched_catalog_unit_vectorsandunmatched_catalog_image_pointsarrays.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property unmatched_catalog_image_points: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the projections of the star records queried from the star catalog that were not matched with an image point of interest for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image, and also when a new attitude is solved for the image).Each list element is a 2xn array of image points with the x locations (columns) down the first row and the y locations (rows) down the second row. Each column of the array matches to the corresponding column in the
unmatched_catalog_unit_vectorsarray and the corresponding row in theunmatched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property unmatched_catalog_unit_vectors: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the inertial unit vectors of the star records queried from the star catalog that were not matched with an image point of interest for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image). The unit vectors are the directions to the stars after correcting for proper motion, stellar aberration, and parallax.Each list element is a 3xn array of unit vectors with each unit vector stored as a column. Each column of the array matches to the corresponding column in the
unmatched_catalog_image_pointsarray and the corresponding row in theunmatched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property unmatched_weights_inertial: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the uncertainty of all of the star records queried from the star catalog that were not matched with an image point of interest for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalog and are for the unit vector representation.A single value is provided for each unit vector representing the sum of the squares of the uncertainty (the trace of the covariance matrix). Each element of the array matches to the corresponding column in the
unmatched_catalog_image_pointsarray and the corresponding row in theunmatched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property unmatched_weights_picture: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the uncertainty of all of the star records queried from the star catalog that were not matched with with an image point of interest for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalog and are for the pixel representation of the star location.A single value is provided for each unit vector representing the sum of the squares of the uncertainty (the trace of the covariance matrix). Each element of the array matches to the corresponding column in the
unmatched_catalog_image_pointsarray and the corresponding row in theunmatched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property unmatched_extracted_image_points: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the image points of interest that were not matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a 2xn array of image points with the x locations (columns) down the first row and the y locations (rows) down the second row.
This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property unmatched_image_illums: List[ndarray[tuple[Any, ...], dtype[_ScalarT]] | None]¶
This list contains the DN values of the pixel containing the image points of interest that are not matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a length n array of image DN values. Each row of the array matches to the corresponding column in the
unmatched_extracted_image_pointsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property unmatched_stats: List[ndarray[tuple[Any, ...], dtype[int32]] | None]¶
This list contains the connected component stats of each object that is not matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a length n array of OpenCV connected components statistics. Each row of the array matches to the corresponding column in the
unmatched_extracted_image_pointsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property unmatched_snrs: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the peak snr value of each object that is not matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a length n array of OpenCV connected components statistics. Each row of the array matches to the corresponding column in the
unmatched_extracted_image_pointsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property unmatched_psfs: List[list[PointSpreadFunction] | None]¶
This list contains the fit PSF object for each unmatched image point from the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).
Each list element is a shape n array of PSF objects. Each element of the array matches to the corresponding column in the
unmatched_catalog_unit_vectors,unmatched_catalog_image_points, and theunmatched_extracted_image_pointsarrays.Each object should be a
PointSpreadFunction. See the documentation for thepoint_spread_functionspackage for details.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property matched_catalog_star_records: List[DataFrame | None]¶
This list contains the star records queried from the star catalog that were matched with an image point of interest for each image in
camerafor the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image)Each list element is a pandas DataFrame containing GIANT star records. A GIANT star record has the following columns:
column
units
description
‘ra’
deg
The right ascension of the star after correcting for proper motion
‘dec’
deg
The declination of the star after correcting for proper motion
‘distance’
km
The distance to the star from the Solar system barycenter (converted from parallax). This column has a default value of 5.428047027e15 if no parallax information is provided by the catalog.
‘ra_proper_motion’
deg/year
The proper motion for the right ascension
‘dec_proper_motion’
deg/year
The proper motion for the declination
‘mag’
N/A
The apparent magnitude of the star according to the star catalog
‘ra_sigma’
deg
The formal uncertainty in the right ascension according to the catalog
‘dec_sigma’
deg
The formal uncertainty in the declination according to the catalog
‘distance_sigma’
km
The formal uncertainty in the distance according to the catalog (converted from parallax). This has a default value of 1.9949433041226756e+19 km for stars with no parallax information.
‘ra_pm_sigma’
deg/year
The formal uncertainty in the right ascension proper motion according to the catalog
‘dec_pm_sigma’
deg/year
The formal uncertainty in the declination proper motion according to the catalog
Each row of the data frame represents a star record. Each row of the DataFrame matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera,matched_catalog_image_points, andmatched_extracted_image_pointsarrays, and the corresponding row in thematched_image_illumsarray.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_catalog_image_points: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the projections of the star records queried from the star catalog that were matched with an image point of interest for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image, and also when a new attitude is solved for the image).Each list element is a 2xn array of image points with the x locations (columns) down the first row and the y locations (rows) down the second row. Each column of the array matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera, andmatched_extracted_image_pointsarrays, and the corresponding row in thematched_image_illumsandmatched_catalog_star_recordsarrays.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_catalog_unit_vectors_inertial: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the inertial unit vectors of the star records queried from the star catalog that were matched with an image point of interest for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image). The unit vectors are the directions to the stars after correcting for proper motion, stellar aberration, and parallax.Each list element is a 3xn array of unit vectors with each unit vector stored as a column. Each column of the array matches to the corresponding column in the
matched_catalog_unit_vectors_camera,matched_catalog_image_points, andmatched_extracted_image_pointsarrays, and the corresponding rows in thematched_image_illumsandmatched_catalog_star_recordsarrays.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_catalog_unit_vectors_camera: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the camera frame unit vectors of the star records queried from the star catalog that were matched with an image point of interest for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image). The unit vectors are the directions to the stars after correcting for proper motion, stellar aberration, and parallax.Each list element is a 3xn array of unit vectors with each unit vector stored as a column. Each column of the array matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_image_points, andmatched_extracted_image_pointsarrays, and the corresponding rows in thematched_image_illumsandmatched_catalog_star_recordsarrays.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_weights_inertial: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the uncertainty of all of the star records queried from the star catalog that were matched with an image point of interest for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalog and are for the unit vector representation.A single value is provided for each unit vector representing the sum of the squares of the uncertainty (the trace of the covariance matrix). Each element of the array matches to the corresponding column in the
matched_catalog_image_pointsarray and the corresponding row in thematched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property matched_weights_picture: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the uncertainty of all of the star records queried from the star catalog that were matched with with an image point of interest for each image in
camerafrom the most recent query to star catalog (this gets overwritten when the star catalog is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalog and are for the pixel representation of the star location.A single value is provided for each unit vector representing the sum of the squares of the uncertainty (the trace of the covariance matrix). Each element of the array matches to the corresponding column in the
matched_catalog_image_pointsarray and the corresponding row in thematched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.
- property matched_extracted_image_points: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the image points of interest that are matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a 2xn array of image points with the x locations (columns) down the first row and the y locations (rows) down the second row. Each column of the array matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera, andmatched_catalog_image_pointsarrays, and the corresponding row in thematched_image_illumsandmatched_catalog_star_recordsarrays.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_image_illums: List[ndarray[tuple[Any, ...], dtype[_ScalarT]] | None]¶
This list contains the DN values of the pixel containing the image points of interest that are matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a length n array of image DN values. Each row of the array matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera,matched_catalog_image_points, andmatched_extracted_image_pointsarrays, and the corresponding row in thematched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_stats: List[ndarray[tuple[Any, ...], dtype[int32]] | None]¶
This list contains the connected component stats of each object that is matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a length n array of opencv connect components statistics. Each row of the array matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera,matched_catalog_image_points, andmatched_extracted_image_pointsarrays, and the corresponding row in thematched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_snrs: List[ndarray[tuple[Any, ...], dtype[float64]] | None]¶
This list contains the peak snr value of each object that is matched with a catalog star for each image in
camerafrom the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).Each list element is a length n array of opencv connect components statistics. Each row of the array matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera,matched_catalog_image_points, andmatched_extracted_image_pointsarrays, and the corresponding row in thematched_catalog_star_recordsDataFrame.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property matched_psfs: List[list[PointSpreadFunction] | None]¶
This list contains the fit PSF objects for each matched image point from the most recent star identification attempt (this gets overwritten when a new attempt is made at identifying the stars in the image).
This list is only updated if
ImageProcessing.save_psfis set toTrue.Each list element is a shape n array of PSF objects. Each element of the array matches to the corresponding column in the
matched_catalog_unit_vectors_inertial,matched_catalog_unit_vectors_camera,matched_catalog_image_points, andmatched_extracted_image_pointsarrays, and the corresponding row in thematched_catalog_star_recordsDataFrame. The PSF object in each element is the same type asImageProcessing.centroiding. See the documentation for thepoint_spread_functionspackage for details.This list should always be the same length as the
Camera.imageslist and each element of this list corresponds to the image in the same element in theCamera.imageslist.If no stars have been successfully identified for an image then the corresponding index of the list will be set to
None.
- property camera: Camera¶
The camera instance to perform OpNav on.
This should be an instance of the
Cameraclass or one of its subclasses.See the
Cameraclass documentation for more details
- scene: Scene | None = None¶
Optionally, a scene defining the targets that may be in the FOV of the camera used to reject points interior to a body as stars.
If
Nonethen no attempt is made to reject points that might be interior to a body. If notNonethen we will attempt to reject these points using a priori knowledge.
- use_weights: bool = False¶
A flag specifying whether to use weighted estimation for attitude estimation
- point_of_interest_finder_options: PointOfInterestFinderOptions | None¶
Options to use to initialize the point of interest finder instance.
- star_id_options: StarIDOptions¶
Options to use to initialize the star_id instance
- attitude_estimator_options: AttitudeEstimatorOptions | ESOQ2Options | None = None¶
Options to use to initialize the attitude estimator instance
- custom_attitude_estimator_class: type[AttitudeEstimator] | None = None¶
A custom attitude estimator class to use instead of one of the standard provided ones
- attitude_estimator_type: AttitudeEstimatorImplementations = 1¶
Which attitude estimator to use.
For a custom implementation choose CUSTOM
- denoising: DENOISING_TYPE | None¶
What denoising to apply to the image before looking for stars.
Generally the default (GaussianDenoising) should be fine and you can probably have success with NlMeansDenoising as well.
If None then no denoising is applied.
- use_weights: bool = False¶
A flag specifying whether to use weighted estimation for attitude estimation
Summary of Methods
This is essentially an alias to the |
|
This method resets the star_id object to it original settings at initialization |
|
This method updates the attributes of the |
|
This method resets the settings for the point of interest finder to their original values at initialization. |
|
This method updates the attributes of the |
|
This method resets the settings for the attitude_estimator to the original settings used at initialization. |
|
This method updates the attributes of the |
|
This method identifies stars for each image turned on in the |
|
This method updates the unit vectors and reprojects the stars using updated camera and attitude models. |
|
This method estimates an updated attitude for each image based on the identified stars in the image. |
|
This method generate a summary of the star identification results overall and for each image and prints it to stdout. |
|
This method calculates the residuals for matched stars for a given image number in the |
|
This method removes specified matched stars for a given image number in the |
|
This method review outliers for all images within a camera object and allows for them to be removed through a simple gui. |
|
This method removes outliers for all images within a camera object. |
|
This clears all results arrays and resets them to their original values. |