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.estimators
objects 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_snrs
unmatched_catalog_image_points
,unmatched_image_illums
,unmatched_psfs
,unmatched_stats
,unmatched_snrs
unmatched_catalog_star_records
,unmatched_catalog_unit_vectors
,unmatched_extracted_image_points
,matched_catalog_image_points
,matched_image_illums
,matched_psfs
,matched_stats
,matched_snrs
matched_catalog_star_records
,matched_catalog_unit_vectors_inertial
,matched_catalog_unit_vectors_camera
, andmatched_extracted_image_points
attributes, 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_opnav
routines with updated attitude solutions. It also respects theimage_mask
attribute of theCamera
object, only considering images that are currently turned on.- Parameters:
camera (Camera) – The
Camera
object containing the camera model and images to be utilizedoptions (StellarOpNavOptions | None) – The options to use to configure the class. If None, the defaults from
StellarOpNavOptions
are 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
StarID
class.See the
StarID
class 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
AttitudeEstimator
class.See the
AttitudeEstimator
class documentation for more details
- property point_of_interest_finder: PointOfInterestFinder¶
The
PointOfInterestFinder
instance 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
camera
for 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_vectors
andqueried_catalog_image_points
arrays.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_vectors
array and the corresponding row in thequeried_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_points
array and the corresponding row in thequeried_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_points
array and the corresponding row in thequeried_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_points
array and the corresponding row in thequeried_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_illums
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
that 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_points
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
that 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_points
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
that 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_points
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
that 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_points
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
for 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_vectors
andunmatched_catalog_image_points
arrays.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_vectors
array and the corresponding row in theunmatched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_points
array and the corresponding row in theunmatched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_points
array and the corresponding row in theunmatched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_points
array and the corresponding row in theunmatched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
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 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.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
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 length n array of image DN values. Each row of the array matches to the corresponding column in the
unmatched_extracted_image_points
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
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 length n array of OpenCV connected components statistics. Each row of the array matches to the corresponding column in the
unmatched_extracted_image_points
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
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 length n array of OpenCV connected components statistics. Each row of the array matches to the corresponding column in the
unmatched_extracted_image_points
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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_points
arrays.Each object should be a
PointSpreadFunction
. See the documentation for thepoint_spread_functions
package for details.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
for 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_points
arrays, and the corresponding row in thematched_image_illums
array.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
from 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_points
arrays, and the corresponding row in thematched_image_illums
andmatched_catalog_star_records
arrays.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
from 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_points
arrays, and the corresponding rows in thematched_image_illums
andmatched_catalog_star_records
arrays.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
from 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_points
arrays, and the corresponding rows in thematched_image_illums
andmatched_catalog_star_records
arrays.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
from 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_points
array and the corresponding row in thematched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
from 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_points
array and the corresponding row in thematched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.
- 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
camera
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 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_points
arrays, and the corresponding row in thematched_image_illums
andmatched_catalog_star_records
arrays.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
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 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_points
arrays, and the corresponding row in thematched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
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 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_points
arrays, and the corresponding row in thematched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
camera
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 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_points
arrays, and the corresponding row in thematched_catalog_star_records
DataFrame.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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_psf
is 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_points
arrays, and the corresponding row in thematched_catalog_star_records
DataFrame. The PSF object in each element is the same type asImageProcessing.centroiding
. See the documentation for thepoint_spread_functions
package for details.This list should always be the same length as the
Camera.images
list and each element of this list corresponds to the image in the same element in theCamera.images
list.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
Camera
class or one of its subclasses.See the
Camera
class 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
None
then no attempt is made to reject points that might be interior to a body. If notNone
then 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. |