giant.calibration.calibration_class.Calibration¶
- class giant.calibration.calibration_class.Calibration(camera, use_weights=False, image_processing=None, image_processing_kwargs=None, star_id=None, star_id_kwargs=None, alignment_base_frame_func=None, attitude_estimator=None, attitude_estimator_kwargs=None, static_alignment_estimator=None, static_alignment_estimator_kwargs=None, temperature_dependent_alignment_estimator=None, temperature_dependent_alignment_estimator_kwargs=None, calibration_estimator=None, calibration_estimator_kwargs=None)[source]¶
Bases:
StellarOpNav
This class serves as the main user interface for performing geometric camera calibration and camera frame attitude alignment.
The class acts as a container for the
Camera
,ImageProcessing
, andstellar_opnav.estimators
,calibration.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 and camera calibration/alignment easy. The first is it provides aliases to the image processing, star id, attitude estimation, calibration estimation, and alignment estimation objects. These aliases make it easy to quickly change/update the various tuning parameters that are necessary to make star identification and calibration 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, attitude estimation, camera calibration, and aligment estimation after you have set the tuning parameters. These methods (
id_stars()
,sid_summary()
,estimate_attitude()
,estimate_calibration()
,calib_summary()
,estimate_static_alignment()
, andestimate_temperature_dependent_alignment()
) 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_catalogue_star_records
,queried_catalogue_image_points
,queried_catalogue_unit_vectors
,ip_extracted_image_points
,ip_image_illums
,ip_psfs
,ip_stats
,ip_snrs
,unmatched_catalogue_image_points
,unmatched_image_illums
,unmatched_psfs
,unmatched_stats
,unmatched_snrs
unmatched_catalogue_star_records
,unmatched_catalogue_unit_vectors
,unmatched_extracted_image_points
,matched_catalogue_image_points
,matched_image_illums
,matched_psfs
,matched_stats
,matched_snrs
matched_catalogue_star_records
,matched_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
, andmatched_extracted_image_points
attributes, enabling more advanced analysis to be performed external to the class.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 stores the estimated camera model in the original camera model itself, and store the estimated alignments in thestatic_alignment
andtemperature_dependent_alignment
attributes. Finally, this class respects theimage_mask
attribute of theCamera
object, only considering images that are currently turned on.When initializing this class, most of the initial options can be set using the
*_kwargs
inputs with dictionaries specifying the keyword arguments and values. Alternatively, you can provide already initialized instances of theImageProcessing
,AttitudeEstimator
,StarID
,CalibrationEstimator
,StaticAlignmentEstimator
, orTemperatureDependentAlignmentEstimator
classes or subclasses if you want a little more control. You should see the documentation for these classes for more details on what you can do with them.- Parameters:
camera (Camera) – The
Camera
object containing the camera model and images to be utilizeduse_weights (bool) – A flag specifying whether to use weighted estimation for attitude, alignment, and calibration
alignment_base_frame_func (Callable | None) – A callable object which returns the orientation of the base frame with respect to the inertial frame the alignment of the camera frame is to be done with respect to for a given date.
image_processing (ImageProcessing | None) – An already initialized instance of
ImageProcessing
(or a subclass). If notNone
thenimage_processing_kwargs
are ignored.image_processing_kwargs (dict | None) – The keyword arguments to pass to the
ImageProcessing
class constructor. These are ignored if argumentimage_processing
is notNone
star_id (StarID | None) – An already initialized instance of
StarID
(or a subclass). If notNone
thenstar_id_kwargs
are ignored.star_id_kwargs (dict | None) – The keyword arguments to pass to the
StarID
class constructor as a dictionary. These are ignored if argumentstar_id
is notNone
.attitude_estimator (AttitudeEstimator | None) – An already initialized instance of
AttitudeEstimator
(or a subclass). If notNone
thenattitude_estimator_kwargs
are ignored.attitude_estimator_kwargs (dict | None) – The keyword arguments to pass to the
DavenportQMethod
constructor as a dictionary. If argumentattitude_estimator
is notNone
then this is ignored.static_alignment_estimator (StaticAlignmentEstimator | None) – An already initialized instance of
StaticAlignmentEstimator
(or a subclass). If notNone
thenstatic_alignment_estimator_kwargs
are ignored.static_alignment_estimator_kwargs (dict | None) – The keyword arguments to pass to the
StaticAlignmentEstimator
constructor as a dictionary. If argumentstatic_alignment_estimator
is notNone
then this is ignored.temperature_dependent_alignment_estimator (TemperatureDependentAlignmentEstimator | None) – An already initialized instance of
TemperatureDependentAlignmentEstimator
(or a subclass). If notNone
thentemperature_dependent_alignment_estimator_kwargs
are ignored.temperature_dependent_alignment_estimator_kwargs (dict | None) – The keyword arguments to pass to the
TemperatureDependentAlignmentEstimator
constructor as a dictionary. If argumenttemperature_dependent_alignment_estimator
is notNone
then this is ignored.calibration_estimator (CalibrationEstimator | None) – An already initialized instance of
CalibrationEstimator
(or a subclass). If notNone
thencalibration_estimator_kwargs
are ignored.calibration_estimator_kwargs (dict | None) – The keyword arguments to pass to the
IterativeNonlinearLSTSQ
constructor as a dictionary. If argumentstatic_alignment_estimator is not ``None
then this is ignored.
- use_weights¶
A flag specifying whether to compute weights/use them in the attitude estimation routine
- alignment_base_frame_func: Callable | None¶
A callable object which returns the orientation of the base frame with respect to the inertial frame the alignment of the camera frame is to be done with respect to for a given date.
This is used on calls to
estimate_static_alignment()
and :meth`estimate_temperature_dependent_alignment` to determine the base frame the alignment is being done with respect to. Typically this returns something like the spacecraft body frame with respect to the inertial frame (inertial to spacecraft body) or another camera frame.
- static_alignment: Rotation | None¶
The static alignment as a
Rotation
object.This will be none until the
estimate_static_alignment()
method is called at which point it will contain the estimated alignment.
- temperature_dependent_alignment: NONEARRAY¶
The temperature dependent alignment as a 3x2 numpy array.
The temperature dependent alignment array is stored such that the first column is the static offset for the alignment, the second column is the temperature dependent slope, and each row represents the euler angle according to the requested order (so if the requested order is
'xyx'
then the rotation from the base frame to the camera frame at temperaturet
can be computed using:>>> from giant.rotations import euler_to_rotmat, Rotation >>> import numpy as np >>> temperature_dependent_alignment = np.arange(6).reshape(3, 2) # temp array just to demonstrate >>> t = -22.5 # temp temperature just to demonstrate >>> angles =temperature_dependent_alignment@[1, t] >>> order = 'xyx' >>> rotation_base_to_camera = Rotation(euler_to_rotmat(angles, order))
- 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 calibration_estimator: CalibrationEstimator¶
The calibration estimator to use when estimating the geometric calibration
This should typically be a subclass of the
CalibrationEstimator
meta class.See the
estimators
documentation for more details.
- property static_alignment_estimator: StaticAlignmentEstimator¶
The static alignment estimator to use when estimating the static alignment
This should typically be a subclass of the
StaticAlignmentEstimator
class.See the
estimators
documentation for more details.
- property temperature_dependent_alignment_estimator: TemperatureDependentAlignmentEstimator¶
The temperature_dependent_alignment estimator to use when estimating the temperature_dependent_alignment
This should typically be a subclass of the
TemperatureDependentAlignmentEstimator
class.See the
estimators
documentation for more details.
- 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 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
- property image_processing: ImageProcessing¶
The ImageProcessing instance to use when doing image processing on the images
This must be an instance of the
ImageProcessing
class.See the
ImageProcessing
class documentation for more details
- 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¶
The attitude estimator to use in the RANSAC algorithm
This should typically be an instance of the
DavenportQMethod
class.See the
DavenportQMethod
class documentation for more details
- property queried_catalogue_star_records: List[DataFrame | None]¶
This list contains all of the star records queried from the star catalogue for each image in
camera
for the most recent query to star catalogue (this gets overwritten when the star catalogue 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 catalogue.
‘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 catalogue
‘ra_sigma’
deg
The formal uncertainty in the right ascension according to the catalogue
‘dec_sigma’
deg
The formal uncertainty in the declination according to the catalogue
‘distance_sigma’
km
The formal uncertainty in the distance according to the catalogue (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 catalogue
‘dec_pm_sigma’
deg/year
The formal uncertainty in the declination proper motion according to the catalogue
Each row of the data frame represents a star record. Each row of the DataFrame matches to the corresponding column in the
queried_catalogue_unit_vectors
andqueried_catalogue_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_catalogue_image_points: List[ndarray | None]¶
This list contains the projections of all of the star records queried from the star catalogue for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue 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_catalogue_unit_vectors
array and the corresponding row in thequeried_catalogue_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_catalogue_unit_vectors: List[ndarray | None]¶
This list contains the inertial unit vectors of all of the star records queried from the star catalogue for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue 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_catalogue_image_points
array and the corresponding row in thequeried_catalogue_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 | None]¶
This list contains the uncertainty of all of the star records queried from the star catalogue for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalogue 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_catalogue_image_points
array and the corresponding row in thequeried_catalogue_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 | None]¶
This list contains the uncertainty of all of the star records queried from the star catalogue for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalogue 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_catalogue_image_points
array and the corresponding row in thequeried_catalogue_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 ip_extracted_image_points: List[ndarray | 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
ip_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 ip_image_illums: List[ndarray | 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
ip_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 ip_stats: List[ndarray | 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
ip_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 ip_snrs: List[ndarray | 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
ip_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 ip_psfs: List[ndarray | 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).This list is only updated if
ImageProcessing.save_psf
is set toTrue
.Each list element is a length n array of PSF objects. Each element of the array matches to the corresponding column in the
ip_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_catalogue_star_records: List[DataFrame | None]¶
This list contains the star records queried from the star catalogue 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 catalogue.
‘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 catalogue
‘ra_sigma’
deg
The formal uncertainty in the right ascension according to the catalogue
‘dec_sigma’
deg
The formal uncertainty in the declination according to the catalogue
‘distance_sigma’
km
The formal uncertainty in the distance according to the catalogue (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 catalogue
‘dec_pm_sigma’
deg/year
The formal uncertainty in the declination proper motion according to the catalogue
Each row of the data frame represents a star record. Each row of the DataFrame matches to the corresponding column in the
unmatched_catalogue_unit_vectors
andunmatched_catalogue_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_catalogue_image_points: List[ndarray | None]¶
This list contains the projections of the star records queried from the star catalogue 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_catalogue_unit_vectors
array and the corresponding row in theunmatched_catalogue_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_catalogue_unit_vectors: List[ndarray | None]¶
This list contains the inertial unit vectors of the star records queried from the star catalogue 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_catalogue_image_points
array and the corresponding row in theunmatched_catalogue_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 | None]¶
This list contains the image points of interest that were not matched with a catalogue 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 | None]¶
This list contains the DN values of the pixel containing the image points of interest that are not matched with a catalogue 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 | None]¶
This list contains the connected component stats of each object that is not matched with a catalogue 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 | None]¶
This list contains the peak snr value of each object that is not matched with a catalogue 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[ndarray | 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).
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
unmatched_catalogue_unit_vectors
,unmatched_catalogue_image_points
, and theunmatched_extracted_image_points
arrays. 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.
- property unmatched_weights_inertial: List[ndarray | None]¶
This list contains the uncertainty of all of the star records queried from the star catalogue that were not matched with an image point of interest for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalogue 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_catalogue_image_points
array and the corresponding row in theunmatched_catalogue_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 | None]¶
This list contains the uncertainty of all of the star records queried from the star catalogue that were not matched with with an image point of interest for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalogue 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_catalogue_image_points
array and the corresponding row in theunmatched_catalogue_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_catalogue_star_records: List[DataFrame | None]¶
This list contains the star records queried from the star catalogue 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 catalogue.
‘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 catalogue
‘ra_sigma’
deg
The formal uncertainty in the right ascension according to the catalogue
‘dec_sigma’
deg
The formal uncertainty in the declination according to the catalogue
‘distance_sigma’
km
The formal uncertainty in the distance according to the catalogue (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 catalogue
‘dec_pm_sigma’
deg/year
The formal uncertainty in the declination proper motion according to the catalogue
Each row of the data frame represents a star record. Each row of the DataFrame matches to the corresponding column in the
matched_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
,matched_catalogue_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_catalogue_image_points: List[ndarray | None]¶
This list contains the projections of the star records queried from the star catalogue 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_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
, andmatched_extracted_image_points
arrays, and the corresponding row in thematched_image_illums
andmatched_catalogue_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_catalogue_unit_vectors_inertial: List[ndarray | None]¶
This list contains the inertial unit vectors of the star records queried from the star catalogue 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_catalogue_unit_vectors_camera
,matched_catalogue_image_points
, andmatched_extracted_image_points
arrays, and the corresponding rows in thematched_image_illums
andmatched_catalogue_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_catalogue_unit_vectors_camera: List[ndarray | None]¶
This list contains the camera frame unit vectors of the star records queried from the star catalogue 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_catalogue_unit_vectors_inertial
,matched_catalogue_image_points
, andmatched_extracted_image_points
arrays, and the corresponding rows in thematched_image_illums
andmatched_catalogue_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_extracted_image_points: List[ndarray | None]¶
This list contains the image points of interest that are matched with a catalogue 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_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
, andmatched_catalogue_image_points
arrays, and the corresponding row in thematched_image_illums
andmatched_catalogue_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 | None]¶
This list contains the DN values of the pixel containing the image points of interest that are matched with a catalogue 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_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
,matched_catalogue_image_points
, andmatched_extracted_image_points
arrays, and the corresponding row in thematched_catalogue_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 | None]¶
This list contains the connected component stats of each object that is matched with a catalogue 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_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
,matched_catalogue_image_points
, andmatched_extracted_image_points
arrays, and the corresponding row in thematched_catalogue_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 | None]¶
This list contains the peak snr value of each object that is matched with a catalogue 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_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
,matched_catalogue_image_points
, andmatched_extracted_image_points
arrays, and the corresponding row in thematched_catalogue_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[ndarray | 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_catalogue_unit_vectors_inertial
,matched_catalogue_unit_vectors_camera
,matched_catalogue_image_points
, andmatched_extracted_image_points
arrays, and the corresponding row in thematched_catalogue_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 matched_weights_inertial: List[ndarray | None]¶
This list contains the uncertainty of all of the star records queried from the star catalogue that were matched with an image point of interest for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalogue 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_catalogue_image_points
array and the corresponding row in thematched_catalogue_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 | None]¶
This list contains the uncertainty of all of the star records queried from the star catalogue that were matched with with an image point of interest for each image in
camera
from the most recent query to star catalogue (this gets overwritten when the star catalogue is re-queried for the image). The uncertainties are based on the formal uncertainty of the star location according to the star catalogue 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_catalogue_image_points
array and the corresponding row in thematched_catalogue_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.
Summary of Methods
This method identifies stars for each image turned on in the |
|
This method estimates an updated attitude for each image based on the identified stars in the image. |
|
This method estimates an updated camera model using all stars identified in all images that are turned on. |
|
This method estimates a static (not temeprature dependent) alignment between a base frame and the camera frame over multiple images. |
|
This method estimates a temperature dependent (not static) alignment between a base frame and the camera frame over multiple images. |
|
This prints a summary of the results of calibration to the screen |
|
This method generate a summary of the star identification results overall and for each image and prints it to stdout. |
|
This is essentially an alias to the |
|
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 method updates the unit vectors and reprojects the stars using updated camera and attitude models. |
|
This method resets all settings to their initially provided values (at class construction) |
|
This method replaces the existing image processing instance with a new instance using the initial |
|
This method replaces the existing star ID instance with a new instance using the initial |
|
This method replaces the existing attitude estimator instance with a new instance using the initial |
|
This method resets the existing calibration estimator instance with a new instance using the initial |
|
This method replaces the existing static alignment estimator instance with a new instance using the initial |
|
This method replaces the existing temperature_dependent_alignment estimator instance with a new instance using the initial |
|
This method updates all settings to their provided values |
|
This method updates the attributes of the |
|
This method updates the attributes of the |
|
This method updates the attributes of the |
|
This method updates the attributes of the |
|
This method updates the attributes of the |
|
This method updates the attributes of the |
|
This method removes stars from the |