Spacecraft Control Framework 1.0
Spacecraft Control Library
sc_star_meas.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------------------
2// Performs star identification.
3//-----------------------------------------------------------------------------------------
4// Copyright (c) 2009 Princeton Satellite Systems. All rights reserved.
5//-----------------------------------------------------------------------------------------
6
12#ifndef __STAR_MEAS__
13#define __STAR_MEAS__
14
15#ifdef AS_OS_WINDOWS
16 #include "matrixlib.h"
17#else
18 #include <MatrixLib/MatrixLib.h>
19#endif
20#include "sc_star_catalog.h"
21
22
30{
31
32 public:
34 star_meas( void );
36 void Initialize( const ml_matrix& starMatrix, double fieldOfView, double angularResolution, double intTol, double fScale );
38 void Initialize( double fieldOfView, double angularResolution, double intTol, double fScale );
40 void SetStarData( const ml_matrix& u_stars, const ml_matrix& visual_magnitude, const ml_int_array& star_ids );
42 void SetStarMatrix( const ml_matrix& star_catalog );
44 void SetParams( double fieldOfView, double fScale );
46 void StarIdentification( const ml_matrix& pixelLocation, const ml_matrix& pixelIntensity );
48 void Pyramid(const ml_matrix& pixelLocation);
50 ml_matrix GetIdentifiedStars( void );
52 ml_int_array GetStarHipparcosIDs( void );
54 ml_matrix GetMeasuredUnitVectors( void );
58 ml_matrix GetNearMatrix( void );
60 void set_verbosity(int level);
61
62
63 private:
65 ml_matrix uStars;
67 ml_matrix intensity;
69 ml_int_array ids;
71 ml_matrix starCatalog;
73 ml_matrix nearMatrix;
75 ml_matrix dotMatrix;
77 ml_matrix uMeas;
79 ml_matrix starId;
81 double angularResolution;
83 double fieldOfView;
85 double fScale;
87 double intTol;
89 double dPTol;
91 int nStars;
93 int nMaxPaths;
95 near_matrix nm;
97 int verbosity = 0;
98
99
100
101 void StarSelectionPath( const ml_matrix& pixelLocation, const ml_matrix& pixelIntensity );
102 void GenerateNearMatrix();
103
104};
105
106
107#endif
Near matrix class.
Definition: sc_star_catalog.h:154
Star catalog.
Definition: sc_star_catalog.h:80
Identifies stars from a star catalog assuming a pinhole camera model.
Definition: sc_star_meas.h:30
void set_verbosity(int level)
Set the verbosity level.
Definition: sc_star_meas.cc:31
ml_matrix GetMeasuredUnitVectors(void)
Get the unit vectors.
Definition: sc_star_meas.cc:72
void Initialize(const ml_matrix &starMatrix, double fieldOfView, double angularResolution, double intTol, double fScale)
Initialize with a star matrix ([i;u].
Definition: sc_star_meas.cc:111
void SetParams(double fieldOfView, double fScale)
Set parameters that might change after initialization.
Definition: sc_star_meas.cc:225
ml_int_array GetStarHipparcosIDs(void)
Get the Hipparcos IDs of identified stars.
Definition: sc_star_meas.cc:52
void SetStarData(const ml_matrix &u_stars, const ml_matrix &visual_magnitude, const ml_int_array &star_ids)
Set the catalog star data.
Definition: sc_star_meas.cc:172
void SetStarMatrix(const ml_matrix &star_catalog)
Set the catalog star matrix.
Definition: sc_star_meas.cc:158
ml_matrix GetNearMatrix(void)
Get the near matrix.
Definition: sc_star_meas.cc:96
void Pyramid(const ml_matrix &pixelLocation)
Pyramid method.
Definition: sc_star_meas.cc:444
star_meas(void)
Constructor.
Definition: sc_star_meas.cc:20
ml_matrix GetIdentifiedStars(void)
Get the list of identified stars.
Definition: sc_star_meas.cc:42
void StarIdentification(const ml_matrix &pixelLocation, const ml_matrix &pixelIntensity)
Perform star identification.
Definition: sc_star_meas.cc:246
int GetNumberOfIdentifiedStars(void)
Get the number of identified stars.
Definition: sc_star_meas.cc:81
Star catalog class definitions.