LOST  0.0.1
LOST: Open-source Star Tracker
star-id.hpp
Go to the documentation of this file.
1 #ifndef STAR_ID_H
2 #define STAR_ID_H
3 
4 #include <vector>
5 
6 #include "centroiders.hpp"
7 #include "star-utils.hpp"
8 #include "camera.hpp"
9 
10 namespace lost {
11 
17 public:
20  const unsigned char *database, const Stars &, const Catalog &, const Camera &) const = 0;
21 
22  virtual ~StarIdAlgorithm() { };
23 };
24 
26 class DummyStarIdAlgorithm final : public StarIdAlgorithm {
27 public:
28  StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const;
29 };
30 
36 public:
37  StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const;
38 
42  explicit GeometricVotingStarIdAlgorithm(decimal tolerance): tolerance(tolerance) { };
43 private:
44  decimal tolerance;
45 };
46 
47 
53 public:
54  StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const;
63  PyramidStarIdAlgorithm(decimal tolerance, int numFalseStars, decimal maxMismatchProbability, long cutoff)
64  : tolerance(tolerance), numFalseStars(numFalseStars),
65  maxMismatchProbability(maxMismatchProbability), cutoff(cutoff) { };
66 private:
67  decimal tolerance;
68  int numFalseStars;
69  decimal maxMismatchProbability;
70  long cutoff;
71 };
72 
73 }
74 
75 #endif
A full description of a camera. Enough information to reconstruct the camera matrix and then some.
Definition: camera.hpp:9
A star-id algorithm that returns random results. For debugging.
Definition: star-id.hpp:26
StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const
Actualy perform the star idenification. This is the "main" function for StarIdAlgorithm.
Definition: star-id.cpp:16
A star-id algorithm based on assigning votes for each centroid-catalog pair then choosing the highest...
Definition: star-id.hpp:35
GeometricVotingStarIdAlgorithm(decimal tolerance)
Definition: star-id.hpp:42
StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const
Actualy perform the star idenification. This is the "main" function for StarIdAlgorithm.
Definition: star-id.cpp:29
The "de facto" star-id algorithm used in many real-world missions.
Definition: star-id.hpp:52
PyramidStarIdAlgorithm(decimal tolerance, int numFalseStars, decimal maxMismatchProbability, long cutoff)
Definition: star-id.hpp:63
StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const
Actualy perform the star idenification. This is the "main" function for StarIdAlgorithm.
Definition: star-id.cpp:571
A star idenification algorithm.
Definition: star-id.hpp:16
virtual ~StarIdAlgorithm()
Definition: star-id.hpp:22
virtual StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const =0
Actualy perform the star idenification. This is the "main" function for StarIdAlgorithm.
double decimal
Definition: decimal.hpp:11
LOST starting point.
std::vector< StarIdentifier > StarIdentifiers
Definition: star-utils.hpp:102
std::vector< Star > Stars
Definition: star-utils.hpp:101
std::vector< CatalogStar > Catalog
Definition: star-utils.hpp:100