diff --git a/annotated.html b/annotated.html index c9aa50ce..f47ebc8a 100644 --- a/annotated.html +++ b/annotated.html @@ -94,9 +94,9 @@  CDavenportQAlgorithmA slow but reliable attitude estimation algorithm  CTriadAlgorithmA fast attitude estimator which only takes into account information from two stars  CQuestAlgorithmA faster and just as accurate attitude estimator as the Davenport Q algorithm - CVec2A two dimensional vector with floating point components - CVec3Three dimensional vector with floating point components - CMat33x3 vector with floating point components + CVec2A two dimensional vector with decimaling point components + CVec3Three dimensional vector with decimaling point components + CMat33x3 vector with decimaling point components  CEulerAnglesA "human-readable" way to represent a 3d rotation or orientation  CQuaternionA quaternion is a common way to represent a 3d rotation  CAttitudeThe attitude (orientation) of a spacecraft @@ -110,7 +110,7 @@  CKVectorPair  CKVectorIndexA data structure enabling constant-time range queries into fixed numerical data  CPairDistanceKVectorDatabaseA database storing distances between pairs of stars - CMultiDatabaseA database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database + CMultiDatabase  CMultiDatabaseEntry  CGeneratedStarA star used in simulated image generation. Contains extra data about how to simulate the star  CCentroidComparisonThe result of comparing actual and expected centroids Used for debugging and benchmarking @@ -142,7 +142,7 @@ diff --git a/attitude-estimators_8cpp.html b/attitude-estimators_8cpp.html index a6393d53..31344aad 100644 --- a/attitude-estimators_8cpp.html +++ b/attitude-estimators_8cpp.html @@ -94,27 +94,31 @@
#include "attitude-estimators.hpp"
#include <eigen3/Eigen/Dense>
#include <eigen3/Eigen/Eigenvalues>
+#include "decimal.hpp"
Include dependency graph for attitude-estimators.cpp:
- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
@@ -128,20 +132,20 @@ - +

Macros

#define EPSILON   0.0001
#define EPSILON   DECIMAL(0.0001)
 
- - - - - - - - - + + + + + + + + +

Functions

float lost::QuestCharPoly (float x, float a, float b, float c, float d, float s)
 Characteristic polynomial of the quest K-matrix. More...
 
float lost::QuestCharPolyPrime (float x, float a, float b, float c)
 Derivitive of the characteristic polynomial of the quest K-matrix. More...
 
float lost::QuestEigenvalueEstimator (float guess, float a, float b, float c, float d, float s)
 Approximates roots of a real function using the Newton-Raphson algorithm. More...
 
decimal lost::QuestCharPoly (decimal x, decimal a, decimal b, decimal c, decimal d, decimal s)
 Characteristic polynomial of the quest K-matrix. More...
 
decimal lost::QuestCharPolyPrime (decimal x, decimal a, decimal b, decimal c)
 Derivitive of the characteristic polynomial of the quest K-matrix. More...
 
decimal lost::QuestEigenvalueEstimator (decimal guess, decimal a, decimal b, decimal c, decimal d, decimal s)
 Approximates roots of a real function using the Newton-Raphson algorithm. More...
 

Macro Definition Documentation

@@ -151,12 +155,12 @@

- +
#define EPSILON   0.0001#define EPSILON   DECIMAL(0.0001)
@@ -166,7 +170,7 @@

    - +
diff --git a/attitude-estimators_8cpp.js b/attitude-estimators_8cpp.js index e4597861..69ae4cb2 100644 --- a/attitude-estimators_8cpp.js +++ b/attitude-estimators_8cpp.js @@ -1,7 +1,7 @@ var attitude_estimators_8cpp = [ [ "EPSILON", "attitude-estimators_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70", null ], - [ "QuestCharPoly", "attitude-estimators_8cpp.html#ab1a9beb3699da6901d13dcebcb0e987b", null ], - [ "QuestCharPolyPrime", "attitude-estimators_8cpp.html#aecb22b335d98f9abefb94e377afa3bdb", null ], - [ "QuestEigenvalueEstimator", "attitude-estimators_8cpp.html#aa3cff2017989bf09b8b4111c1a0bfdf5", null ] + [ "QuestCharPoly", "attitude-estimators_8cpp.html#a94bdddcfa030dfce3201661f42cc7d01", null ], + [ "QuestCharPolyPrime", "attitude-estimators_8cpp.html#ae543ffda8031beff6f8015261f1c495c", null ], + [ "QuestEigenvalueEstimator", "attitude-estimators_8cpp.html#a4c5445cb888227769955b2cdda5ee93a", null ] ]; \ No newline at end of file diff --git a/attitude-estimators_8cpp__incl.map b/attitude-estimators_8cpp__incl.map index 9a14191a..45a94ce4 100644 --- a/attitude-estimators_8cpp__incl.map +++ b/attitude-estimators_8cpp__incl.map @@ -1,18 +1,21 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/attitude-estimators_8cpp__incl.md5 b/attitude-estimators_8cpp__incl.md5 index a9c9702d..e33b5018 100644 --- a/attitude-estimators_8cpp__incl.md5 +++ b/attitude-estimators_8cpp__incl.md5 @@ -1 +1 @@ -7933c3c0ab0b15002bf841f6c0caa9d4 \ No newline at end of file +88d7bc60469c1e54c3bfd69a83111deb \ No newline at end of file diff --git a/attitude-estimators_8cpp__incl.png b/attitude-estimators_8cpp__incl.png index 1c12278c..7920877f 100644 Binary files a/attitude-estimators_8cpp__incl.png and b/attitude-estimators_8cpp__incl.png differ diff --git a/attitude-estimators_8cpp_source.html b/attitude-estimators_8cpp_source.html index 0720bb33..ef702dd8 100644 --- a/attitude-estimators_8cpp_source.html +++ b/attitude-estimators_8cpp_source.html @@ -88,236 +88,283 @@
Go to the documentation of this file.
-
2 #include <eigen3/Eigen/Dense>
-
3 #include <eigen3/Eigen/Eigenvalues>
-
4 
-
5 namespace lost {
-
6 
-
7 #define EPSILON 0.0001 // threshold for 0 for Newton-Raphson method
-
8 
- -
10  const Stars &stars,
-
11  const Catalog &catalog,
-
12  const StarIdentifiers &starIdentifiers) {
-
13  if (starIdentifiers.size() < 2) {
-
14  return Attitude();
-
15  }
-
16  assert(stars.size() >= 2);
-
17 
-
18  // attitude profile matrix
-
19  Eigen::Matrix3f B;
-
20  B.setZero();
-
21  for (const StarIdentifier &s : starIdentifiers) {
-
22  Star bStar = stars[s.starIndex];
-
23  Vec3 bStarSpatial = camera.CameraToSpatial(bStar.position);
-
24  Eigen::Vector3f bi;
-
25  bi << bStarSpatial.x, bStarSpatial.y, bStarSpatial.z;
-
26 
-
27  CatalogStar rStar = catalog[s.catalogIndex];
-
28  Eigen::Vector3f ri;
-
29  ri << rStar.spatial.x, rStar.spatial.y, rStar.spatial.z;
-
30 
-
31  //Weight = 1 (can be changed later, in which case we want to make a vector to hold all weights {ai})
-
32  // Calculate matrix B = sum({ai}{bi}{ri}T)
-
33  B += ri * bi.transpose() * s.weight;
-
34  }
-
35 
-
36  // S = B + Transpose(B)
-
37  Eigen::Matrix3f S = B + B.transpose();
-
38  //sigma = B[0][0] + B[1][1] + B[2][2]
-
39  float sigma = B.trace();
-
40  //Z = [[B[1][2] - B[2][1]], [B[2][0] - B[0][2]], [B[0][1] - B[1][0]]]
-
41  Eigen::Vector3f Z;
-
42  Z << B(1,2) - B(2,1),
-
43  B(2,0) - B(0,2),
-
44  B(0,1) - B(1,0);
-
45 
-
46  // K = [[[sigma], [Z[0]], [Z[1]], [Z[2]]], [[Z[0]], [S[0][0] - sigma], [S[0][1]], [S[0][2]]], [[Z[1]], [S[1][0]], [S[1][1] - sigma], [S[1][2]]], [[Z[2]], [S[2][0]], [S[2][1]], [S[2][2] - sigma]]]
-
47  Eigen::Matrix4f K;
-
48  K << sigma, Z(0), Z(1), Z(2),
-
49  Z(0), S(0,0) - sigma, S(0,1), S(0,2),
-
50  Z(1), S(1,0), S(1,1) - sigma, S(1,2),
-
51  Z(2), S(2,0), S(2,1), S(2,2) - sigma;
-
52 
-
53  //Find eigenvalues of K, store the largest one as lambda
-
54  //find the maximum index
-
55  Eigen::EigenSolver<Eigen::Matrix4f> solver(K);
-
56  Eigen::Vector4cf values = solver.eigenvalues();
-
57  Eigen::Matrix4cf vectors = solver.eigenvectors();
-
58  int maxIndex = 0;
-
59  float maxEigenvalue = values(0).real();
-
60  for (int i = 1; i < values.size(); i++) {
-
61  if (values(i).real() > maxEigenvalue) {
-
62  maxIndex = i;
-
63  maxEigenvalue = values(i).real();
-
64  }
-
65  }
-
66 
-
67  //The return quaternion components = eigenvector assocaited with lambda
-
68  Eigen::Vector4cf maxEigenvector = vectors.col(maxIndex);
-
69  // IMPORTANT: The matrix K is symmetric -- clearly first row and first column are equal.
-
70  // Furthermore, S is symmetric because s_i,j = b_i,j + b_j,i and s_j,i=b_j,i + b_i,j, so the
-
71  // bottom right 3x3 block of K is symmetric too. Thus all its eigenvalues and eigenvectors
-
72  // are real.
-
73  return Attitude(Quaternion(maxEigenvector[0].real(),
-
74  maxEigenvector[1].real(),
-
75  maxEigenvector[2].real(),
-
76  maxEigenvector[3].real()));
-
77 }
+
2 
+
3 #include <eigen3/Eigen/Dense>
+
4 #include <eigen3/Eigen/Eigenvalues>
+
5 
+
6 #include "decimal.hpp"
+
7 
+
8 namespace lost {
+
9 
+
10 #define EPSILON DECIMAL(0.0001) // threshold for 0 for Newton-Raphson method
+
11 
+ +
13  const Stars &stars,
+
14  const Catalog &catalog,
+
15  const StarIdentifiers &starIdentifiers) {
+
16  if (starIdentifiers.size() < 2) {
+
17  return Attitude();
+
18  }
+
19  assert(stars.size() >= 2);
+
20 
+
21  // attitude profile matrix
+
22  #ifdef LOST_FLOAT_MODE
+
23  Eigen::Matrix3f B;
+
24  #else
+
25  Eigen::Matrix3d B;
+
26  #endif
+
27 
+
28 
+
29  B.setZero();
+
30  for (const StarIdentifier &s : starIdentifiers) {
+
31  Star bStar = stars[s.starIndex];
+
32  Vec3 bStarSpatial = camera.CameraToSpatial(bStar.position);
+
33 
+
34  #ifdef LOST_FLOAT_MODE
+
35  Eigen::Vector3f bi;
+
36  Eigen::Vector3f ri;
+
37  #else
+
38  Eigen::Vector3d bi;
+
39  Eigen::Vector3d ri;
+
40  #endif
+
41 
+
42  bi << bStarSpatial.x, bStarSpatial.y, bStarSpatial.z;
+
43 
+
44  CatalogStar rStar = catalog[s.catalogIndex];
+
45  ri << rStar.spatial.x, rStar.spatial.y, rStar.spatial.z;
+
46  //Weight = 1 (can be changed later, in which case we want to make a vector to hold all weights {ai})
+
47  // Calculate matrix B = sum({ai}{bi}{ri}T)
+
48  B += ri * bi.transpose() * s.weight;
+
49  }
+
50 
+
51  // S = B + Transpose(B)
+
52  #ifdef LOST_FLOAT_MODE
+
53  Eigen::Matrix3f S = B + B.transpose();
+
54  #else
+
55  Eigen::Matrix3d S = B + B.transpose();
+
56  #endif
+
57 
+
58  //sigma = B[0][0] + B[1][1] + B[2][2]
+
59  decimal sigma = B.trace();
+
60 
+
61  //Z = [[B[1][2] - B[2][1]], [B[2][0] - B[0][2]], [B[0][1] - B[1][0]]]
+
62  #ifdef LOST_FLOAT_MODE
+
63  Eigen::Vector3f Z;
+
64  #else
+
65  Eigen::Vector3d Z;
+
66  #endif
+
67 
+
68  Z << B(1,2) - B(2,1),
+
69  B(2,0) - B(0,2),
+
70  B(0,1) - B(1,0);
+
71 
+
72  // K = [[[sigma], [Z[0]], [Z[1]], [Z[2]]], [[Z[0]], [S[0][0] - sigma], [S[0][1]], [S[0][2]]], [[Z[1]], [S[1][0]], [S[1][1] - sigma], [S[1][2]]], [[Z[2]], [S[2][0]], [S[2][1]], [S[2][2] - sigma]]]
+
73  #ifdef LOST_FLOAT_MODE
+
74  Eigen::Matrix4f K;
+
75  #else
+
76  Eigen::Matrix4d K;
+
77  #endif
78 
-
80 static Mat3 TriadCoordinateFrame(Vec3 v1, Vec3 v2) {
-
81  Vec3 d1 = v1.Normalize();
-
82  Vec3 d2 = v1.CrossProduct(v2).Normalize();
-
83  Vec3 d3 = d1.CrossProduct(d2).Normalize();
-
84  return {
-
85  d1.x, d2.x, d3.x,
-
86  d1.y, d2.y, d3.y,
-
87  d1.z, d2.z, d3.z,
-
88  };
-
89 }
-
90 
- -
92  const Stars &stars,
-
93  const Catalog &catalog,
-
94  const StarIdentifiers &starIds) {
-
95  if (starIds.size() < 2) {
-
96  return Attitude();
-
97  }
-
98  assert(stars.size() >= 2);
-
99 
-
100  // TODO: Better way of picking the two stars
- -
102  a = starIds[0],
-
103  b = starIds[starIds.size()/2];
+
79  K << sigma, Z(0), Z(1), Z(2),
+
80  Z(0), S(0,0) - sigma, S(0,1), S(0,2),
+
81  Z(1), S(1,0), S(1,1) - sigma, S(1,2),
+
82  Z(2), S(2,0), S(2,1), S(2,2) - sigma;
+
83 
+
84  //Find eigenvalues of K, store the largest one as lambda
+
85  //find the maximum index
+
86  #ifdef LOST_FLOAT_MODE
+
87  Eigen::EigenSolver<Eigen::Matrix4f> solver(K);
+
88  Eigen::Vector4cf values = solver.eigenvalues();
+
89  Eigen::Matrix4cf vectors = solver.eigenvectors();
+
90  #else
+
91  Eigen::EigenSolver<Eigen::Matrix4d> solver(K);
+
92  Eigen::Vector4cd values = solver.eigenvalues();
+
93  Eigen::Matrix4cd vectors = solver.eigenvectors();
+
94  #endif
+
95 
+
96  int maxIndex = 0;
+
97  decimal maxEigenvalue = values(0).real();
+
98  for (int i = 1; i < values.size(); i++) {
+
99  if (values(i).real() > maxEigenvalue) {
+
100  maxIndex = i;
+
101  maxEigenvalue = values(i).real();
+
102  }
+
103  }
104 
-
105  Mat3 photoFrame = TriadCoordinateFrame(camera.CameraToSpatial(stars[a.starIndex].position),
-
106  camera.CameraToSpatial(stars[b.starIndex].position));
-
107  Mat3 catalogFrame = TriadCoordinateFrame(catalog[a.catalogIndex].spatial,
-
108  catalog[b.catalogIndex].spatial);
-
109 
-
110  // Now, we calculate the rotation that would bring the catalog vector to the photo vector. We
-
111  // have the relationship photoFrame = attitude*catalogFrame, and since catalogFrame is an
-
112  // orthogonal matrix, we have attitude = photoFrame*transpase(catalogFrame)
-
113  return Attitude(photoFrame*catalogFrame.Transpose());
-
114 }
-
115 
-
120 float QuestCharPoly(float x, float a, float b, float c, float d, float s) {return (pow(x,2)-a) * (pow(x,2)-b) - (c*x) + (c*s) - d;}
+
105  //The return quaternion components = eigenvector assocaited with lambda
+
106  #ifdef LOST_FLOAT_MODE
+
107  Eigen::Vector4cf maxEigenvector = vectors.col(maxIndex);
+
108  #else
+
109  Eigen::Vector4cd maxEigenvector = vectors.col(maxIndex);
+
110  #endif
+
111 
+
112  // IMPORTANT: The matrix K is symmetric -- clearly first row and first column are equal.
+
113  // Furthermore, S is symmetric because s_i,j = b_i,j + b_j,i and s_j,i=b_j,i + b_i,j, so the
+
114  // bottom right 3x3 block of K is symmetric too. Thus all its eigenvalues and eigenvectors
+
115  // are real.
+
116  return Attitude(Quaternion(maxEigenvector[0].real(),
+
117  maxEigenvector[1].real(),
+
118  maxEigenvector[2].real(),
+
119  maxEigenvector[3].real()));
+
120 }
121 
-
125 float QuestCharPolyPrime(float x, float a, float b, float c) {return 4*pow(x,3) - 2*(a+b)*x - c;}
-
126 
-
131 float QuestEigenvalueEstimator(float guess, float a, float b, float c, float d, float s) {
-
132  float height;
-
133  do {
-
134  height = QuestCharPoly(guess, a, b, c, d, s) / QuestCharPolyPrime(guess, a, b, c);
-
135  guess -= height;
-
136  } while (abs(height) >= EPSILON);
-
137 
-
138  return guess;
-
139 }
-
140 
- -
142  const Stars &stars,
-
143  const Catalog &catalog,
-
144  const StarIdentifiers &starIdentifiers) {
-
145 
-
146  if (starIdentifiers.size() < 2) {
-
147  return Attitude();
-
148  }
-
149  assert(stars.size() >= 2);
-
150 
-
151  // initial guess for eigenvalue (sum of the weights)
-
152  float guess = 0;
-
153 
-
154  // attitude profile matrix
-
155  Mat3 B = {0, 0, 0, 0, 0, 0, 0, 0, 0};
-
156  for (const StarIdentifier &s : starIdentifiers) {
-
157  Star bStar = stars[s.starIndex];
-
158  Vec3 bStarSpatial = camera.CameraToSpatial(bStar.position);
-
159 
-
160  CatalogStar rStar = catalog[s.catalogIndex];
-
161  Vec3 rStarSpatial = {rStar.spatial.x, rStar.spatial.y, rStar.spatial.z};
-
162 
-
163  //Weight = 1 (can be changed later, in which case we want to make a vector to hold all weights {ai})
-
164  // Calculate matrix B = sum({ai}{bi}{ri}T)
-
165  B = B + (rStarSpatial.OuterProduct(bStarSpatial) * s.weight);
-
166 
-
167  // sum up the weights for initial guess of eigenvalue
-
168  guess += s.weight;
-
169  }
-
170 
-
171  // S = B + Transpose(B)
-
172  Mat3 S = B + B.Transpose();
-
173  //sigma = B[0][0] + B[1][1] + B[2][2]
-
174  float sigma = B.Trace();
-
175  //Z = [[B[1][2] - B[2][1]], [B[2][0] - B[0][2]], [B[0][1] - B[1][0]]]
-
176  Vec3 Z = {
-
177  B.At(1,2) - B.At(2,1),
-
178  B.At(2,0) - B.At(0,2),
-
179  B.At(0,1) - B.At(1,0)
-
180  };
-
181 
-
182  // calculate coefficients for characteristic polynomial
-
183  float delta = S.Det();
-
184  float kappa = (S.Inverse() * delta).Trace();
-
185  float a = pow(sigma,2) - kappa;
-
186  float b = pow(sigma,2) + (Z * Z);
-
187  float c = delta + (Z * S * Z);
-
188  float d = Z * (S * S) * Z;
-
189 
-
190  // Newton-Raphson method for estimating the largest eigenvalue
-
191  float eig = QuestEigenvalueEstimator(guess, a, b, c, d, sigma);
-
192 
-
193  // solve for the optimal quaternion: from https://ahrs.readthedocs.io/en/latest/filters/quest.html
-
194  float alpha = pow(eig,2) - pow(sigma, 2) + kappa;
-
195  float beta = eig - sigma;
-
196  float gamma = (eig + sigma) * alpha - delta;
-
197 
-
198  Vec3 X = ((kIdentityMat3 * alpha) + (S * beta) + (S * S)) * Z;
-
199  float scalar = 1 / sqrt(pow(gamma,2) + X.MagnitudeSq());
-
200  X = X * scalar;
-
201  gamma *= scalar;
+
123 static Mat3 TriadCoordinateFrame(Vec3 v1, Vec3 v2) {
+
124  Vec3 d1 = v1.Normalize();
+
125  Vec3 d2 = v1.CrossProduct(v2).Normalize();
+
126  Vec3 d3 = d1.CrossProduct(d2).Normalize();
+
127  return {
+
128  d1.x, d2.x, d3.x,
+
129  d1.y, d2.y, d3.y,
+
130  d1.z, d2.z, d3.z,
+
131  };
+
132 }
+
133 
+ +
135  const Stars &stars,
+
136  const Catalog &catalog,
+
137  const StarIdentifiers &starIds) {
+
138  if (starIds.size() < 2) {
+
139  return Attitude();
+
140  }
+
141  assert(stars.size() >= 2);
+
142 
+
143  // TODO: Better way of picking the two stars
+ +
145  a = starIds[0],
+
146  b = starIds[starIds.size()/2];
+
147 
+
148  Mat3 photoFrame = TriadCoordinateFrame(camera.CameraToSpatial(stars[a.starIndex].position),
+
149  camera.CameraToSpatial(stars[b.starIndex].position));
+
150  Mat3 catalogFrame = TriadCoordinateFrame(catalog[a.catalogIndex].spatial,
+
151  catalog[b.catalogIndex].spatial);
+
152 
+
153  // Now, we calculate the rotation that would bring the catalog vector to the photo vector. We
+
154  // have the relationship photoFrame = attitude*catalogFrame, and since catalogFrame is an
+
155  // orthogonal matrix, we have attitude = photoFrame*transpase(catalogFrame)
+
156  return Attitude(photoFrame*catalogFrame.Transpose());
+
157 }
+
158 
+
163 decimal QuestCharPoly(decimal x, decimal a, decimal b, decimal c, decimal d, decimal s) {return (DECIMAL_POW(x,2)-a) * (DECIMAL_POW(x,2)-b) - (c*x) + (c*s) - d;}
+
164 
+
168 decimal QuestCharPolyPrime(decimal x, decimal a, decimal b, decimal c) {return 4*DECIMAL_POW(x,3) - 2*(a+b)*x - c;}
+
169 
+ +
175  decimal height;
+
176  do {
+
177  height = QuestCharPoly(guess, a, b, c, d, s) / QuestCharPolyPrime(guess, a, b, c);
+
178  guess -= height;
+
179  } while (abs(height) >= EPSILON);
+
180 
+
181  return guess;
+
182 }
+
183 
+ +
185  const Stars &stars,
+
186  const Catalog &catalog,
+
187  const StarIdentifiers &starIdentifiers) {
+
188 
+
189  if (starIdentifiers.size() < 2) {
+
190  return Attitude();
+
191  }
+
192  assert(stars.size() >= 2);
+
193 
+
194  // initial guess for eigenvalue (sum of the weights)
+
195  decimal guess = 0;
+
196 
+
197  // attitude profile matrix
+
198  Mat3 B = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+
199  for (const StarIdentifier &s : starIdentifiers) {
+
200  Star bStar = stars[s.starIndex];
+
201  Vec3 bStarSpatial = camera.CameraToSpatial(bStar.position);
202 
-
203  return Attitude(Quaternion(gamma, X.x, X.y, X.z));
-
204 }
+
203  CatalogStar rStar = catalog[s.catalogIndex];
+
204  Vec3 rStarSpatial = {rStar.spatial.x, rStar.spatial.y, rStar.spatial.z};
205 
-
206 }
-
#define EPSILON
+
206  //Weight = 1 (can be changed later, in which case we want to make a vector to hold all weights {ai})
+
207  // Calculate matrix B = sum({ai}{bi}{ri}T)
+
208  B = B + (rStarSpatial.OuterProduct(bStarSpatial) * s.weight);
+
209 
+
210  // sum up the weights for initial guess of eigenvalue
+
211  guess += s.weight;
+
212  }
+
213 
+
214  // S = B + Transpose(B)
+
215  Mat3 S = B + B.Transpose();
+
216  //sigma = B[0][0] + B[1][1] + B[2][2]
+
217  decimal sigma = B.Trace();
+
218  //Z = [[B[1][2] - B[2][1]], [B[2][0] - B[0][2]], [B[0][1] - B[1][0]]]
+
219  Vec3 Z = {
+
220  B.At(1,2) - B.At(2,1),
+
221  B.At(2,0) - B.At(0,2),
+
222  B.At(0,1) - B.At(1,0)
+
223  };
+
224 
+
225  // calculate coefficients for characteristic polynomial
+
226  decimal delta = S.Det();
+
227  decimal kappa = (S.Inverse() * delta).Trace();
+
228  decimal a = DECIMAL_POW(sigma,2) - kappa;
+
229  decimal b = DECIMAL_POW(sigma,2) + (Z * Z);
+
230  decimal c = delta + (Z * S * Z);
+
231  decimal d = Z * (S * S) * Z;
+
232 
+
233  // Newton-Raphson method for estimating the largest eigenvalue
+
234  decimal eig = QuestEigenvalueEstimator(guess, a, b, c, d, sigma);
+
235 
+
236  // solve for the optimal quaternion: from https://ahrs.readthedocs.io/en/latest/filters/quest.html
+
237  decimal alpha = DECIMAL_POW(eig,2) - DECIMAL_POW(sigma, 2) + kappa;
+
238  decimal beta = eig - sigma;
+
239  decimal gamma = (eig + sigma) * alpha - delta;
+
240 
+
241  Vec3 X = ((kIdentityMat3 * alpha) + (S * beta) + (S * S)) * Z;
+
242  decimal scalar = 1 / DECIMAL_SQRT(DECIMAL_POW(gamma,2) + X.MagnitudeSq());
+
243  X = X * scalar;
+
244  gamma *= scalar;
+
245 
+
246  return Attitude(Quaternion(gamma, X.x, X.y, X.z));
+
247 }
+
248 
+
249 }
+
#define EPSILON
-
The attitude (orientation) of a spacecraft.
+
The attitude (orientation) of a spacecraft.
A full description of a camera. Enough information to reconstruct the camera matrix and then some.
Definition: camera.hpp:9
-
Vec3 CameraToSpatial(const Vec2 &) const
Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
Definition: camera.cpp:34
+
Vec3 CameraToSpatial(const Vec2 &) const
Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
Definition: camera.cpp:35
A star from the Bright Star Catalog.
Definition: star-utils.hpp:12
Vec3 spatial
The point on the unit sphere where the star lies.
Definition: star-utils.hpp:32
-
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
-
3x3 vector with floating point components
-
float Trace() const
Trace of a matrix.
-
Mat3 Inverse() const
Inverse of a matrix.
-
float At(int i, int j) const
Access the i,j-th element of the matrix.
-
Mat3 Transpose() const
Transpose of a matrix.
-
float Det() const
Determinant of a matrix.
-
A quaternion is a common way to represent a 3d rotation.
-
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
+
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
+
3x3 vector with decimaling point components
+
Mat3 Inverse() const
Inverse of a matrix.
+
decimal Det() const
Determinant of a matrix.
+
Mat3 Transpose() const
Transpose of a matrix.
+
decimal Trace() const
Trace of a matrix.
+
decimal At(int i, int j) const
Access the i,j-th element of the matrix.
+
A quaternion is a common way to represent a 3d rotation.
+
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
A "centroid" detected in an image.
Definition: star-utils.hpp:49
Vec2 position
The (x,y) pixel coordinates in the image (top left is 0,0)
Definition: star-utils.hpp:58
Records that a certain Star (detected in the image) corresponds to a certain CatalogStar.
Definition: star-utils.hpp:78
int catalogIndex
An index into an array of CatalogStar objects.
Definition: star-utils.hpp:95
int starIndex
An index into an array of Star objects.
Definition: star-utils.hpp:93
-
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
-
Three dimensional vector with floating point components.
-
Vec3 Normalize() const
Create a vector pointing in the same direction with magnitude 1.
- - -
Mat3 OuterProduct(const Vec3 &) const
The outer product of two vectors.
-
float MagnitudeSq() const
The square of the magnitude.
- -
Vec3 CrossProduct(const Vec3 &) const
Usual vector cross product.
-
LOST starting point.
+
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
+
Three dimensional vector with decimaling point components.
+
Vec3 Normalize() const
Create a vector pointing in the same direction with magnitude 1.
+
decimal MagnitudeSq() const
The square of the magnitude.
+
Mat3 OuterProduct(const Vec3 &) const
The outer product of two vectors.
+ + +
Vec3 CrossProduct(const Vec3 &) const
Usual vector cross product.
+ + +
double decimal
Definition: decimal.hpp:11
+
#define DECIMAL_POW(base, power)
Definition: decimal.hpp:39
+
#define DECIMAL_SQRT(x)
Definition: decimal.hpp:40
+
LOST starting point.
std::vector< StarIdentifier > StarIdentifiers
Definition: star-utils.hpp:102
std::vector< Star > Stars
Definition: star-utils.hpp:101
-
const Mat3 kIdentityMat3
3x3 identity matrix
-
float QuestEigenvalueEstimator(float guess, float a, float b, float c, float d, float s)
Approximates roots of a real function using the Newton-Raphson algorithm.
-
float QuestCharPoly(float x, float a, float b, float c, float d, float s)
Characteristic polynomial of the quest K-matrix.
-
float QuestCharPolyPrime(float x, float a, float b, float c)
Derivitive of the characteristic polynomial of the quest K-matrix.
+
decimal QuestEigenvalueEstimator(decimal guess, decimal a, decimal b, decimal c, decimal d, decimal s)
Approximates roots of a real function using the Newton-Raphson algorithm.
+
const Mat3 kIdentityMat3
3x3 identity matrix
+
decimal QuestCharPoly(decimal x, decimal a, decimal b, decimal c, decimal d, decimal s)
Characteristic polynomial of the quest K-matrix.
+
decimal QuestCharPolyPrime(decimal x, decimal a, decimal b, decimal c)
Derivitive of the characteristic polynomial of the quest K-matrix.
std::vector< CatalogStar > Catalog
Definition: star-utils.hpp:100
@@ -325,7 +372,7 @@ diff --git a/attitude-estimators_8hpp.html b/attitude-estimators_8hpp.html index 8658e9e7..e92e2b71 100644 --- a/attitude-estimators_8hpp.html +++ b/attitude-estimators_8hpp.html @@ -99,20 +99,23 @@
- + - - - - - - - - - - - - + + + + + + + + + + + + + + +
@@ -157,7 +160,7 @@ diff --git a/attitude-estimators_8hpp__incl.map b/attitude-estimators_8hpp__incl.map index cf605d0e..b42b68a7 100644 --- a/attitude-estimators_8hpp__incl.map +++ b/attitude-estimators_8hpp__incl.map @@ -1,16 +1,19 @@ - + - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/attitude-estimators_8hpp__incl.md5 b/attitude-estimators_8hpp__incl.md5 index 2e22e540..24ebe57f 100644 --- a/attitude-estimators_8hpp__incl.md5 +++ b/attitude-estimators_8hpp__incl.md5 @@ -1 +1 @@ -fd616662bf484fd30b932c9bfbc6622e \ No newline at end of file +c02ee7465215ad953959700f604ec0af \ No newline at end of file diff --git a/attitude-estimators_8hpp__incl.png b/attitude-estimators_8hpp__incl.png index 69ab59ff..546d93fd 100644 Binary files a/attitude-estimators_8hpp__incl.png and b/attitude-estimators_8hpp__incl.png differ diff --git a/attitude-estimators_8hpp_source.html b/attitude-estimators_8hpp_source.html index af03e293..a34403e7 100644 --- a/attitude-estimators_8hpp_source.html +++ b/attitude-estimators_8hpp_source.html @@ -127,15 +127,15 @@
An attitude estimation algorithm estimates the orientation of the camera based on identified stars.
virtual Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)=0
Actually run the star-id algorithm.
-
The attitude (orientation) of a spacecraft.
+
The attitude (orientation) of a spacecraft.
A full description of a camera. Enough information to reconstruct the camera matrix and then some.
Definition: camera.hpp:9
A slow but reliable attitude estimation algorithm.
-
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
+
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
A faster and just as accurate attitude estimator as the Davenport Q algorithm.
-
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
+
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
A fast attitude estimator which only takes into account information from two stars.
-
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
-
LOST starting point.
+
Attitude Go(const Camera &, const Stars &, const Catalog &, const StarIdentifiers &)
Actually run the star-id algorithm.
+
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
@@ -146,7 +146,7 @@ diff --git a/attitude-utils_8cpp.html b/attitude-utils_8cpp.html index 441a8373..074ffdc3 100644 --- a/attitude-utils_8cpp.html +++ b/attitude-utils_8cpp.html @@ -95,24 +95,29 @@
#include "attitude-utils.hpp"
#include <math.h>
#include <assert.h>
+#include <cmath>
#include <iostream>
+#include "decimal.hpp"
#include "serialize-helpers.hpp"
Include dependency graph for attitude-utils.cpp:
- - - - - - - - - - - + + + + + + + + + + + + + +
@@ -131,26 +136,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -158,16 +163,16 @@ - + - - - - - - + + + + + +

Functions

Quaternion lost::SphericalToQuaternion (float ra, float dec, float roll)
 Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given right ascension and declination, then roll the coordinate axes counterclockwise (i.e., the stars will appear to rotate clockwise). More...
 
Vec3 lost::SphericalToSpatial (float ra, float de)
 Convert from right ascension & declination to a 3d point on the unit sphere. More...
 
void lost::SpatialToSpherical (const Vec3 &vec, float *ra, float *de)
 Convert from a 3d point on the unit sphere to right ascension & declination. More...
 
float lost::RadToDeg (float rad)
 
float lost::DegToRad (float deg)
 
float lost::RadToArcSec (float rad)
 
float lost::ArcSecToRad (float arcSec)
 
float lost::FloatModulo (float x, float mod)
 Given a float, find it "modulo" another float, in the true mathematical sense (not remainder). More...
 
Quaternion lost::SphericalToQuaternion (decimal ra, decimal dec, decimal roll)
 Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given right ascension and declination, then roll the coordinate axes counterclockwise (i.e., the stars will appear to rotate clockwise). More...
 
Vec3 lost::SphericalToSpatial (decimal ra, decimal de)
 Convert from right ascension & declination to a 3d point on the unit sphere. More...
 
void lost::SpatialToSpherical (const Vec3 &vec, decimal *ra, decimal *de)
 Convert from a 3d point on the unit sphere to right ascension & declination. More...
 
decimal lost::RadToDeg (decimal rad)
 
decimal lost::DegToRad (decimal deg)
 
decimal lost::RadToArcSec (decimal rad)
 
decimal lost::ArcSecToRad (decimal arcSec)
 
decimal lost::DecimalModulo (decimal x, decimal mod)
 Given a decimal, find it "modulo" another decimal, in the true mathematical sense (not remainder). More...
 
Mat3 lost::QuaternionToDCM (const Quaternion &quat)
 Convert a quaternion to a rotation matrix (Direction Cosine Matrix) More...
 
 Convert a rotation matrix (Direction Cosine Matrix) to a quaternion representing the same rotation. More...
 
void lost::SerializeVec3 (SerializeContext *ser, const Vec3 &vec)
 Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3. More...
 Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3. More...
 
Vec3 lost::DeserializeVec3 (DeserializeContext *des)
 
float lost::Angle (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two vectors. More...
 
float lost::AngleUnit (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two /unit/ vectors. More...
 
decimal lost::Angle (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two vectors. More...
 
decimal lost::AngleUnit (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two /unit/ vectors. More...
 
@@ -210,7 +215,7 @@

    - +
diff --git a/attitude-utils_8cpp.js b/attitude-utils_8cpp.js index b2902a98..e74115b4 100644 --- a/attitude-utils_8cpp.js +++ b/attitude-utils_8cpp.js @@ -1,19 +1,19 @@ var attitude_utils_8cpp = [ [ "_MATMUL_ENTRY", "attitude-utils_8cpp.html#a7e0565b1536836146ec7db66a2db60bd", null ], - [ "Angle", "attitude-utils_8cpp.html#a6b951e30f05e0a748e6c906697002093", null ], - [ "AngleUnit", "attitude-utils_8cpp.html#a07ccf05a4c7ac13fbee5edb5beb309bb", null ], - [ "ArcSecToRad", "attitude-utils_8cpp.html#a5bbe6ecaad42a3489cfd2b3482e7fc58", null ], + [ "Angle", "attitude-utils_8cpp.html#a6bdf1016fe03a8c46f98bc4633f644d3", null ], + [ "AngleUnit", "attitude-utils_8cpp.html#a4d066d222770cdbde925ab67813193dc", null ], + [ "ArcSecToRad", "attitude-utils_8cpp.html#a0bf2bbf8b3bc82f9647c9f327d1369de", null ], [ "DCMToQuaternion", "attitude-utils_8cpp.html#a6bb9983e45dfa4b82b531ca96c397eed", null ], - [ "DegToRad", "attitude-utils_8cpp.html#abf3a90819d379c9a4d0c48f385f52613", null ], + [ "DecimalModulo", "attitude-utils_8cpp.html#a8a1cf9ee7fb4af17e417110197dd813e", null ], + [ "DegToRad", "attitude-utils_8cpp.html#a543c802e0faa7d19b8bfb148573309fe", null ], [ "DeserializeVec3", "attitude-utils_8cpp.html#ab5201d0881b201c54c1a7b7c293523ba", null ], - [ "FloatModulo", "attitude-utils_8cpp.html#a01c855b3690f601ec92a40471aa05ebd", null ], [ "QuaternionToDCM", "attitude-utils_8cpp.html#a08209cdf2c6b9415866d576343c35bf2", null ], - [ "RadToArcSec", "attitude-utils_8cpp.html#a86999ae9a82ae57b98cb14dd1654c3f3", null ], - [ "RadToDeg", "attitude-utils_8cpp.html#adc5108f643b7657a835838c7f6411aa7", null ], + [ "RadToArcSec", "attitude-utils_8cpp.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d", null ], + [ "RadToDeg", "attitude-utils_8cpp.html#a65410f365157111a72350076d9c434c0", null ], [ "SerializeVec3", "attitude-utils_8cpp.html#aa2e68349539a9ef5024920ac4595e7e3", null ], - [ "SpatialToSpherical", "attitude-utils_8cpp.html#a922de1d7dbef8e24f5ca6e7505a8e944", null ], - [ "SphericalToQuaternion", "attitude-utils_8cpp.html#a7057fa740aebe1cbd43f3bafafff4ac1", null ], - [ "SphericalToSpatial", "attitude-utils_8cpp.html#a62a70a38d20ca4be158d9f592862aeb4", null ], + [ "SpatialToSpherical", "attitude-utils_8cpp.html#a24e63568aa9052a67ee2a3bc1a7900b3", null ], + [ "SphericalToQuaternion", "attitude-utils_8cpp.html#a562a86693dfa8ef7024526934fbfa8bb", null ], + [ "SphericalToSpatial", "attitude-utils_8cpp.html#a5bcac28daa68fac6e7141aea7d789e10", null ], [ "kIdentityMat3", "attitude-utils_8cpp.html#a66abb8e44054268322b5ccba535bb975", null ] ]; \ No newline at end of file diff --git a/attitude-utils_8cpp__incl.map b/attitude-utils_8cpp__incl.map index 83b6999b..2efb502b 100644 --- a/attitude-utils_8cpp__incl.map +++ b/attitude-utils_8cpp__incl.map @@ -1,13 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/attitude-utils_8cpp__incl.md5 b/attitude-utils_8cpp__incl.md5 index a035732d..470b0dbc 100644 --- a/attitude-utils_8cpp__incl.md5 +++ b/attitude-utils_8cpp__incl.md5 @@ -1 +1 @@ -ae9edaabba4b74a9f01c8db8e7e26d67 \ No newline at end of file +c400df875e8730afd3ebb67430532ab6 \ No newline at end of file diff --git a/attitude-utils_8cpp__incl.png b/attitude-utils_8cpp__incl.png index 01cc180b..ebc8c770 100644 Binary files a/attitude-utils_8cpp__incl.png and b/attitude-utils_8cpp__incl.png differ diff --git a/attitude-utils_8cpp_source.html b/attitude-utils_8cpp_source.html index 08f7321b..0bc1fea8 100644 --- a/attitude-utils_8cpp_source.html +++ b/attitude-utils_8cpp_source.html @@ -91,516 +91,531 @@
2 
3 #include <math.h>
4 #include <assert.h>
-
5 #include <iostream>
-
6 
-
7 #include "serialize-helpers.hpp"
-
8 
-
9 namespace lost {
+
5 #include <cmath>
+
6 #include <iostream>
+
7 
+
8 #include "decimal.hpp"
+
9 #include "serialize-helpers.hpp"
10 
- -
13  return Quaternion(
-
14  real*other.real - i*other.i - j*other.j - k*other.k,
-
15  real*other.i + other.real*i + j*other.k - k*other.j,
-
16  real*other.j + other.real*j + k*other.i - i*other.k,
-
17  real*other.k + other.real*k + i*other.j - j*other.i);
-
18 }
-
19 
- -
22  return Quaternion(real, -i, -j, -k);
-
23 }
-
24 
- -
27  return { i, j, k };
-
28 }
-
29 
-
31 void Quaternion::SetVector(const Vec3 &vec) {
-
32  i = vec.x;
-
33  j = vec.y;
-
34  k = vec.z;
-
35 }
-
36 
- -
39  real = 0;
-
40  SetVector(input);
-
41 }
-
42 
-
44 Quaternion::Quaternion(const Vec3 &input, float theta) {
-
45  real = cos(theta/2);
-
46  // the compiler will optimize it. Right?
-
47  i = input.x * sin(theta/2);
-
48  j = input.y * sin(theta/2);
-
49  k = input.z * sin(theta/2);
-
50 }
-
51 
-
53 Vec3 Quaternion::Rotate(const Vec3 &input) const {
-
54  // TODO: optimize
-
55  return ((*this)*Quaternion(input)*Conjugate()).Vector();
-
56 }
-
57 
-
59 float Quaternion::Angle() const {
-
60  if (real <= -1) {
-
61  return 0; // 180*2=360=0
-
62  }
-
63  // TODO: we shouldn't need this nonsense, right? how come acos sometimes gives nan? (same as in AngleUnit)
-
64  return (real >= 1 ? 0 : acos(real))*2;
-
65 }
-
66 
- -
68  float rawAngle = Angle();
-
69  return rawAngle > M_PI
-
70  ? 2*M_PI - rawAngle
-
71  : rawAngle;
-
72 }
-
73 
-
74 void Quaternion::SetAngle(float newAngle) {
-
75  real = cos(newAngle/2);
-
76  SetVector(Vector().Normalize() * sin(newAngle/2));
-
77 }
-
78 
- -
80  // Working out these equations would be a pain in the ass. Thankfully, this wikipedia page:
-
81  // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion
-
82  // uses almost exactly the same euler angle scheme that we do, so we copy their equations almost
-
83  // wholesale. The only differences are that 1, we use de and roll in the opposite directions,
-
84  // and 2, we store the conjugate of the quaternion (double check why?), which means we need to
-
85  // invert the final de and roll terms, as well as negate all the terms involving a mix between
-
86  // the real and imaginary parts.
-
87  float ra = atan2(2*(-real*k+i*j), 1-2*(j*j+k*k));
-
88  if (ra < 0)
-
89  ra += 2*M_PI;
-
90  float de = -asin(2*(-real*j-i*k)); // allow de to be positive or negaive, as is convention
-
91  float roll = -atan2(2*(-real*i+j*k), 1-2*(i*i+j*j));
-
92  if (roll < 0)
-
93  roll += 2*M_PI;
-
94 
-
95  return EulerAngles(ra, de, roll);
-
96 }
-
97 
-
98 Quaternion SphericalToQuaternion(float ra, float dec, float roll) {
-
99  assert(roll >= 0.0 && roll <= 2*M_PI);
-
100  assert(ra >= 0 && ra <= 2*M_PI);
-
101  assert(dec >= -M_PI && dec <= M_PI);
-
102 
-
103  // when we are modifying the coordinate axes, the quaternion multiplication works so that the
-
104  // rotations are applied from left to right. This is the opposite as for modifying vectors.
-
105 
-
106  // It is indeed correct that a positive rotation in our right-handed coordinate frame is in the
-
107  // clockwise direction when looking down/through the axis of rotation. Just like the right hand
-
108  // rule for magnetic field around a current-carrying conductor.
-
109  Quaternion a = Quaternion({ 0, 0, 1 }, ra);
-
110  Quaternion b = Quaternion({ 0, 1, 0 }, -dec);
-
111  Quaternion c = Quaternion({ 1, 0, 0 }, -roll);
-
112  Quaternion result = (a*b*c).Conjugate();
-
113  assert(result.IsUnit(0.00001));
-
114  return result;
-
115 }
-
116 
-
118 bool Quaternion::IsUnit(float tolerance) const {
-
119  return abs(i*i+j*j+k*k+real*real - 1) < tolerance;
-
120 }
-
121 
- -
126  if (real >= 0) {
-
127  return *this;
-
128  }
-
129 
-
130  return Quaternion(-real, -i, -j, -k);
-
131 }
-
132 
-
134 Vec3 SphericalToSpatial(float ra, float de) {
-
135  return {
-
136  cos(ra)*cos(de),
-
137  sin(ra)*cos(de),
-
138  sin(de),
-
139  };
-
140 }
-
141 
-
143 void SpatialToSpherical(const Vec3 &vec, float *ra, float *de) {
-
144  *ra = atan2(vec.y, vec.x);
-
145  if (*ra < 0)
-
146  *ra += M_PI*2;
-
147  *de = asin(vec.z);
-
148 }
-
149 
-
150 float RadToDeg(float rad) {
-
151  return rad*180.0/M_PI;
-
152 }
-
153 
-
154 float DegToRad(float deg) {
-
155  return deg/180.0*M_PI;
-
156 }
-
157 
-
158 float RadToArcSec(float rad) {
-
159  return RadToDeg(rad) * 3600.0;
-
160 }
-
161 
-
162 float ArcSecToRad(float arcSec) {
-
163  return DegToRad(arcSec / 3600.0);
-
164 }
-
165 
-
166 float FloatModulo(float x, float mod) {
-
167  // first but not last chatgpt generated code in lost:
-
168  float result = x - mod * floor(x / mod);
-
169  return result >= 0 ? result : result + mod;
-
170 }
-
171 
-
173 float Vec3::MagnitudeSq() const {
-
174  return fma(x,x,fma(y,y, z*z));
-
175 }
-
176 
-
178 float Vec2::MagnitudeSq() const {
-
179  return fma(x,x, y*y);
-
180 }
-
181 
-
182 float Vec3::Magnitude() const {
-
183  return hypot(hypot(x, y), z); // not sure if this is faster than a simple sqrt, but it does have less error?
-
184 }
-
185 
-
186 float Vec2::Magnitude() const {
-
187  return hypot(x, y);
-
188 }
-
189 
- -
192  float mag = Magnitude();
-
193  return {
-
194  x/mag, y/mag, z/mag,
-
195  };
-
196 }
-
197 
-
199 float Vec3::operator*(const Vec3 &other) const {
-
200  return fma(x,other.x, fma(y,other.y, z*other.z));
-
201 }
-
202 
-
204 Vec2 Vec2::operator*(const float &other) const {
-
205  return { x*other, y*other };
-
206 }
-
207 
-
209 Vec3 Vec3::operator*(const float &other) const {
-
210  return { x*other, y*other, z*other };
-
211 }
-
212 
-
214 Vec2 Vec2::operator+(const Vec2 &other) const {
-
215  return {x + other.x, y + other.y };
-
216 }
-
217 
-
219 Vec2 Vec2::operator-(const Vec2 &other) const {
-
220  return { x - other.x, y - other.y };
-
221 }
-
222 
-
224 Vec3 Vec3::operator-(const Vec3 &other) const {
-
225  return { x - other.x, y - other.y, z - other.z };
-
226 }
-
227 
-
229 Vec3 Vec3::CrossProduct(const Vec3 &other) const {
-
230  return {
-
231  y*other.z - z*other.y,
-
232  -(x*other.z - z*other.x),
-
233  x*other.y - y*other.x,
-
234  };
-
235 }
-
236 
-
238 Mat3 Vec3::OuterProduct(const Vec3 &other) const {
-
239  return {
-
240  x*other.x, x*other.y, x*other.z,
-
241  y*other.x, y*other.y, y*other.z,
-
242  z*other.x, z*other.y, z*other.z
-
243  };
-
244 }
-
245 
-
247 Vec3 Vec3::operator*(const Mat3 &other) const {
-
248  return {
-
249  x*other.At(0,0) + y*other.At(0,1) + z*other.At(0,2),
-
250  x*other.At(1,0) + y*other.At(1,1) + z*other.At(1,2),
-
251  x*other.At(2,0) + y*other.At(2,1) + z*other.At(2,2),
-
252  };
-
253 }
-
254 
-
256 float Mat3::At(int i, int j) const {
-
257  return x[3*i+j];
-
258 }
-
259 
-
261 Vec3 Mat3::Column(int j) const {
-
262  return {At(0,j), At(1,j), At(2,j)};
-
263 }
-
264 
-
266 Vec3 Mat3::Row(int i) const {
-
267  return {At(i,0), At(i,1), At(i,2)};
-
268 }
-
269 
-
271 Mat3 Mat3::operator+(const Mat3 &other) const {
-
272  return {
-
273  At(0,0)+other.At(0,0), At(0,1)+other.At(0,1), At(0,2)+other.At(0,2),
-
274  At(1,0)+other.At(1,0), At(1,1)+other.At(1,1), At(1,2)+other.At(1,2),
-
275  At(2,0)+other.At(2,0), At(2,1)+other.At(2,1), At(2,2)+other.At(2,2)
-
276  };
-
277 }
-
278 
-
280 Mat3 Mat3::operator*(const Mat3 &other) const {
-
281 #define _MATMUL_ENTRY(row, col) At(row,0)*other.At(0,col) + At(row,1)*other.At(1,col) + At(row,2)*other.At(2,col)
-
282  return {
-
283  _MATMUL_ENTRY(0,0), _MATMUL_ENTRY(0,1), _MATMUL_ENTRY(0,2),
-
284  _MATMUL_ENTRY(1,0), _MATMUL_ENTRY(1,1), _MATMUL_ENTRY(1,2),
-
285  _MATMUL_ENTRY(2,0), _MATMUL_ENTRY(2,1), _MATMUL_ENTRY(2,2),
-
286  };
-
287 #undef _MATMUL_ENTRY
-
288 }
-
289 
-
291 Vec3 Mat3::operator*(const Vec3 &vec) const {
-
292  return {
-
293  vec.x*At(0,0) + vec.y*At(0,1) + vec.z*At(0,2),
-
294  vec.x*At(1,0) + vec.y*At(1,1) + vec.z*At(1,2),
-
295  vec.x*At(2,0) + vec.y*At(2,1) + vec.z*At(2,2),
-
296  };
-
297 }
-
298 
-
300 Mat3 Mat3::operator*(const float &s) const {
-
301  return {
-
302  s*At(0,0), s*At(0,1), s*At(0,2),
-
303  s*At(1,0), s*At(1,1), s*At(1,2),
-
304  s*At(2,0), s*At(2,1), s*At(2,2)
-
305  };
-
306 }
-
307 
- -
310  return {
-
311  At(0,0), At(1,0), At(2,0),
-
312  At(0,1), At(1,1), At(2,1),
-
313  At(0,2), At(1,2), At(2,2),
-
314  };
-
315 }
-
316 
-
318 float Mat3::Trace() const {
-
319  return At(0,0) + At(1,1) + At(2,2);
-
320 }
-
321 
-
323 float Mat3::Det() const {
-
324  return (At(0,0) * (At(1,1)*At(2,2) - At(2,1)*At(1,2))) - (At(0,1) * (At(1,0)*At(2,2) - At(2,0)*At(1,2))) + (At(0,2) * (At(1,0)*At(2,1) - At(2,0)*At(1,1)));
-
325 }
-
326 
- -
329  // https://ardoris.wordpress.com/2008/07/18/general-formula-for-the-inverse-of-a-3x3-matrix/
-
330  float scalar = 1 / Det();
-
331 
-
332  Mat3 res = {
-
333  At(1,1)*At(2,2) - At(1,2)*At(2,1), At(0,2)*At(2,1) - At(0,1)*At(2,2), At(0,1)*At(1,2) - At(0,2)*At(1,1),
-
334  At(1,2)*At(2,0) - At(1,0)*At(2,2), At(0,0)*At(2,2) - At(0,2)*At(2,0), At(0,2)*At(1,0) - At(0,0)*At(1,2),
-
335  At(1,0)*At(2,1) - At(1,1)*At(2,0), At(0,1)*At(2,0) - At(0,0)*At(2,1), At(0,0)*At(1,1) - At(0,1)*At(1,0)
-
336  };
-
337 
-
338  return res * scalar;
-
339 }
-
340 
-
342  const Mat3 kIdentityMat3 = {1,0,0,
-
343  0,1,0,
-
344  0,0,1};
-
345 
- -
347  : type(AttitudeType::QuaternionType), quaternion(quat) {}
-
348 
-
349 Attitude::Attitude(const Mat3 &matrix)
-
350  : type(AttitudeType::DCMType), dcm(matrix) {}
-
351 
- -
354  Vec3 x = quat.Rotate({1, 0, 0});
-
355  Vec3 y = quat.Rotate({0, 1, 0});
-
356  Vec3 z = quat.Rotate({0, 0, 1});
-
357  return {
-
358  x.x, y.x, z.x,
-
359  x.y, y.y, z.y,
-
360  x.z, y.z, z.z,
-
361  };
-
362 }
-
363 
- -
366  // Make a quaternion that rotates the reference frame X-axis into the dcm's X-axis, just like
-
367  // the DCM itself does
-
368  Vec3 oldXAxis = Vec3({1, 0, 0});
-
369  Vec3 newXAxis = dcm.Column(0); // this is where oldXAxis is mapped to
-
370  assert(abs(newXAxis.Magnitude()-1) < 0.001);
-
371  Vec3 xAlignAxis = oldXAxis.CrossProduct(newXAxis).Normalize();
-
372  float xAlignAngle = AngleUnit(oldXAxis, newXAxis);
-
373  Quaternion xAlign(xAlignAxis, xAlignAngle);
-
374 
-
375  // Make a quaternion that will rotate the Y-axis into place
-
376  Vec3 oldYAxis = xAlign.Rotate({0, 1, 0});
-
377  Vec3 newYAxis = dcm.Column(1);
-
378  // we still need to take the cross product, because acos returns a value in [0,pi], and thus we
-
379  // need to know which direction to rotate before we rotate. We do this by checking if the cross
-
380  // product of old and new y axes is in the same direction as the new X axis.
-
381  bool rotateClockwise = oldYAxis.CrossProduct(newYAxis) * newXAxis > 0; // * is dot product
-
382  Quaternion yAlign({1, 0, 0}, AngleUnit(oldYAxis, newYAxis) * (rotateClockwise ? 1 : -1));
-
383 
-
384  // We're done! There's no need to worry about the Z-axis because the handed-ness of the
-
385  // coordinate system is always preserved, which means the Z-axis is uniquely determined as the
-
386  // cross product of the X- and Y-axes. This goes to show that DCMs store redundant information.
-
387 
-
388  // we want the y alignment to have memory of X, which means we put its multiplication on the
-
389  // right
-
390  return xAlign*yAlign;
-
391 }
-
392 
- -
395  switch (type) {
-
396  case AttitudeType::QuaternionType:
-
397  return quaternion;
-
398  case AttitudeType::DCMType:
-
399  return DCMToQuaternion(dcm);
-
400  default:
-
401  assert(false);
-
402  }
-
403 }
-
404 
- -
407  switch (type) {
-
408  case AttitudeType::DCMType:
-
409  return dcm;
-
410  case AttitudeType::QuaternionType:
-
411  return QuaternionToDCM(quaternion);
-
412  default:
-
413  assert(false);
-
414  }
-
415 }
-
416 
-
418 Vec3 Attitude::Rotate(const Vec3 &vec) const {
-
419  switch (type) {
-
420  case AttitudeType::DCMType:
-
421  return dcm*vec;
-
422  case AttitudeType::QuaternionType:
-
423  return quaternion.Rotate(vec);
-
424  default:
-
425  assert(false);
-
426  }
-
427 }
-
428 
- -
431  switch (type) {
-
432  case AttitudeType::DCMType:
-
433  return GetQuaternion().ToSpherical();
-
434  case AttitudeType::QuaternionType:
-
435  return quaternion.ToSpherical();
-
436  default:
-
437  assert(false);
-
438  }
-
439 }
-
440 
-
441 bool Attitude::IsKnown() const {
-
442  switch (type) {
-
443  case AttitudeType::DCMType:
-
444  case AttitudeType::QuaternionType:
-
445  return true;
-
446  default:
-
447  return false;
-
448  }
-
449 }
-
450 
-
452 void SerializeVec3(SerializeContext *ser, const Vec3 &vec) {
-
453  SerializePrimitive<float>(ser, vec.x);
-
454  SerializePrimitive<float>(ser, vec.y);
-
455  SerializePrimitive<float>(ser, vec.z);
-
456 }
-
457 
- -
459  Vec3 result = {
-
460  DeserializePrimitive<float>(des),
-
461  DeserializePrimitive<float>(des),
-
462  DeserializePrimitive<float>(des),
-
463  };
-
464  return result;
-
465 }
-
466 
-
468 float Angle(const Vec3 &vec1, const Vec3 &vec2) {
-
469  return AngleUnit(vec1.Normalize(), vec2.Normalize());
-
470 }
-
471 
-
477 float AngleUnit(const Vec3 &vec1, const Vec3 &vec2) {
-
478  float dot = vec1*vec2;
-
479  // TODO: we shouldn't need this nonsense, right? how come acos sometimes gives nan?
-
480  return dot >= 1 ? 0 : dot <= -1 ? M_PI-0.0000001 : acos(dot);
-
481 }
-
482 
+
11 namespace lost {
+
12 
+ +
15  return Quaternion(
+
16  real*other.real - i*other.i - j*other.j - k*other.k,
+
17  real*other.i + other.real*i + j*other.k - k*other.j,
+
18  real*other.j + other.real*j + k*other.i - i*other.k,
+
19  real*other.k + other.real*k + i*other.j - j*other.i);
+
20 }
+
21 
+ +
24  return Quaternion(real, -i, -j, -k);
+
25 }
+
26 
+ +
29  return { i, j, k };
+
30 }
+
31 
+
33 void Quaternion::SetVector(const Vec3 &vec) {
+
34  i = vec.x;
+
35  j = vec.y;
+
36  k = vec.z;
+
37 }
+
38 
+ +
41  real = 0;
+
42  SetVector(input);
+
43 }
+
44 
+
46 Quaternion::Quaternion(const Vec3 &input, decimal theta) {
+
47  real = DECIMAL_COS(theta/2);
+
48  // the compiler will optimize it. Right?
+
49  i = input.x * DECIMAL_SIN(theta/2);
+
50  j = input.y * DECIMAL_SIN(theta/2);
+
51  k = input.z * DECIMAL_SIN(theta/2);
+
52 }
+
53 
+
55 Vec3 Quaternion::Rotate(const Vec3 &input) const {
+
56  // TODO: optimize
+
57  return ((*this)*Quaternion(input)*Conjugate()).Vector();
+
58 }
+
59 
+ +
62  if (real <= -1) {
+
63  return 0; // 180*2=360=0
+
64  }
+
65  // TODO: we shouldn't need this nonsense, right? how come acos sometimes gives nan? (same as in AngleUnit)
+
66  return (real >= 1 ? 0 : DECIMAL_ACOS(real))*2;
+
67 }
+
68 
+ +
70  decimal rawAngle = Angle();
+
71  return rawAngle > DECIMAL_M_PI
+
72  ? 2*DECIMAL_M_PI - rawAngle
+
73  : rawAngle;
+
74 }
+
75 
+
76 void Quaternion::SetAngle(decimal newAngle) {
+
77  real = DECIMAL_COS(newAngle/2);
+
78  SetVector(Vector().Normalize() * DECIMAL_SIN(newAngle/2));
+
79 }
+
80 
+ +
82  // Working out these equations would be a pain in the ass. Thankfully, this wikipedia page:
+
83  // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion
+
84  // uses almost exactly the same euler angle scheme that we do, so we copy their equations almost
+
85  // wholesale. The only differences are that 1, we use de and roll in the opposite directions,
+
86  // and 2, we store the conjugate of the quaternion (double check why?), which means we need to
+
87  // invert the final de and roll terms, as well as negate all the terms involving a mix between
+
88  // the real and imaginary parts.
+
89  decimal ra = DECIMAL_ATAN2(2*(-real*k+i*j), 1-2*(j*j+k*k));
+
90  if (ra < 0)
+
91  ra += 2*DECIMAL_M_PI;
+
92  decimal de = -DECIMAL_ASIN(2*(-real*j-i*k)); // allow de to be positive or negaive, as is convention
+
93  decimal roll = -DECIMAL_ATAN2(2*(-real*i+j*k), 1-2*(i*i+j*j));
+
94  if (roll < 0)
+
95  roll += 2*DECIMAL_M_PI;
+
96 
+
97  return EulerAngles(ra, de, roll);
+
98 }
+
99 
+ +
101  assert(roll >= DECIMAL(0.0) && roll <= 2*DECIMAL_M_PI);
+
102  assert(ra >= DECIMAL(0.0) && ra <= 2*DECIMAL_M_PI);
+
103  assert(dec >= -DECIMAL_M_PI && dec <= DECIMAL_M_PI);
+
104 
+
105  // when we are modifying the coordinate axes, the quaternion multiplication works so that the
+
106  // rotations are applied from left to right. This is the opposite as for modifying vectors.
+
107 
+
108  // It is indeed correct that a positive rotation in our right-handed coordinate frame is in the
+
109  // clockwise direction when looking down/through the axis of rotation. Just like the right hand
+
110  // rule for magnetic field around a current-carrying conductor.
+
111  Quaternion a = Quaternion({ 0, 0, 1 }, ra);
+
112  Quaternion b = Quaternion({ 0, 1, 0 }, -dec);
+
113  Quaternion c = Quaternion({ 1, 0, 0 }, -roll);
+
114  Quaternion result = (a*b*c).Conjugate();
+
115  assert(result.IsUnit(0.00001));
+
116  return result;
+
117 }
+
118 
+
120 bool Quaternion::IsUnit(decimal tolerance) const {
+
121  return abs(i*i+j*j+k*k+real*real - 1) < tolerance;
+
122 }
+
123 
+ +
128  if (real >= 0) {
+
129  return *this;
+
130  }
+
131 
+
132  return Quaternion(-real, -i, -j, -k);
+
133 }
+
134 
+ +
137  return {
+
138  DECIMAL_COS(ra)*DECIMAL_COS(de),
+
139  DECIMAL_SIN(ra)*DECIMAL_COS(de),
+
140  DECIMAL_SIN(de),
+
141  };
+
142 }
+
143 
+
145 void SpatialToSpherical(const Vec3 &vec, decimal *ra, decimal *de) {
+
146  *ra = DECIMAL_ATAN2(vec.y, vec.x);
+
147  if (*ra < 0)
+
148  *ra += DECIMAL_M_PI*2;
+
149  *de = DECIMAL_ASIN(vec.z);
+
150 }
+
151 
+ +
153  return rad*DECIMAL(180.0)/DECIMAL_M_PI;
+
154 }
+
155 
+ +
157  return deg/DECIMAL(180.0)*DECIMAL_M_PI;
+
158 }
+
159 
+ +
161  return RadToDeg(rad) * DECIMAL(3600.0);
+
162 }
+
163 
+ +
165  return DegToRad(arcSec / DECIMAL(3600.0));
+
166 }
+
167 
+ +
169  // first but not last chatgpt generated code in lost:
+
170  decimal result = x - mod * DECIMAL_FLOOR(x / mod);
+
171  return result >= 0 ? result : result + mod;
+
172 }
+
173 
+ +
176  return DECIMAL_FMA(x,x,DECIMAL_FMA(y,y, z*z));
+
177 }
+
178 
+ +
181  return DECIMAL_FMA(x,x, y*y);
+
182 }
+
183 
+ +
185  return DECIMAL_HYPOT(DECIMAL_HYPOT(x, y), z); // not sure if this is faster than a simple sqrt, but it does have less error?
+
186 }
+
187 
+ +
189  return DECIMAL_HYPOT(x, y);
+
190 }
+
191 
+ +
194  decimal mag = Magnitude();
+
195  return {
+
196  x/mag, y/mag, z/mag,
+
197  };
+
198 }
+
199 
+
201 decimal Vec3::operator*(const Vec3 &other) const {
+
202  return DECIMAL_FMA(x,other.x, DECIMAL_FMA(y,other.y, z*other.z));
+
203 }
+
204 
+
206 Vec2 Vec2::operator*(const decimal &other) const {
+
207  return { x*other, y*other };
+
208 }
+
209 
+
211 Vec3 Vec3::operator*(const decimal &other) const {
+
212  return { x*other, y*other, z*other };
+
213 }
+
214 
+
216 Vec2 Vec2::operator+(const Vec2 &other) const {
+
217  return {x + other.x, y + other.y };
+
218 }
+
219 
+
221 Vec2 Vec2::operator-(const Vec2 &other) const {
+
222  return { x - other.x, y - other.y };
+
223 }
+
224 
+
226 Vec3 Vec3::operator-(const Vec3 &other) const {
+
227  return { x - other.x, y - other.y, z - other.z };
+
228 }
+
229 
+
231 Vec3 Vec3::CrossProduct(const Vec3 &other) const {
+
232  return {
+
233  y*other.z - z*other.y,
+
234  -(x*other.z - z*other.x),
+
235  x*other.y - y*other.x,
+
236  };
+
237 }
+
238 
+
240 Mat3 Vec3::OuterProduct(const Vec3 &other) const {
+
241  return {
+
242  x*other.x, x*other.y, x*other.z,
+
243  y*other.x, y*other.y, y*other.z,
+
244  z*other.x, z*other.y, z*other.z
+
245  };
+
246 }
+
247 
+
249 Vec3 Vec3::operator*(const Mat3 &other) const {
+
250  return {
+
251  x*other.At(0,0) + y*other.At(0,1) + z*other.At(0,2),
+
252  x*other.At(1,0) + y*other.At(1,1) + z*other.At(1,2),
+
253  x*other.At(2,0) + y*other.At(2,1) + z*other.At(2,2),
+
254  };
+
255 }
+
256 
+
258 decimal Mat3::At(int i, int j) const {
+
259  return x[3*i+j];
+
260 }
+
261 
+
263 Vec3 Mat3::Column(int j) const {
+
264  return {At(0,j), At(1,j), At(2,j)};
+
265 }
+
266 
+
268 Vec3 Mat3::Row(int i) const {
+
269  return {At(i,0), At(i,1), At(i,2)};
+
270 }
+
271 
+
273 Mat3 Mat3::operator+(const Mat3 &other) const {
+
274  return {
+
275  At(0,0)+other.At(0,0), At(0,1)+other.At(0,1), At(0,2)+other.At(0,2),
+
276  At(1,0)+other.At(1,0), At(1,1)+other.At(1,1), At(1,2)+other.At(1,2),
+
277  At(2,0)+other.At(2,0), At(2,1)+other.At(2,1), At(2,2)+other.At(2,2)
+
278  };
+
279 }
+
280 
+
282 Mat3 Mat3::operator*(const Mat3 &other) const {
+
283 #define _MATMUL_ENTRY(row, col) At(row,0)*other.At(0,col) + At(row,1)*other.At(1,col) + At(row,2)*other.At(2,col)
+
284  return {
+
285  _MATMUL_ENTRY(0,0), _MATMUL_ENTRY(0,1), _MATMUL_ENTRY(0,2),
+
286  _MATMUL_ENTRY(1,0), _MATMUL_ENTRY(1,1), _MATMUL_ENTRY(1,2),
+
287  _MATMUL_ENTRY(2,0), _MATMUL_ENTRY(2,1), _MATMUL_ENTRY(2,2),
+
288  };
+
289 #undef _MATMUL_ENTRY
+
290 }
+
291 
+
293 Vec3 Mat3::operator*(const Vec3 &vec) const {
+
294  return {
+
295  vec.x*At(0,0) + vec.y*At(0,1) + vec.z*At(0,2),
+
296  vec.x*At(1,0) + vec.y*At(1,1) + vec.z*At(1,2),
+
297  vec.x*At(2,0) + vec.y*At(2,1) + vec.z*At(2,2),
+
298  };
+
299 }
+
300 
+
302 Mat3 Mat3::operator*(const decimal &s) const {
+
303  return {
+
304  s*At(0,0), s*At(0,1), s*At(0,2),
+
305  s*At(1,0), s*At(1,1), s*At(1,2),
+
306  s*At(2,0), s*At(2,1), s*At(2,2)
+
307  };
+
308 }
+
309 
+ +
312  return {
+
313  At(0,0), At(1,0), At(2,0),
+
314  At(0,1), At(1,1), At(2,1),
+
315  At(0,2), At(1,2), At(2,2),
+
316  };
+
317 }
+
318 
+ +
321  return At(0,0) + At(1,1) + At(2,2);
+
322 }
+
323 
+ +
326  return (At(0,0) * (At(1,1)*At(2,2) - At(2,1)*At(1,2))) - (At(0,1) * (At(1,0)*At(2,2) - At(2,0)*At(1,2))) + (At(0,2) * (At(1,0)*At(2,1) - At(2,0)*At(1,1)));
+
327 }
+
328 
+ +
331  // https://ardoris.wordpress.com/2008/07/18/general-formula-for-the-inverse-of-a-3x3-matrix/
+
332  decimal scalar = 1 / Det();
+
333 
+
334  Mat3 res = {
+
335  At(1,1)*At(2,2) - At(1,2)*At(2,1), At(0,2)*At(2,1) - At(0,1)*At(2,2), At(0,1)*At(1,2) - At(0,2)*At(1,1),
+
336  At(1,2)*At(2,0) - At(1,0)*At(2,2), At(0,0)*At(2,2) - At(0,2)*At(2,0), At(0,2)*At(1,0) - At(0,0)*At(1,2),
+
337  At(1,0)*At(2,1) - At(1,1)*At(2,0), At(0,1)*At(2,0) - At(0,0)*At(2,1), At(0,0)*At(1,1) - At(0,1)*At(1,0)
+
338  };
+
339 
+
340  return res * scalar;
+
341 }
+
342 
+
344  const Mat3 kIdentityMat3 = {1,0,0,
+
345  0,1,0,
+
346  0,0,1};
+
347 
+ +
349  : type(AttitudeType::QuaternionType), quaternion(quat) {}
+
350 
+
351 Attitude::Attitude(const Mat3 &matrix)
+
352  : type(AttitudeType::DCMType), dcm(matrix) {}
+
353 
+ +
356  Vec3 x = quat.Rotate({1, 0, 0});
+
357  Vec3 y = quat.Rotate({0, 1, 0});
+
358  Vec3 z = quat.Rotate({0, 0, 1});
+
359  return {
+
360  x.x, y.x, z.x,
+
361  x.y, y.y, z.y,
+
362  x.z, y.z, z.z,
+
363  };
+
364 }
+
365 
+ +
368  // Make a quaternion that rotates the reference frame X-axis into the dcm's X-axis, just like
+
369  // the DCM itself does
+
370  Vec3 oldXAxis = Vec3({1, 0, 0});
+
371  Vec3 newXAxis = dcm.Column(0); // this is where oldXAxis is mapped to
+
372  assert(DECIMAL_ABS(newXAxis.Magnitude()-1) < DECIMAL(0.001));
+
373  Vec3 xAlignAxis = oldXAxis.CrossProduct(newXAxis).Normalize();
+
374  decimal xAlignAngle = AngleUnit(oldXAxis, newXAxis);
+
375  Quaternion xAlign(xAlignAxis, xAlignAngle);
+
376 
+
377  // Make a quaternion that will rotate the Y-axis into place
+
378  Vec3 oldYAxis = xAlign.Rotate({0, 1, 0});
+
379  Vec3 newYAxis = dcm.Column(1);
+
380  // we still need to take the cross product, because acos returns a value in [0,pi], and thus we
+
381  // need to know which direction to rotate before we rotate. We do this by checking if the cross
+
382  // product of old and new y axes is in the same direction as the new X axis.
+
383  bool rotateClockwise = oldYAxis.CrossProduct(newYAxis) * newXAxis > 0; // * is dot product
+
384  Quaternion yAlign({1, 0, 0}, AngleUnit(oldYAxis, newYAxis) * (rotateClockwise ? 1 : -1));
+
385 
+
386  // We're done! There's no need to worry about the Z-axis because the handed-ness of the
+
387  // coordinate system is always preserved, which means the Z-axis is uniquely determined as the
+
388  // cross product of the X- and Y-axes. This goes to show that DCMs store redundant information.
+
389 
+
390  // we want the y alignment to have memory of X, which means we put its multiplication on the
+
391  // right
+
392  return xAlign*yAlign;
+
393 }
+
394 
+ +
397  switch (type) {
+
398  case AttitudeType::QuaternionType:
+
399  return quaternion;
+
400  case AttitudeType::DCMType:
+
401  return DCMToQuaternion(dcm);
+
402  default:
+
403  assert(false);
+
404  }
+
405 }
+
406 
+ +
409  switch (type) {
+
410  case AttitudeType::DCMType:
+
411  return dcm;
+
412  case AttitudeType::QuaternionType:
+
413  return QuaternionToDCM(quaternion);
+
414  default:
+
415  assert(false);
+
416  }
+
417 }
+
418 
+
420 Vec3 Attitude::Rotate(const Vec3 &vec) const {
+
421  switch (type) {
+
422  case AttitudeType::DCMType:
+
423  return dcm*vec;
+
424  case AttitudeType::QuaternionType:
+
425  return quaternion.Rotate(vec);
+
426  default:
+
427  assert(false);
+
428  }
+
429 }
+
430 
+ +
433  switch (type) {
+
434  case AttitudeType::DCMType:
+
435  return GetQuaternion().ToSpherical();
+
436  case AttitudeType::QuaternionType:
+
437  return quaternion.ToSpherical();
+
438  default:
+
439  assert(false);
+
440  }
+
441 }
+
442 
+
443 bool Attitude::IsKnown() const {
+
444  switch (type) {
+
445  case AttitudeType::DCMType:
+
446  case AttitudeType::QuaternionType:
+
447  return true;
+
448  default:
+
449  return false;
+
450  }
+
451 }
+
452 
+
454 void SerializeVec3(SerializeContext *ser, const Vec3 &vec) {
+
455  SerializePrimitive<decimal>(ser, vec.x);
+
456  SerializePrimitive<decimal>(ser, vec.y);
+
457  SerializePrimitive<decimal>(ser, vec.z);
+
458 }
+
459 
+ +
461  Vec3 result = {
+
462  DeserializePrimitive<decimal>(des),
+
463  DeserializePrimitive<decimal>(des),
+
464  DeserializePrimitive<decimal>(des),
+
465  };
+
466  return result;
+
467 }
+
468 
+
470 decimal Angle(const Vec3 &vec1, const Vec3 &vec2) {
+
471  return AngleUnit(vec1.Normalize(), vec2.Normalize());
+
472 }
+
473 
+
479 decimal AngleUnit(const Vec3 &vec1, const Vec3 &vec2) {
+
480  decimal dot = vec1*vec2;
+
481  // TODO: we shouldn't need this nonsense, right? how come acos sometimes gives nan?
+
482  return dot >= 1 ? 0 : dot <= -1 ? DECIMAL_M_PI-DECIMAL(0.0000001) : DECIMAL_ACOS(dot);
483 }
+
484 
+
485 }
#define _MATMUL_ENTRY(row, col)
-
EulerAngles ToSpherical() const
Get the euler angles from the attitude, converting from whatever format is stored.
-
Vec3 Rotate(const Vec3 &) const
Convert a vector from the reference frame to the body frame.
-
Mat3 GetDCM() const
Get the rotation matrix (direction cosine matrix) representing the attitude, converting from whatever...
+
EulerAngles ToSpherical() const
Get the euler angles from the attitude, converting from whatever format is stored.
+
Vec3 Rotate(const Vec3 &) const
Convert a vector from the reference frame to the body frame.
+
Mat3 GetDCM() const
Get the rotation matrix (direction cosine matrix) representing the attitude, converting from whatever...
Attitude()=default
constructs unknown attitude:
-
Quaternion GetQuaternion() const
Get the quaternion representing the attitude, converting from whatever format is stored.
-
bool IsKnown() const
- -
A "human-readable" way to represent a 3d rotation or orientation.
-
3x3 vector with floating point components
-
float Trace() const
Trace of a matrix.
-
Mat3 Inverse() const
Inverse of a matrix.
-
Vec3 Column(int) const
Get the column at index j.
-
Vec3 Row(int) const
Get the row at index i.
- -
float At(int i, int j) const
Access the i,j-th element of the matrix.
-
Mat3 Transpose() const
Transpose of a matrix.
-
Mat3 operator+(const Mat3 &) const
Normal matrix addition.
-
float Det() const
Determinant of a matrix.
-
Mat3 operator*(const Mat3 &) const
Naive matrix multiplication.
-
A quaternion is a common way to represent a 3d rotation.
-
Quaternion Canonicalize() const
Ensure that the quaternion's real part is nonnegative.
-
Vec3 Vector() const
The vector formed by imaginary components of the quaternion. The axis of the represented rotation.
-
EulerAngles ToSpherical() const
-
Vec3 Rotate(const Vec3 &) const
Rotate a 3d vector according to the rotation represented by the quaternion.
-
float SmallestAngle() const
Returns the smallest angle that can be used to represent the rotation represented by the quaternion.
-
Quaternion Conjugate() const
Effectively computes a quaternion representing the inverse rotation of the original.
-
void SetVector(const Vec3 &)
Set imaginary components.
+
Quaternion GetQuaternion() const
Get the quaternion representing the attitude, converting from whatever format is stored.
+
bool IsKnown() const
+ +
A "human-readable" way to represent a 3d rotation or orientation.
+
3x3 vector with decimaling point components
+
Mat3 Inverse() const
Inverse of a matrix.
+
Vec3 Column(int) const
Get the column at index j.
+
Vec3 Row(int) const
Get the row at index i.
+
decimal Det() const
Determinant of a matrix.
+
Mat3 Transpose() const
Transpose of a matrix.
+
decimal Trace() const
Trace of a matrix.
+
decimal At(int i, int j) const
Access the i,j-th element of the matrix.
+
Mat3 operator+(const Mat3 &) const
Normal matrix addition.
+
decimal x[9]
+
Mat3 operator*(const Mat3 &) const
Naive matrix multiplication.
+
A quaternion is a common way to represent a 3d rotation.
+
Quaternion Canonicalize() const
Ensure that the quaternion's real part is nonnegative.
+ +
Vec3 Vector() const
The vector formed by imaginary components of the quaternion. The axis of the represented rotation.
+
decimal Angle() const
How many radians the rotation represented by this quaternion has.
+
EulerAngles ToSpherical() const
+
Vec3 Rotate(const Vec3 &) const
Rotate a 3d vector according to the rotation represented by the quaternion.
+ +
Quaternion Conjugate() const
Effectively computes a quaternion representing the inverse rotation of the original.
+
void SetVector(const Vec3 &)
Set imaginary components.
Quaternion()=default
- -
float Angle() const
How many radians the rotation represented by this quaternion has.
-
Quaternion operator*(const Quaternion &other) const
Multiply two quaternions using the usual definition of quaternion multiplication (effectively compose...
-
void SetAngle(float)
- - -
bool IsUnit(float tolerance) const
Whether the quaternion is a unit quaternion. All quaternions representing rotations should be units.
- - -
Three dimensional vector with floating point components.
-
float operator*(const Vec3 &) const
Dot product.
-
float Magnitude() const
-
Vec3 Normalize() const
Create a vector pointing in the same direction with magnitude 1.
- - -
Mat3 OuterProduct(const Vec3 &) const
The outer product of two vectors.
-
float MagnitudeSq() const
The square of the magnitude.
- -
Vec3 CrossProduct(const Vec3 &) const
Usual vector cross product.
-
Vec3 operator-(const Vec3 &) const
Usual vector subtraction.
-
LOST starting point.
-
float FloatModulo(float x, float mod)
Given a float, find it "modulo" another float, in the true mathematical sense (not remainder).
-
float AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two /unit/ vectors.
-
Mat3 QuaternionToDCM(const Quaternion &quat)
Convert a quaternion to a rotation matrix (Direction Cosine Matrix)
-
float ArcSecToRad(float arcSec)
-
Vec3 SphericalToSpatial(float ra, float de)
Convert from right ascension & declination to a 3d point on the unit sphere.
-
const Mat3 kIdentityMat3
3x3 identity matrix
-
float Angle(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two vectors.
-
Quaternion DCMToQuaternion(const Mat3 &dcm)
Convert a rotation matrix (Direction Cosine Matrix) to a quaternion representing the same rotation.
-
Quaternion SphericalToQuaternion(float ra, float dec, float roll)
Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given rig...
-
float RadToArcSec(float rad)
-
void SpatialToSpherical(const Vec3 &vec, float *ra, float *de)
Convert from a 3d point on the unit sphere to right ascension & declination.
-
void SerializeVec3(SerializeContext *ser, const Vec3 &vec)
Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.
-
Vec3 DeserializeVec3(DeserializeContext *des)
-
float DegToRad(float deg)
-
float RadToDeg(float rad)
+ +
Quaternion operator*(const Quaternion &other) const
Multiply two quaternions using the usual definition of quaternion multiplication (effectively compose...
+
void SetAngle(decimal)
+ +
bool IsUnit(decimal tolerance) const
Whether the quaternion is a unit quaternion. All quaternions representing rotations should be units.
+
decimal SmallestAngle() const
Returns the smallest angle that can be used to represent the rotation represented by the quaternion.
+ +
Three dimensional vector with decimaling point components.
+
Vec3 Normalize() const
Create a vector pointing in the same direction with magnitude 1.
+
decimal MagnitudeSq() const
The square of the magnitude.
+
Mat3 OuterProduct(const Vec3 &) const
The outer product of two vectors.
+
decimal operator*(const Vec3 &) const
Dot product.
+ + +
Vec3 CrossProduct(const Vec3 &) const
Usual vector cross product.
+
decimal Magnitude() const
+ +
Vec3 operator-(const Vec3 &) const
Usual vector subtraction.
+ +
double decimal
Definition: decimal.hpp:11
+
#define DECIMAL_ASIN(x)
Definition: decimal.hpp:55
+
#define DECIMAL(x)
Definition: decimal.hpp:21
+
#define DECIMAL_FMA(x, y, z)
Definition: decimal.hpp:61
+
#define DECIMAL_M_PI
Definition: decimal.hpp:29
+
#define DECIMAL_HYPOT(x, y)
Definition: decimal.hpp:62
+
#define DECIMAL_SIN(x)
Definition: decimal.hpp:52
+
#define DECIMAL_ABS(x)
Definition: decimal.hpp:49
+
#define DECIMAL_ATAN2(x, y)
Definition: decimal.hpp:58
+
#define DECIMAL_COS(x)
Definition: decimal.hpp:53
+
#define DECIMAL_ACOS(x)
Definition: decimal.hpp:56
+
#define DECIMAL_FLOOR(x)
Definition: decimal.hpp:48
+
LOST starting point.
+
Mat3 QuaternionToDCM(const Quaternion &quat)
Convert a quaternion to a rotation matrix (Direction Cosine Matrix)
+
decimal RadToArcSec(decimal rad)
+
decimal ArcSecToRad(decimal arcSec)
+
void SpatialToSpherical(const Vec3 &vec, decimal *ra, decimal *de)
Convert from a 3d point on the unit sphere to right ascension & declination.
+
decimal AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two /unit/ vectors.
+
decimal DegToRad(decimal deg)
+
Quaternion SphericalToQuaternion(decimal ra, decimal dec, decimal roll)
Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given rig...
+
Vec3 SphericalToSpatial(decimal ra, decimal de)
Convert from right ascension & declination to a 3d point on the unit sphere.
+
decimal RadToDeg(decimal rad)
+
const Mat3 kIdentityMat3
3x3 identity matrix
+
Quaternion DCMToQuaternion(const Mat3 &dcm)
Convert a rotation matrix (Direction Cosine Matrix) to a quaternion representing the same rotation.
+
decimal Angle(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two vectors.
+
decimal DecimalModulo(decimal x, decimal mod)
Given a decimal, find it "modulo" another decimal, in the true mathematical sense (not remainder).
+
void SerializeVec3(SerializeContext *ser, const Vec3 &vec)
Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.
+
Vec3 DeserializeVec3(DeserializeContext *des)
-
A two dimensional vector with floating point components.
-
float Magnitude() const
- -
Vec2 operator-(const Vec2 &) const
Usual vector addition.
-
Vec2 operator+(const Vec2 &) const
Usual vector addition.
- -
float operator*(const Vec2 &) const
-
float MagnitudeSq() const
The square of the magnitude.
+
A two dimensional vector with decimaling point components.
+
decimal MagnitudeSq() const
The square of the magnitude.
+ +
Vec2 operator-(const Vec2 &) const
Usual vector addition.
+
decimal operator*(const Vec2 &) const
+
Vec2 operator+(const Vec2 &) const
Usual vector addition.
+
decimal Magnitude() const
+ diff --git a/attitude-utils_8hpp.html b/attitude-utils_8hpp.html index 1a32a533..597ae892 100644 --- a/attitude-utils_8hpp.html +++ b/attitude-utils_8hpp.html @@ -94,18 +94,22 @@
#include <memory>
#include <vector>
#include "serialize-helpers.hpp"
+#include "decimal.hpp"
Include dependency graph for attitude-utils.hpp:
- + - + - - - + + + + + +
@@ -139,13 +143,13 @@

- + - + - + @@ -166,46 +170,46 @@ - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +

Variables

Classes

struct  lost::Vec2
 A two dimensional vector with floating point components. More...
 A two dimensional vector with decimaling point components. More...
 
class  lost::Vec3
 Three dimensional vector with floating point components. More...
 Three dimensional vector with decimaling point components. More...
 
class  lost::Mat3
 3x3 vector with floating point components More...
 3x3 vector with decimaling point components More...
 
class  lost::EulerAngles
 A "human-readable" way to represent a 3d rotation or orientation. More...

Functions

void lost::SerializeVec3 (SerializeContext *ser, const Vec3 &vec)
 Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3. More...
 Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3. More...
 
Vec3 lost::DeserializeVec3 (DeserializeContext *des)
 
float lost::Distance (const Vec2 &, const Vec2 &)
 
float lost::Distance (const Vec3 &, const Vec3 &)
 
decimal lost::Distance (const Vec2 &, const Vec2 &)
 
decimal lost::Distance (const Vec3 &, const Vec3 &)
 
Mat3 lost::QuaternionToDCM (const Quaternion &quat)
 Convert a quaternion to a rotation matrix (Direction Cosine Matrix) More...
 
Quaternion lost::DCMToQuaternion (const Mat3 &dcm)
 Convert a rotation matrix (Direction Cosine Matrix) to a quaternion representing the same rotation. More...
 
Quaternion lost::SphericalToQuaternion (float ra, float dec, float roll)
 Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given right ascension and declination, then roll the coordinate axes counterclockwise (i.e., the stars will appear to rotate clockwise). More...
 
Vec3 lost::SphericalToSpatial (float ra, float de)
 Convert from right ascension & declination to a 3d point on the unit sphere. More...
 
void lost::SpatialToSpherical (const Vec3 &vec, float *ra, float *de)
 Convert from a 3d point on the unit sphere to right ascension & declination. More...
 
float lost::Angle (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two vectors. More...
 
float lost::AngleUnit (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two /unit/ vectors. More...
 
float lost::RadToDeg (float rad)
 
float lost::DegToRad (float deg)
 
float lost::RadToArcSec (float rad)
 
float lost::ArcSecToRad (float arcSec)
 
float lost::FloatModulo (float x, float mod)
 Given a float, find it "modulo" another float, in the true mathematical sense (not remainder). More...
 
Quaternion lost::SphericalToQuaternion (decimal ra, decimal dec, decimal roll)
 Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given right ascension and declination, then roll the coordinate axes counterclockwise (i.e., the stars will appear to rotate clockwise). More...
 
Vec3 lost::SphericalToSpatial (decimal ra, decimal de)
 Convert from right ascension & declination to a 3d point on the unit sphere. More...
 
void lost::SpatialToSpherical (const Vec3 &vec, decimal *ra, decimal *de)
 Convert from a 3d point on the unit sphere to right ascension & declination. More...
 
decimal lost::Angle (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two vectors. More...
 
decimal lost::AngleUnit (const Vec3 &vec1, const Vec3 &vec2)
 Calculate the inner angle, in radians, between two /unit/ vectors. More...
 
decimal lost::RadToDeg (decimal rad)
 
decimal lost::DegToRad (decimal deg)
 
decimal lost::RadToArcSec (decimal rad)
 
decimal lost::ArcSecToRad (decimal arcSec)
 
decimal lost::DecimalModulo (decimal x, decimal mod)
 Given a decimal, find it "modulo" another decimal, in the true mathematical sense (not remainder). More...
 
@@ -213,7 +217,7 @@ diff --git a/attitude-utils_8hpp.js b/attitude-utils_8hpp.js index f4cc46a8..9e200389 100644 --- a/attitude-utils_8hpp.js +++ b/attitude-utils_8hpp.js @@ -6,20 +6,20 @@ var attitude_utils_8hpp = [ "EulerAngles", "classlost_1_1_euler_angles.html", "classlost_1_1_euler_angles" ], [ "Quaternion", "classlost_1_1_quaternion.html", "classlost_1_1_quaternion" ], [ "Attitude", "classlost_1_1_attitude.html", "classlost_1_1_attitude" ], - [ "Angle", "attitude-utils_8hpp.html#a6b951e30f05e0a748e6c906697002093", null ], - [ "AngleUnit", "attitude-utils_8hpp.html#a07ccf05a4c7ac13fbee5edb5beb309bb", null ], - [ "ArcSecToRad", "attitude-utils_8hpp.html#a5bbe6ecaad42a3489cfd2b3482e7fc58", null ], + [ "Angle", "attitude-utils_8hpp.html#a6bdf1016fe03a8c46f98bc4633f644d3", null ], + [ "AngleUnit", "attitude-utils_8hpp.html#a4d066d222770cdbde925ab67813193dc", null ], + [ "ArcSecToRad", "attitude-utils_8hpp.html#a0bf2bbf8b3bc82f9647c9f327d1369de", null ], [ "DCMToQuaternion", "attitude-utils_8hpp.html#a6bb9983e45dfa4b82b531ca96c397eed", null ], - [ "DegToRad", "attitude-utils_8hpp.html#abf3a90819d379c9a4d0c48f385f52613", null ], + [ "DecimalModulo", "attitude-utils_8hpp.html#a8a1cf9ee7fb4af17e417110197dd813e", null ], + [ "DegToRad", "attitude-utils_8hpp.html#a543c802e0faa7d19b8bfb148573309fe", null ], [ "DeserializeVec3", "attitude-utils_8hpp.html#ab5201d0881b201c54c1a7b7c293523ba", null ], - [ "Distance", "attitude-utils_8hpp.html#a1a50ad86abfc9430d15d2f855311a1f0", null ], - [ "Distance", "attitude-utils_8hpp.html#a10f0dede807e0a46e2a09defd4270f51", null ], - [ "FloatModulo", "attitude-utils_8hpp.html#a01c855b3690f601ec92a40471aa05ebd", null ], + [ "Distance", "attitude-utils_8hpp.html#a36351539266df1a549d5e98ee01fc339", null ], + [ "Distance", "attitude-utils_8hpp.html#ae254d39e7932059a7b1e3024272d48a2", null ], [ "QuaternionToDCM", "attitude-utils_8hpp.html#a08209cdf2c6b9415866d576343c35bf2", null ], - [ "RadToArcSec", "attitude-utils_8hpp.html#a86999ae9a82ae57b98cb14dd1654c3f3", null ], - [ "RadToDeg", "attitude-utils_8hpp.html#adc5108f643b7657a835838c7f6411aa7", null ], + [ "RadToArcSec", "attitude-utils_8hpp.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d", null ], + [ "RadToDeg", "attitude-utils_8hpp.html#a65410f365157111a72350076d9c434c0", null ], [ "SerializeVec3", "attitude-utils_8hpp.html#aa2e68349539a9ef5024920ac4595e7e3", null ], - [ "SpatialToSpherical", "attitude-utils_8hpp.html#a922de1d7dbef8e24f5ca6e7505a8e944", null ], - [ "SphericalToQuaternion", "attitude-utils_8hpp.html#a7057fa740aebe1cbd43f3bafafff4ac1", null ], - [ "SphericalToSpatial", "attitude-utils_8hpp.html#a62a70a38d20ca4be158d9f592862aeb4", null ] + [ "SpatialToSpherical", "attitude-utils_8hpp.html#a24e63568aa9052a67ee2a3bc1a7900b3", null ], + [ "SphericalToQuaternion", "attitude-utils_8hpp.html#a562a86693dfa8ef7024526934fbfa8bb", null ], + [ "SphericalToSpatial", "attitude-utils_8hpp.html#a5bcac28daa68fac6e7141aea7d789e10", null ] ]; \ No newline at end of file diff --git a/attitude-utils_8hpp__incl.map b/attitude-utils_8hpp__incl.map index 981e848a..f13bd933 100644 --- a/attitude-utils_8hpp__incl.map +++ b/attitude-utils_8hpp__incl.map @@ -1,9 +1,12 @@ - + - + - - - + + + + + + diff --git a/attitude-utils_8hpp__incl.md5 b/attitude-utils_8hpp__incl.md5 index 89f1fbad..e4ba484b 100644 --- a/attitude-utils_8hpp__incl.md5 +++ b/attitude-utils_8hpp__incl.md5 @@ -1 +1 @@ -ea7e2010408c51470f508f7aa42305be \ No newline at end of file +3785693d15166dc3c4e369359e11a9cd \ No newline at end of file diff --git a/attitude-utils_8hpp__incl.png b/attitude-utils_8hpp__incl.png index d8af241f..787e15bb 100644 Binary files a/attitude-utils_8hpp__incl.png and b/attitude-utils_8hpp__incl.png differ diff --git a/attitude-utils_8hpp_source.html b/attitude-utils_8hpp_source.html index 255206f8..454ca627 100644 --- a/attitude-utils_8hpp_source.html +++ b/attitude-utils_8hpp_source.html @@ -94,244 +94,247 @@
5 #include <vector>
6 
7 #include "serialize-helpers.hpp"
-
8 
-
9 namespace lost {
-
10 
-
11 // At first, I wanted to have two separate Attitude classes, one storing Euler angles and converting
-
12 // to Quaterinon, and another storing as Quaternion and converting to Euler. But abstract classes
-
13 // make everything more annoying, because you need vectors of pointers...ugh!
-
14 
-
16 struct Vec2 {
-
17  float x;
-
18  float y;
-
19 
-
20  float Magnitude() const;
-
21  float MagnitudeSq() const;
-
22 
-
23  Vec2 Normalize() const;
-
24 
-
25  float operator*(const Vec2 &) const;
-
26  Vec2 operator*(const float &) const;
-
27  Vec2 operator-(const Vec2 &) const;
-
28  Vec2 operator+(const Vec2 &) const;
-
29 };
-
30 
-
31 class Mat3; // define above so we can use in Vec3 class
-
32 
-
34 class Vec3 {
-
35 public:
-
36  float x;
-
37  float y;
-
38  float z;
-
39 
-
40  float Magnitude() const;
-
41  float MagnitudeSq() const;
-
42  Vec3 Normalize() const;
-
43 
-
44  float operator*(const Vec3 &) const;
-
45  Vec3 operator*(const float &) const;
-
46  Vec3 operator*(const Mat3 &) const;
-
47  Vec3 operator-(const Vec3 &) const;
-
48  Vec3 CrossProduct(const Vec3 &) const;
-
49  Mat3 OuterProduct(const Vec3 &) const;
-
50 };
-
51 
-
53 class Mat3 {
-
54 public:
-
55  float x[9];
-
56 
-
57  float At(int i, int j) const;
-
58  Mat3 operator+(const Mat3 &) const;
-
59  Mat3 operator*(const Mat3 &) const;
-
60  Vec3 operator*(const Vec3 &) const;
-
61  Mat3 operator*(const float &) const;
-
62  Mat3 Transpose() const;
-
63  Vec3 Column(int) const;
-
64  Vec3 Row(int) const;
-
65  float Trace() const;
-
66  float Det() const;
-
67  Mat3 Inverse() const;
-
68 };
-
69 
-
70 extern const Mat3 kIdentityMat3;
-
71 
-
72 void SerializeVec3(SerializeContext *, const Vec3 &);
- -
74 
-
75 float Distance(const Vec2 &, const Vec2 &);
-
76 float Distance(const Vec3 &, const Vec3 &);
-
77 
-
83 class EulerAngles {
-
84 public:
-
85  EulerAngles(float ra, float de, float roll)
-
86  : ra(ra), de(de), roll(roll) { };
-
87 
-
89  float ra;
-
91  float de;
-
93  float roll;
-
94 };
-
95 
-
97 class Quaternion {
-
98 public:
-
99  Quaternion() = default;
-
100  explicit Quaternion(const Vec3 &);
-
101  Quaternion(const Vec3 &, float);
-
102 
-
103  Quaternion(float real, float i, float j, float k)
-
104  : real(real), i(i), j(j), k(k) { };
-
105 
-
106  Quaternion operator*(const Quaternion &other) const;
-
107  Quaternion Conjugate() const;
-
108  Vec3 Vector() const;
-
109  void SetVector(const Vec3 &);
-
110  Vec3 Rotate(const Vec3 &) const;
-
111  float Angle() const;
-
114  float SmallestAngle() const;
-
115  void SetAngle(float);
-
116  EulerAngles ToSpherical() const;
-
117  bool IsUnit(float tolerance) const;
-
118  Quaternion Canonicalize() const;
-
119 
-
120  float real;
-
121  float i;
-
122  float j;
-
123  float k;
-
124 };
-
125 
-
126 //
-
137 class Attitude {
-
138 public:
-
140  Attitude() = default;
-
141  explicit Attitude(const Quaternion &); // NOLINT
-
142  explicit Attitude(const Mat3 &dcm);
-
143 
-
144  Quaternion GetQuaternion() const;
-
145  Mat3 GetDCM() const;
-
146  EulerAngles ToSpherical() const;
-
147  Vec3 Rotate(const Vec3 &) const;
-
148  bool IsKnown() const;
-
149 
-
150 private:
-
151  enum class AttitudeType {
-
152  UnknownType,
-
153  QuaternionType,
-
154  DCMType,
-
155  };
-
156 
-
157  AttitudeType type;
-
158  Quaternion quaternion;
-
159  Mat3 dcm; // direction cosine matrix
-
160 };
-
161 
-
162 Mat3 QuaternionToDCM(const Quaternion &);
-
163 Quaternion DCMToQuaternion(const Mat3 &);
-
164 
-
168 Quaternion SphericalToQuaternion(float ra, float dec, float roll);
-
169 
-
171 Vec3 SphericalToSpatial(float ra, float de);
-
172 void SpatialToSpherical(const Vec3 &, float *ra, float *de);
-
174 float Angle(const Vec3 &, const Vec3 &);
-
176 float AngleUnit(const Vec3 &, const Vec3 &);
-
177 
-
178 float RadToDeg(float);
-
179 float DegToRad(float);
-
180 float RadToArcSec(float);
-
181 float ArcSecToRad(float);
-
184 float FloatModulo(float x, float mod);
-
185 
-
186 // TODO: quaternion and euler angle conversion, conversion between ascension/declination to rec9tu
-
187 
-
188 }
-
189 
-
190 #endif
-
The attitude (orientation) of a spacecraft.
-
EulerAngles ToSpherical() const
Get the euler angles from the attitude, converting from whatever format is stored.
-
Vec3 Rotate(const Vec3 &) const
Convert a vector from the reference frame to the body frame.
-
Mat3 GetDCM() const
Get the rotation matrix (direction cosine matrix) representing the attitude, converting from whatever...
+
8 #include "decimal.hpp"
+
9 
+
10 namespace lost {
+
11 
+
12 // At first, I wanted to have two separate Attitude classes, one storing Euler angles and converting
+
13 // to Quaterinon, and another storing as Quaternion and converting to Euler. But abstract classes
+
14 // make everything more annoying, because you need vectors of pointers...ugh!
+
15 
+
17 struct Vec2 {
+ + +
20 
+
21  decimal Magnitude() const;
+
22  decimal MagnitudeSq() const;
+
23 
+
24  Vec2 Normalize() const;
+
25 
+
26  decimal operator*(const Vec2 &) const;
+
27  Vec2 operator*(const decimal &) const;
+
28  Vec2 operator-(const Vec2 &) const;
+
29  Vec2 operator+(const Vec2 &) const;
+
30 };
+
31 
+
32 class Mat3; // define above so we can use in Vec3 class
+
33 
+
35 class Vec3 {
+
36 public:
+ + + +
40 
+
41  decimal Magnitude() const;
+
42  decimal MagnitudeSq() const;
+
43  Vec3 Normalize() const;
+
44 
+
45  decimal operator*(const Vec3 &) const;
+
46  Vec3 operator*(const decimal &) const;
+
47  Vec3 operator*(const Mat3 &) const;
+
48  Vec3 operator-(const Vec3 &) const;
+
49  Vec3 CrossProduct(const Vec3 &) const;
+
50  Mat3 OuterProduct(const Vec3 &) const;
+
51 };
+
52 
+
54 class Mat3 {
+
55 public:
+
56  decimal x[9];
+
57 
+
58  decimal At(int i, int j) const;
+
59  Mat3 operator+(const Mat3 &) const;
+
60  Mat3 operator*(const Mat3 &) const;
+
61  Vec3 operator*(const Vec3 &) const;
+
62  Mat3 operator*(const decimal &) const;
+
63  Mat3 Transpose() const;
+
64  Vec3 Column(int) const;
+
65  Vec3 Row(int) const;
+
66  decimal Trace() const;
+
67  decimal Det() const;
+
68  Mat3 Inverse() const;
+
69 };
+
70 
+
71 extern const Mat3 kIdentityMat3;
+
72 
+
73 void SerializeVec3(SerializeContext *, const Vec3 &);
+ +
75 
+
76 decimal Distance(const Vec2 &, const Vec2 &);
+
77 decimal Distance(const Vec3 &, const Vec3 &);
+
78 
+
84 class EulerAngles {
+
85 public:
+ +
87  : ra(ra), de(de), roll(roll) { };
+
88 
+ + + +
95 };
+
96 
+
98 class Quaternion {
+
99 public:
+
100  Quaternion() = default;
+
101  explicit Quaternion(const Vec3 &);
+
102  Quaternion(const Vec3 &, decimal);
+
103 
+ +
105  : real(real), i(i), j(j), k(k) { };
+
106 
+
107  Quaternion operator*(const Quaternion &other) const;
+
108  Quaternion Conjugate() const;
+
109  Vec3 Vector() const;
+
110  void SetVector(const Vec3 &);
+
111  Vec3 Rotate(const Vec3 &) const;
+
112  decimal Angle() const;
+
115  decimal SmallestAngle() const;
+
116  void SetAngle(decimal);
+
117  EulerAngles ToSpherical() const;
+
118  bool IsUnit(decimal tolerance) const;
+
119  Quaternion Canonicalize() const;
+
120 
+ + + + +
125 };
+
126 
+
127 //
+
138 class Attitude {
+
139 public:
+
141  Attitude() = default;
+
142  explicit Attitude(const Quaternion &); // NOLINT
+
143  explicit Attitude(const Mat3 &dcm);
+
144 
+
145  Quaternion GetQuaternion() const;
+
146  Mat3 GetDCM() const;
+
147  EulerAngles ToSpherical() const;
+
148  Vec3 Rotate(const Vec3 &) const;
+
149  bool IsKnown() const;
+
150 
+
151 private:
+
152  enum class AttitudeType {
+
153  UnknownType,
+
154  QuaternionType,
+
155  DCMType,
+
156  };
+
157 
+
158  AttitudeType type;
+
159  Quaternion quaternion;
+
160  Mat3 dcm; // direction cosine matrix
+
161 };
+
162 
+
163 Mat3 QuaternionToDCM(const Quaternion &);
+
164 Quaternion DCMToQuaternion(const Mat3 &);
+
165 
+
169 Quaternion SphericalToQuaternion(decimal ra, decimal dec, decimal roll);
+
170 
+
172 Vec3 SphericalToSpatial(decimal ra, decimal de);
+
173 void SpatialToSpherical(const Vec3 &, decimal *ra, decimal *de);
+
175 decimal Angle(const Vec3 &, const Vec3 &);
+
177 decimal AngleUnit(const Vec3 &, const Vec3 &);
+
178 
+ + + + + +
186 
+
187 // TODO: quaternion and euler angle conversion, conversion between ascension/declination to rec9tu
+
188 
+
189 }
+
190 
+
191 #endif
+
The attitude (orientation) of a spacecraft.
+
EulerAngles ToSpherical() const
Get the euler angles from the attitude, converting from whatever format is stored.
+
Vec3 Rotate(const Vec3 &) const
Convert a vector from the reference frame to the body frame.
+
Mat3 GetDCM() const
Get the rotation matrix (direction cosine matrix) representing the attitude, converting from whatever...
Attitude()=default
constructs unknown attitude:
-
Quaternion GetQuaternion() const
Get the quaternion representing the attitude, converting from whatever format is stored.
-
bool IsKnown() const
- -
A "human-readable" way to represent a 3d rotation or orientation.
-
EulerAngles(float ra, float de, float roll)
-
float roll
How far we roll counterclockwise. Roll is performed last (after yaw and pitch).
-
float ra
Right ascension. How far we yaw left. Yaw is performed first.
-
float de
Declination. How far we pitch up (or down if negative). Pitch is performed second,...
-
3x3 vector with floating point components
-
float Trace() const
Trace of a matrix.
-
Mat3 Inverse() const
Inverse of a matrix.
-
Vec3 Column(int) const
Get the column at index j.
-
Vec3 Row(int) const
Get the row at index i.
- -
float At(int i, int j) const
Access the i,j-th element of the matrix.
-
Mat3 Transpose() const
Transpose of a matrix.
-
Mat3 operator+(const Mat3 &) const
Normal matrix addition.
-
float Det() const
Determinant of a matrix.
-
Mat3 operator*(const Mat3 &) const
Naive matrix multiplication.
-
A quaternion is a common way to represent a 3d rotation.
-
Quaternion Canonicalize() const
Ensure that the quaternion's real part is nonnegative.
-
Vec3 Vector() const
The vector formed by imaginary components of the quaternion. The axis of the represented rotation.
-
EulerAngles ToSpherical() const
-
Vec3 Rotate(const Vec3 &) const
Rotate a 3d vector according to the rotation represented by the quaternion.
-
float SmallestAngle() const
Returns the smallest angle that can be used to represent the rotation represented by the quaternion.
-
Quaternion Conjugate() const
Effectively computes a quaternion representing the inverse rotation of the original.
-
void SetVector(const Vec3 &)
Set imaginary components.
+
Quaternion GetQuaternion() const
Get the quaternion representing the attitude, converting from whatever format is stored.
+
bool IsKnown() const
+ +
A "human-readable" way to represent a 3d rotation or orientation.
+
EulerAngles(decimal ra, decimal de, decimal roll)
+
decimal roll
How far we roll counterclockwise. Roll is performed last (after yaw and pitch).
+
decimal de
Declination. How far we pitch up (or down if negative). Pitch is performed second,...
+
decimal ra
Right ascension. How far we yaw left. Yaw is performed first.
+
3x3 vector with decimaling point components
+
Mat3 Inverse() const
Inverse of a matrix.
+
Vec3 Column(int) const
Get the column at index j.
+
Vec3 Row(int) const
Get the row at index i.
+
decimal Det() const
Determinant of a matrix.
+
Mat3 Transpose() const
Transpose of a matrix.
+
decimal Trace() const
Trace of a matrix.
+
decimal At(int i, int j) const
Access the i,j-th element of the matrix.
+
Mat3 operator+(const Mat3 &) const
Normal matrix addition.
+
decimal x[9]
+
Mat3 operator*(const Mat3 &) const
Naive matrix multiplication.
+
A quaternion is a common way to represent a 3d rotation.
+
Quaternion Canonicalize() const
Ensure that the quaternion's real part is nonnegative.
+ +
Vec3 Vector() const
The vector formed by imaginary components of the quaternion. The axis of the represented rotation.
+
decimal Angle() const
How many radians the rotation represented by this quaternion has.
+
EulerAngles ToSpherical() const
+
Vec3 Rotate(const Vec3 &) const
Rotate a 3d vector according to the rotation represented by the quaternion.
+ +
Quaternion(decimal real, decimal i, decimal j, decimal k)
+
Quaternion Conjugate() const
Effectively computes a quaternion representing the inverse rotation of the original.
+
void SetVector(const Vec3 &)
Set imaginary components.
Quaternion()=default
- -
float Angle() const
How many radians the rotation represented by this quaternion has.
-
Quaternion operator*(const Quaternion &other) const
Multiply two quaternions using the usual definition of quaternion multiplication (effectively compose...
-
void SetAngle(float)
- - -
bool IsUnit(float tolerance) const
Whether the quaternion is a unit quaternion. All quaternions representing rotations should be units.
-
Quaternion(float real, float i, float j, float k)
- - -
Three dimensional vector with floating point components.
-
float operator*(const Vec3 &) const
Dot product.
-
float Magnitude() const
-
Vec3 Normalize() const
Create a vector pointing in the same direction with magnitude 1.
- - -
Mat3 OuterProduct(const Vec3 &) const
The outer product of two vectors.
-
float MagnitudeSq() const
The square of the magnitude.
- -
Vec3 CrossProduct(const Vec3 &) const
Usual vector cross product.
-
Vec3 operator-(const Vec3 &) const
Usual vector subtraction.
-
LOST starting point.
-
float FloatModulo(float x, float mod)
Given a float, find it "modulo" another float, in the true mathematical sense (not remainder).
-
float AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two /unit/ vectors.
-
Mat3 QuaternionToDCM(const Quaternion &quat)
Convert a quaternion to a rotation matrix (Direction Cosine Matrix)
-
float Distance(const Vec2 &, const Vec2 &)
-
float ArcSecToRad(float arcSec)
-
Vec3 SphericalToSpatial(float ra, float de)
Convert from right ascension & declination to a 3d point on the unit sphere.
-
const Mat3 kIdentityMat3
3x3 identity matrix
-
float Angle(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two vectors.
-
Quaternion DCMToQuaternion(const Mat3 &dcm)
Convert a rotation matrix (Direction Cosine Matrix) to a quaternion representing the same rotation.
-
Quaternion SphericalToQuaternion(float ra, float dec, float roll)
Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given rig...
-
float RadToArcSec(float rad)
-
void SpatialToSpherical(const Vec3 &vec, float *ra, float *de)
Convert from a 3d point on the unit sphere to right ascension & declination.
-
void SerializeVec3(SerializeContext *ser, const Vec3 &vec)
Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.
-
Vec3 DeserializeVec3(DeserializeContext *des)
-
float DegToRad(float deg)
-
float RadToDeg(float rad)
+ +
Quaternion operator*(const Quaternion &other) const
Multiply two quaternions using the usual definition of quaternion multiplication (effectively compose...
+
void SetAngle(decimal)
+ +
bool IsUnit(decimal tolerance) const
Whether the quaternion is a unit quaternion. All quaternions representing rotations should be units.
+
decimal SmallestAngle() const
Returns the smallest angle that can be used to represent the rotation represented by the quaternion.
+ +
Three dimensional vector with decimaling point components.
+
Vec3 Normalize() const
Create a vector pointing in the same direction with magnitude 1.
+
decimal MagnitudeSq() const
The square of the magnitude.
+
Mat3 OuterProduct(const Vec3 &) const
The outer product of two vectors.
+
decimal operator*(const Vec3 &) const
Dot product.
+ + +
Vec3 CrossProduct(const Vec3 &) const
Usual vector cross product.
+
decimal Magnitude() const
+ +
Vec3 operator-(const Vec3 &) const
Usual vector subtraction.
+ +
double decimal
Definition: decimal.hpp:11
+
LOST starting point.
+
Mat3 QuaternionToDCM(const Quaternion &quat)
Convert a quaternion to a rotation matrix (Direction Cosine Matrix)
+
decimal RadToArcSec(decimal rad)
+
decimal ArcSecToRad(decimal arcSec)
+
void SpatialToSpherical(const Vec3 &vec, decimal *ra, decimal *de)
Convert from a 3d point on the unit sphere to right ascension & declination.
+
decimal Distance(const Vec2 &, const Vec2 &)
+
decimal AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two /unit/ vectors.
+
decimal DegToRad(decimal deg)
+
Quaternion SphericalToQuaternion(decimal ra, decimal dec, decimal roll)
Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given rig...
+
Vec3 SphericalToSpatial(decimal ra, decimal de)
Convert from right ascension & declination to a 3d point on the unit sphere.
+
decimal RadToDeg(decimal rad)
+
const Mat3 kIdentityMat3
3x3 identity matrix
+
Quaternion DCMToQuaternion(const Mat3 &dcm)
Convert a rotation matrix (Direction Cosine Matrix) to a quaternion representing the same rotation.
+
decimal Angle(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two vectors.
+
decimal DecimalModulo(decimal x, decimal mod)
Given a decimal, find it "modulo" another decimal, in the true mathematical sense (not remainder).
+
void SerializeVec3(SerializeContext *ser, const Vec3 &vec)
Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.
+
Vec3 DeserializeVec3(DeserializeContext *des)
-
A two dimensional vector with floating point components.
+
A two dimensional vector with decimaling point components.
Vec2 Normalize() const
-
float Magnitude() const
- -
Vec2 operator-(const Vec2 &) const
Usual vector addition.
-
Vec2 operator+(const Vec2 &) const
Usual vector addition.
- -
float operator*(const Vec2 &) const
-
float MagnitudeSq() const
The square of the magnitude.
+
decimal MagnitudeSq() const
The square of the magnitude.
+ +
Vec2 operator-(const Vec2 &) const
Usual vector addition.
+
decimal operator*(const Vec2 &) const
+
Vec2 operator+(const Vec2 &) const
Usual vector addition.
+
decimal Magnitude() const
+ diff --git a/camera_8cpp.html b/camera_8cpp.html index 08aba5a8..a1fab4b1 100644 --- a/camera_8cpp.html +++ b/camera_8cpp.html @@ -94,22 +94,26 @@ #include <math.h>
#include <assert.h>
#include "attitude-utils.hpp"
+#include "decimal.hpp"
Include dependency graph for camera.cpp:
- - - - - - - - - - - + + + + + + + + + + + + + +
@@ -123,10 +127,10 @@ - - - - + + + +

Functions

float lost::FovToFocalLength (float xFov, float xResolution)
 
float lost::FocalLengthToFov (float focalLength, float xResolution, float pixelSize)
 
decimal lost::FovToFocalLength (decimal xFov, decimal xResolution)
 
decimal lost::FocalLengthToFov (decimal focalLength, decimal xResolution, decimal pixelSize)
 
@@ -134,7 +138,7 @@ diff --git a/camera_8cpp.js b/camera_8cpp.js index 083fd891..07dceb78 100644 --- a/camera_8cpp.js +++ b/camera_8cpp.js @@ -1,5 +1,5 @@ var camera_8cpp = [ - [ "FocalLengthToFov", "camera_8cpp.html#ae05e275818c57f3b736b70236d0e6703", null ], - [ "FovToFocalLength", "camera_8cpp.html#a5e7d67bec758d4922935c84b8a0f8526", null ] + [ "FocalLengthToFov", "camera_8cpp.html#a96ba4670682e2bfdbe3fd350b0162e38", null ], + [ "FovToFocalLength", "camera_8cpp.html#a000f9bcbfc18aa202849ef43a455cb20", null ] ]; \ No newline at end of file diff --git a/camera_8cpp__incl.map b/camera_8cpp__incl.map index cab23ec2..bedaed70 100644 --- a/camera_8cpp__incl.map +++ b/camera_8cpp__incl.map @@ -1,13 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/camera_8cpp__incl.md5 b/camera_8cpp__incl.md5 index 19e7b131..03b8bd58 100644 --- a/camera_8cpp__incl.md5 +++ b/camera_8cpp__incl.md5 @@ -1 +1 @@ -cb6c89729193654fb7efbfcf31dbbada \ No newline at end of file +da48fcafc271bea1bce809a8dc8a19a3 \ No newline at end of file diff --git a/camera_8cpp__incl.png b/camera_8cpp__incl.png index 31b6b7bf..5aa4f9a5 100644 Binary files a/camera_8cpp__incl.png and b/camera_8cpp__incl.png differ diff --git a/camera_8cpp_source.html b/camera_8cpp_source.html index f1824938..eda9ecd7 100644 --- a/camera_8cpp_source.html +++ b/camera_8cpp_source.html @@ -93,80 +93,86 @@
4 #include <assert.h>
5 
6 #include "attitude-utils.hpp"
-
7 
-
8 namespace lost {
-
9 
-
14 Vec2 Camera::SpatialToCamera(const Vec3 &vector) const {
-
15  // can't handle things behind the camera.
-
16  assert(vector.x > 0);
-
17  // TODO: is there any sort of accuracy problem when vector.y and vector.z are small?
-
18 
-
19  float focalFactor = focalLength/vector.x;
-
20 
-
21  float yPixel = vector.y*focalFactor;
-
22  float zPixel = vector.z*focalFactor;
-
23 
-
24  return { -yPixel + xCenter, -zPixel + yCenter };
-
25 }
-
26 
-
34 Vec3 Camera::CameraToSpatial(const Vec2 &vector) const {
-
35  assert(InSensor(vector));
-
36 
-
37  // isn't it interesting: To convert from center-based to left-corner-based coordinates is the
-
38  // same formula; f(x)=f^{-1}(x) !
-
39  float xPixel = -vector.x + xCenter;
-
40  float yPixel = -vector.y + yCenter;
-
41 
-
42  return {
-
43  1,
-
44  xPixel / focalLength,
-
45  yPixel / focalLength,
-
46  };
-
47 }
-
48 
-
50 bool Camera::InSensor(const Vec2 &vector) const {
-
51  // if vector.x == xResolution, then it is at the leftmost point of the pixel that's "hanging
-
52  // off" the edge of the image, so vector is still in the image.
-
53  return vector.x >= 0 && vector.x <= xResolution
-
54  && vector.y >= 0 && vector.y <= yResolution;
-
55 }
-
56 
-
57 float FovToFocalLength(float xFov, float xResolution) {
-
58  return xResolution / 2.0f / tan(xFov/2);
-
59 }
-
60 
-
61 float FocalLengthToFov(float focalLength, float xResolution, float pixelSize) {
-
62  return atan(xResolution/2 * pixelSize / focalLength) * 2;
-
63 }
-
64 
-
65 float Camera::Fov() const {
-
66  return FocalLengthToFov(focalLength, xResolution, 1.0);
-
67 }
-
68 
-
69 }
+
7 #include "decimal.hpp"
+
8 
+
9 namespace lost {
+
10 
+
15 Vec2 Camera::SpatialToCamera(const Vec3 &vector) const {
+
16  // can't handle things behind the camera.
+
17  assert(vector.x > 0);
+
18  // TODO: is there any sort of accuracy problem when vector.y and vector.z are small?
+
19 
+
20  decimal focalFactor = focalLength/vector.x;
+
21 
+
22  decimal yPixel = vector.y*focalFactor;
+
23  decimal zPixel = vector.z*focalFactor;
+
24 
+
25  return { -yPixel + xCenter, -zPixel + yCenter };
+
26 }
+
27 
+
35 Vec3 Camera::CameraToSpatial(const Vec2 &vector) const {
+
36  assert(InSensor(vector));
+
37 
+
38  // isn't it interesting: To convert from center-based to left-corner-based coordinates is the
+
39  // same formula; f(x)=f^{-1}(x) !
+
40  decimal xPixel = -vector.x + xCenter;
+
41  decimal yPixel = -vector.y + yCenter;
+
42 
+
43  return {
+
44  1,
+
45  xPixel / focalLength,
+
46  yPixel / focalLength,
+
47  };
+
48 }
+
49 
+
51 bool Camera::InSensor(const Vec2 &vector) const {
+
52  // if vector.x == xResolution, then it is at the leftmost point of the pixel that's "hanging
+
53  // off" the edge of the image, so vector is still in the image.
+
54  return vector.x >= 0 && vector.x <= xResolution
+
55  && vector.y >= 0 && vector.y <= yResolution;
+
56 }
+
57 
+ +
59  return xResolution / DECIMAL(2.0) / DECIMAL_TAN(xFov/2);
+
60 }
+
61 
+
62 decimal FocalLengthToFov(decimal focalLength, decimal xResolution, decimal pixelSize) {
+
63  return DECIMAL_ATAN(xResolution/2 * pixelSize / focalLength) * 2;
+
64 }
+
65 
+ +
67  return FocalLengthToFov(focalLength, xResolution, 1.0);
+
68 }
+
69 
+
70 }
-
Vec2 SpatialToCamera(const Vec3 &) const
Converts from a 3D point in space to a 2D point on the camera sensor.
Definition: camera.cpp:14
-
float Fov() const
Horizontal field of view in radians.
Definition: camera.cpp:65
-
bool InSensor(const Vec2 &vector) const
Returns whether a given pixel is actually in the camera's field of view.
Definition: camera.cpp:50
-
Vec3 CameraToSpatial(const Vec2 &) const
Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
Definition: camera.cpp:34
-
Three dimensional vector with floating point components.
- - - -
LOST starting point.
-
float FovToFocalLength(float xFov, float xResolution)
Definition: camera.cpp:57
-
float FocalLengthToFov(float focalLength, float xResolution, float pixelSize)
Definition: camera.cpp:61
-
A two dimensional vector with floating point components.
- - +
Vec2 SpatialToCamera(const Vec3 &) const
Converts from a 3D point in space to a 2D point on the camera sensor.
Definition: camera.cpp:15
+
bool InSensor(const Vec2 &vector) const
Returns whether a given pixel is actually in the camera's field of view.
Definition: camera.cpp:51
+
decimal Fov() const
Horizontal field of view in radians.
Definition: camera.cpp:66
+
Vec3 CameraToSpatial(const Vec2 &) const
Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
Definition: camera.cpp:35
+
Three dimensional vector with decimaling point components.
+ + + + +
double decimal
Definition: decimal.hpp:11
+
#define DECIMAL_TAN(x)
Definition: decimal.hpp:54
+
#define DECIMAL(x)
Definition: decimal.hpp:21
+
#define DECIMAL_ATAN(x)
Definition: decimal.hpp:57
+
LOST starting point.
+
decimal FovToFocalLength(decimal xFov, decimal xResolution)
Definition: camera.cpp:58
+
decimal FocalLengthToFov(decimal focalLength, decimal xResolution, decimal pixelSize)
Definition: camera.cpp:62
+
A two dimensional vector with decimaling point components.
+ + diff --git a/camera_8hpp.html b/camera_8hpp.html index be7bdbf6..5e240ec2 100644 --- a/camera_8hpp.html +++ b/camera_8hpp.html @@ -97,14 +97,17 @@
- - + + - + - - - + + + + + +
@@ -141,8 +144,8 @@ - - + +

Functions

float lost::FovToFocalLength (float xFov, float xResolution)
 
decimal lost::FovToFocalLength (decimal xFov, decimal xResolution)
 
@@ -150,7 +153,7 @@ diff --git a/camera_8hpp.js b/camera_8hpp.js index 5f143f83..ea32edd5 100644 --- a/camera_8hpp.js +++ b/camera_8hpp.js @@ -1,5 +1,5 @@ var camera_8hpp = [ [ "Camera", "classlost_1_1_camera.html", "classlost_1_1_camera" ], - [ "FovToFocalLength", "camera_8hpp.html#a5e7d67bec758d4922935c84b8a0f8526", null ] + [ "FovToFocalLength", "camera_8hpp.html#a000f9bcbfc18aa202849ef43a455cb20", null ] ]; \ No newline at end of file diff --git a/camera_8hpp__incl.map b/camera_8hpp__incl.map index 154ef38a..ba942784 100644 --- a/camera_8hpp__incl.map +++ b/camera_8hpp__incl.map @@ -1,10 +1,13 @@ - - + + - + - - - + + + + + + diff --git a/camera_8hpp__incl.md5 b/camera_8hpp__incl.md5 index f7925353..66c2d9a8 100644 --- a/camera_8hpp__incl.md5 +++ b/camera_8hpp__incl.md5 @@ -1 +1 @@ -33137602240196f540fbb828eb7e67d2 \ No newline at end of file +60828aeb020243be32438b62ab7d276d \ No newline at end of file diff --git a/camera_8hpp__incl.png b/camera_8hpp__incl.png index cca55c5e..21d8441a 100644 Binary files a/camera_8hpp__incl.png and b/camera_8hpp__incl.png differ diff --git a/camera_8hpp_source.html b/camera_8hpp_source.html index 6ce0ea38..245780af 100644 --- a/camera_8hpp_source.html +++ b/camera_8hpp_source.html @@ -98,16 +98,16 @@
10 public:
11  Camera(const Camera &) = default;
12 
-
16  Camera(float focalLength,
-
17  float xCenter, float yCenter,
+
16  Camera(decimal focalLength,
+
17  decimal xCenter, decimal yCenter,
18  int xResolution, int yResolution)
19  : focalLength(focalLength),
20  xCenter(xCenter), yCenter(yCenter),
21  xResolution(xResolution), yResolution(yResolution) {};
22 
-
23  Camera(float focalLength, int xResolution, int yResolution)
+
23  Camera(decimal focalLength, int xResolution, int yResolution)
24  : Camera(focalLength,
-
25  xResolution / (float) 2.0, yResolution / (float) 2.0,
+
25  xResolution / DECIMAL(2.0), yResolution / DECIMAL(2.0),
26  xResolution, yResolution) {};
27 
28  Vec2 SpatialToCamera(const Vec3 &) const;
@@ -115,53 +115,55 @@
30 
31  // converts from a 2d point in the camera sensor to right ascension and declination relative to
32  // the center of the camera.
-
33  // void CoordinateAngles(const Vec2 &vector, float *ra, float *de) const;
+
33  // void CoordinateAngles(const Vec2 &vector, decimal *ra, decimal *de) const;
34 
35  bool InSensor(const Vec2 &vector) const;
36 
38  int XResolution() const { return xResolution; };
40  int YResolution() const { return yResolution; };
-
42  float FocalLength() const { return focalLength; };
-
44  float Fov() const;
+
42  decimal FocalLength() const { return focalLength; };
+
44  decimal Fov() const;
45 
-
46  void SetFocalLength(float focalLength) { this->focalLength = focalLength; }
+
46  void SetFocalLength(decimal focalLength) { this->focalLength = focalLength; }
47 
48 private:
49  // TODO: distortion
-
50  float focalLength;
-
51  float xCenter; float yCenter;
+
50  decimal focalLength;
+
51  decimal xCenter; decimal yCenter;
52  int xResolution; int yResolution;
53 };
54 
-
55 float FovToFocalLength(float xFov, float xResolution);
+
55 decimal FovToFocalLength(decimal xFov, decimal xResolution);
56 
57 }
58 
59 #endif
A full description of a camera. Enough information to reconstruct the camera matrix and then some.
Definition: camera.hpp:9
-
Vec2 SpatialToCamera(const Vec3 &) const
Converts from a 3D point in space to a 2D point on the camera sensor.
Definition: camera.cpp:14
+
Vec2 SpatialToCamera(const Vec3 &) const
Converts from a 3D point in space to a 2D point on the camera sensor.
Definition: camera.cpp:15
Camera(const Camera &)=default
-
float Fov() const
Horizontal field of view in radians.
Definition: camera.cpp:65
-
bool InSensor(const Vec2 &vector) const
Returns whether a given pixel is actually in the camera's field of view.
Definition: camera.cpp:50
-
Camera(float focalLength, float xCenter, float yCenter, int xResolution, int yResolution)
Definition: camera.hpp:16
+
void SetFocalLength(decimal focalLength)
Definition: camera.hpp:46
+
bool InSensor(const Vec2 &vector) const
Returns whether a given pixel is actually in the camera's field of view.
Definition: camera.cpp:51
+
Camera(decimal focalLength, decimal xCenter, decimal yCenter, int xResolution, int yResolution)
Definition: camera.hpp:16
int XResolution() const
Width of the sensor in pixels.
Definition: camera.hpp:38
int YResolution() const
Height of the sensor in pixels.
Definition: camera.hpp:40
-
void SetFocalLength(float focalLength)
Definition: camera.hpp:46
-
Camera(float focalLength, int xResolution, int yResolution)
Definition: camera.hpp:23
-
float FocalLength() const
Focal length in pixels.
Definition: camera.hpp:42
-
Vec3 CameraToSpatial(const Vec2 &) const
Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
Definition: camera.cpp:34
-
Three dimensional vector with floating point components.
-
LOST starting point.
-
float FovToFocalLength(float xFov, float xResolution)
Definition: camera.cpp:57
-
A two dimensional vector with floating point components.
+
decimal Fov() const
Horizontal field of view in radians.
Definition: camera.cpp:66
+
Vec3 CameraToSpatial(const Vec2 &) const
Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
Definition: camera.cpp:35
+
Camera(decimal focalLength, int xResolution, int yResolution)
Definition: camera.hpp:23
+
decimal FocalLength() const
Focal length in pixels.
Definition: camera.hpp:42
+
Three dimensional vector with decimaling point components.
+
double decimal
Definition: decimal.hpp:11
+
#define DECIMAL(x)
Definition: decimal.hpp:21
+
LOST starting point.
+
decimal FovToFocalLength(decimal xFov, decimal xResolution)
Definition: camera.cpp:58
+
A two dimensional vector with decimaling point components.
diff --git a/centroiders_8cpp.html b/centroiders_8cpp.html index fd920e77..f7ebaddc 100644 --- a/centroiders_8cpp.html +++ b/centroiders_8cpp.html @@ -95,33 +95,36 @@
#include "centroiders.hpp"
#include <stdio.h>
#include <stdlib.h>
-#include <math.h>
#include <string.h>
+#include <cmath>
#include <vector>
#include <iostream>
#include <unordered_map>
#include <unordered_set>
+#include "decimal.hpp"
Include dependency graph for centroiders.cpp:
- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
@@ -157,8 +160,8 @@ - - + +

Variables

float lost::iWCoGMinChange = 0.0002
 
decimal lost::iWCoGMinChange = DECIMAL(0.0002)
 
@@ -166,7 +169,7 @@ diff --git a/centroiders_8cpp.js b/centroiders_8cpp.js index 38703ffb..00c82506 100644 --- a/centroiders_8cpp.js +++ b/centroiders_8cpp.js @@ -8,5 +8,5 @@ var centroiders_8cpp = [ "CogHelper", "centroiders_8cpp.html#ab27cb6dc471b1c682f9dc67f41097529", null ], [ "IWCoGHelper", "centroiders_8cpp.html#a789d628bbeab011d5552a6dc551b77a2", null ], [ "OtsusThreshold", "centroiders_8cpp.html#a1c383b038ea9376eacf4858247d765be", null ], - [ "iWCoGMinChange", "centroiders_8cpp.html#adb169fa5f416a7acc9c7a9c52b2c86a6", null ] + [ "iWCoGMinChange", "centroiders_8cpp.html#aad95264f15efbc0e15b439142007354c", null ] ]; \ No newline at end of file diff --git a/centroiders_8cpp__incl.map b/centroiders_8cpp__incl.map index 4f1cc7ea..4b44a01e 100644 --- a/centroiders_8cpp__incl.map +++ b/centroiders_8cpp__incl.map @@ -1,18 +1,20 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/centroiders_8cpp__incl.md5 b/centroiders_8cpp__incl.md5 index a5dfae42..5b8bc70b 100644 --- a/centroiders_8cpp__incl.md5 +++ b/centroiders_8cpp__incl.md5 @@ -1 +1 @@ -b822710db418a69643305589033a8ef7 \ No newline at end of file +dbd84a3cbfac29d175d6bd4c87bf1689 \ No newline at end of file diff --git a/centroiders_8cpp__incl.png b/centroiders_8cpp__incl.png index 8ac84246..aa0c6bee 100644 Binary files a/centroiders_8cpp__incl.png and b/centroiders_8cpp__incl.png differ diff --git a/centroiders_8cpp_source.html b/centroiders_8cpp_source.html index a46168a9..35c9bb3b 100644 --- a/centroiders_8cpp_source.html +++ b/centroiders_8cpp_source.html @@ -91,369 +91,378 @@
2 
3 #include <stdio.h>
4 #include <stdlib.h>
-
5 #include <math.h>
-
6 #include <string.h>
-
7 
+
5 #include <string.h>
+
6 
+
7 #include <cmath>
8 #include <vector>
9 #include <iostream>
10 #include <unordered_map>
11 #include <unordered_set>
12 
-
13 namespace lost {
+
13 #include "decimal.hpp"
14 
-
15 // DUMMY
+
15 namespace lost {
16 
-
17 std::vector<Star> DummyCentroidAlgorithm::Go(unsigned char *, int imageWidth, int imageHeight) const {
-
18  std::vector<Star> result;
-
19 
-
20  unsigned int randomSeed = 123456;
-
21  for (int i = 0; i < numStars; i++) {
-
22  result.push_back(Star(rand_r(&randomSeed) % imageWidth, rand_r(&randomSeed) % imageHeight, 10.0));
-
23  }
-
24 
-
25  return result;
-
26 }
-
27 
-
28 // a poorly designed thresholding algorithm
-
29 int BadThreshold(unsigned char *image, int imageWidth, int imageHeight) {
-
30  //loop through entire array, find sum of magnitudes
-
31  long totalMag = 0;
-
32  for (long i = 0; i < imageHeight * imageWidth; i++) {
-
33  totalMag += image[i];
-
34  }
-
35  return (((totalMag/(imageHeight * imageWidth)) + 1) * 15) / 10;
-
36 }
-
37 
-
38 // a more sophisticated thresholding algorithm, not tailored to star images
-
39 int OtsusThreshold(unsigned char *image, int imageWidth, int imageHeight) {
-
40  // code here, duh
-
41  long total = imageWidth * imageHeight;
-
42  //float top = 255;
-
43  float sumB = 0;
-
44  float sum1 = 0;
-
45  float wB = 0;
-
46  float maximum = 0;
-
47  int level = 0;
-
48  // make the histogram (array length 256)
-
49  int histogram[256];
-
50 
-
51  memset(histogram, 0, sizeof(int)*256);
+
17 // DUMMY
+
18 
+
19 std::vector<Star> DummyCentroidAlgorithm::Go(unsigned char *, int imageWidth, int imageHeight) const {
+
20  std::vector<Star> result;
+
21 
+
22  unsigned int randomSeed = 123456;
+
23  for (int i = 0; i < numStars; i++) {
+
24  result.push_back(Star(rand_r(&randomSeed) % imageWidth, rand_r(&randomSeed) % imageHeight, DECIMAL(10.0)));
+
25  }
+
26 
+
27  return result;
+
28 }
+
29 
+
30 // a poorly designed thresholding algorithm
+
31 int BadThreshold(unsigned char *image, int imageWidth, int imageHeight) {
+
32  //loop through entire array, find sum of magnitudes
+
33  long totalMag = 0;
+
34  for (long i = 0; i < imageHeight * imageWidth; i++) {
+
35  totalMag += image[i];
+
36  }
+
37  return (((totalMag/(imageHeight * imageWidth)) + 1) * 15) / 10;
+
38 }
+
39 
+
40 // a more sophisticated thresholding algorithm, not tailored to star images
+
41 int OtsusThreshold(unsigned char *image, int imageWidth, int imageHeight) {
+
42  // code here, duh
+
43  long total = imageWidth * imageHeight;
+
44  //decimal top = 255;
+
45  decimal sumB = 0;
+
46  decimal sum1 = 0;
+
47  decimal wB = 0;
+
48  decimal maximum = 0;
+
49  int level = 0;
+
50  // make the histogram (array length 256)
+
51  int histogram[256];
52 
-
53  for (long i = 0; i < total; i++) {
-
54  histogram[image[i]]++;
-
55  }
-
56  for (int i = 0; i < 256; i ++) {
-
57  sum1 += i * histogram[i];
-
58  }
-
59  for (int i = 0; i < 256; i ++) {
-
60  float wF = total - wB;
-
61  //std::cout << "wF\n" << wB << "\n";
-
62  //std::cout << "wB\n" << wF << "\n";
-
63  if (wB > 0 && wF > 0) {
-
64  float mF = (sum1 - sumB) / wF;
-
65  float val = wB * wF * ((sumB / wB) - mF) * ((sumB / wB) - mF);
-
66  //std::cout << val << "\n";
-
67  if (val >= maximum) {
-
68  level = i;
-
69  maximum = val;
-
70  }
-
71  }
-
72  wB = wB + histogram[i];
-
73  sumB = sumB + i * histogram[i];
-
74  }
-
75  return level;
-
76 }
-
77 
-
78 // a simple, but well tested thresholding algorithm that works well with star images
-
79 int BasicThreshold(unsigned char *image, int imageWidth, int imageHeight) {
-
80  unsigned long totalMag = 0;
-
81  float std = 0;
-
82  long totalPixels = imageHeight * imageWidth;
-
83  for (long i = 0; i < totalPixels; i++) {
-
84  totalMag += image[i];
-
85  }
-
86  float mean = totalMag / totalPixels;
-
87  for (long i = 0; i < totalPixels; i++) {
-
88  std += std::pow(image[i] - mean, 2);
-
89  }
-
90  std = std::sqrt(std / totalPixels);
-
91  return mean + (std * 5);
-
92 }
-
93 
-
94 // basic thresholding, but do it faster (trade off of some accuracy?)
-
95 int BasicThresholdOnePass(unsigned char *image, int imageWidth, int imageHeight) {
-
96  unsigned long totalMag = 0;
-
97  float std = 0;
-
98  float sq_totalMag = 0;
-
99  long totalPixels = imageHeight * imageWidth;
-
100  for (long i = 0; i < totalPixels; i++) {
-
101  totalMag += image[i];
-
102  sq_totalMag += image[i] * image[i];
-
103  }
-
104  float mean = totalMag / totalPixels;
-
105  float variance = (sq_totalMag / totalPixels) - (mean * mean);
-
106  std = std::sqrt(variance);
-
107  return mean + (std * 5);
-
108 }
-
109 
- - - -
113  long magSum;
-
114  int xMin;
-
115  int xMax;
-
116  int yMin;
-
117  int yMax;
-
118  int cutoff;
-
119  bool isValid;
-
120  std::unordered_set<int> checkedIndices;
-
121 };
-
122 
-
123 //recursive helper here
-
124 void CogHelper(CentroidParams *p, long i, unsigned char *image, int imageWidth, int imageHeight) {
-
125 
-
126  if (i >= 0 && i < imageWidth * imageHeight && image[i] >= p->cutoff && p->checkedIndices.count(i) == 0) {
-
127  //check if pixel is on the edge of the image, if it is, we dont want to centroid this star
-
128  if (i % imageWidth == 0 || i % imageWidth == imageWidth - 1 || i / imageWidth == 0 || i / imageWidth == imageHeight - 1) {
-
129  p->isValid = false;
-
130  }
-
131  p->checkedIndices.insert(i);
-
132  if (i % imageWidth > p->xMax) {
-
133  p->xMax = i % imageWidth;
-
134  } else if (i % imageWidth < p->xMin) {
-
135  p->xMin = i % imageWidth;
-
136  }
-
137  if (i / imageWidth > p->yMax) {
-
138  p->yMax = i / imageWidth;
-
139  } else if (i / imageWidth < p->yMin) {
-
140  p->yMin = i / imageWidth;
-
141  }
-
142  p->magSum += image[i];
-
143  p->xCoordMagSum += ((i % imageWidth)) * image[i];
-
144  p->yCoordMagSum += ((i / imageWidth)) * image[i];
-
145  if (i % imageWidth != imageWidth - 1) {
-
146  CogHelper(p, i + 1, image, imageWidth, imageHeight);
-
147  }
-
148  if (i % imageWidth != 0) {
-
149  CogHelper(p, i - 1, image, imageWidth, imageHeight);
-
150  }
-
151  CogHelper(p, i + imageWidth, image, imageWidth, imageHeight);
-
152  CogHelper(p, i - imageWidth, image, imageWidth, imageHeight);
-
153  }
-
154 }
-
155 
-
156 std::vector<Star> CenterOfGravityAlgorithm::Go(unsigned char *image, int imageWidth, int imageHeight) const {
-
157  CentroidParams p;
-
158 
-
159  std::vector<Star> result;
+
53  memset(histogram, 0, sizeof(int)*256);
+
54 
+
55  for (long i = 0; i < total; i++) {
+
56  histogram[image[i]]++;
+
57  }
+
58  for (int i = 0; i < 256; i ++) {
+
59  sum1 += i * histogram[i];
+
60  }
+
61  for (int i = 0; i < 256; i ++) {
+
62  decimal wF = total - wB;
+
63  //std::cout << "wF\n" << wB << "\n";
+
64  //std::cout << "wB\n" << wF << "\n";
+
65  if (wB > 0 && wF > 0) {
+
66  decimal mF = (sum1 - sumB) / wF;
+
67  decimal val = wB * wF * ((sumB / wB) - mF) * ((sumB / wB) - mF);
+
68  //std::cout << val << "\n";
+
69  if (val >= maximum) {
+
70  level = i;
+
71  maximum = val;
+
72  }
+
73  }
+
74  wB = wB + histogram[i];
+
75  sumB = sumB + i * histogram[i];
+
76  }
+
77  return level;
+
78 }
+
79 
+
80 // a simple, but well tested thresholding algorithm that works well with star images
+
81 int BasicThreshold(unsigned char *image, int imageWidth, int imageHeight) {
+
82  unsigned long totalMag = 0;
+
83  decimal std = 0;
+
84  long totalPixels = imageHeight * imageWidth;
+
85  for (long i = 0; i < totalPixels; i++) {
+
86  totalMag += image[i];
+
87  }
+
88  decimal mean = totalMag / totalPixels;
+
89  for (long i = 0; i < totalPixels; i++) {
+
90  std += DECIMAL_POW(image[i] - mean, 2);
+
91  }
+
92  std = DECIMAL_SQRT(std / totalPixels);
+
93  return mean + (std * 5);
+
94 }
+
95 
+
96 // basic thresholding, but do it faster (trade off of some accuracy?)
+
97 int BasicThresholdOnePass(unsigned char *image, int imageWidth, int imageHeight) {
+
98  unsigned long totalMag = 0;
+
99  decimal std = 0;
+
100  decimal sq_totalMag = 0;
+
101  long totalPixels = imageHeight * imageWidth;
+
102  for (long i = 0; i < totalPixels; i++) {
+
103  totalMag += image[i];
+
104  sq_totalMag += image[i] * image[i];
+
105  }
+
106  decimal mean = totalMag / totalPixels;
+
107  decimal variance = (sq_totalMag / totalPixels) - (mean * mean);
+
108  std = DECIMAL_SQRT(variance);
+
109  return mean + (std * 5);
+
110 }
+
111 
+ + + +
115  long magSum;
+
116  int xMin;
+
117  int xMax;
+
118  int yMin;
+
119  int yMax;
+
120  int cutoff;
+
121  bool isValid;
+
122  std::unordered_set<int> checkedIndices;
+
123 };
+
124 
+
125 //recursive helper here
+
126 void CogHelper(CentroidParams *p, long i, unsigned char *image, int imageWidth, int imageHeight) {
+
127 
+
128  if (i >= 0 && i < imageWidth * imageHeight && image[i] >= p->cutoff && p->checkedIndices.count(i) == 0) {
+
129  //check if pixel is on the edge of the image, if it is, we dont want to centroid this star
+
130  if (i % imageWidth == 0 || i % imageWidth == imageWidth - 1 || i / imageWidth == 0 || i / imageWidth == imageHeight - 1) {
+
131  p->isValid = false;
+
132  }
+
133  p->checkedIndices.insert(i);
+
134  if (i % imageWidth > p->xMax) {
+
135  p->xMax = i % imageWidth;
+
136  } else if (i % imageWidth < p->xMin) {
+
137  p->xMin = i % imageWidth;
+
138  }
+
139  if (i / imageWidth > p->yMax) {
+
140  p->yMax = i / imageWidth;
+
141  } else if (i / imageWidth < p->yMin) {
+
142  p->yMin = i / imageWidth;
+
143  }
+
144  p->magSum += image[i];
+
145  p->xCoordMagSum += ((i % imageWidth)) * image[i];
+
146  p->yCoordMagSum += ((i / imageWidth)) * image[i];
+
147  if (i % imageWidth != imageWidth - 1) {
+
148  CogHelper(p, i + 1, image, imageWidth, imageHeight);
+
149  }
+
150  if (i % imageWidth != 0) {
+
151  CogHelper(p, i - 1, image, imageWidth, imageHeight);
+
152  }
+
153  CogHelper(p, i + imageWidth, image, imageWidth, imageHeight);
+
154  CogHelper(p, i - imageWidth, image, imageWidth, imageHeight);
+
155  }
+
156 }
+
157 
+
158 std::vector<Star> CenterOfGravityAlgorithm::Go(unsigned char *image, int imageWidth, int imageHeight) const {
+
159  CentroidParams p;
160 
-
161  p.cutoff = BasicThreshold(image, imageWidth, imageHeight);
-
162  for (long i = 0; i < imageHeight * imageWidth; i++) {
-
163  if (image[i] >= p.cutoff && p.checkedIndices.count(i) == 0) {
-
164 
-
165  //iterate over pixels that are part of the star
-
166  int xDiameter = 0; //radius of current star
-
167  int yDiameter = 0;
-
168  p.yCoordMagSum = 0; //y coordinate of current star
-
169  p.xCoordMagSum = 0; //x coordinate of current star
-
170  p.magSum = 0; //sum of magnitudes of current star
-
171 
-
172  p.xMax = i % imageWidth;
-
173  p.xMin = i % imageWidth;
-
174  p.yMax = i / imageWidth;
-
175  p.yMin = i / imageWidth;
-
176  p.isValid = true;
-
177 
-
178  int sizeBefore = p.checkedIndices.size();
+
161  std::vector<Star> result;
+
162 
+
163  p.cutoff = BasicThreshold(image, imageWidth, imageHeight);
+
164  for (long i = 0; i < imageHeight * imageWidth; i++) {
+
165  if (image[i] >= p.cutoff && p.checkedIndices.count(i) == 0) {
+
166 
+
167  //iterate over pixels that are part of the star
+
168  int xDiameter = 0; //radius of current star
+
169  int yDiameter = 0;
+
170  p.yCoordMagSum = 0; //y coordinate of current star
+
171  p.xCoordMagSum = 0; //x coordinate of current star
+
172  p.magSum = 0; //sum of magnitudes of current star
+
173 
+
174  p.xMax = i % imageWidth;
+
175  p.xMin = i % imageWidth;
+
176  p.yMax = i / imageWidth;
+
177  p.yMin = i / imageWidth;
+
178  p.isValid = true;
179 
-
180  CogHelper(&p, i, image, imageWidth, imageHeight);
-
181  xDiameter = (p.xMax - p.xMin) + 1;
-
182  yDiameter = (p.yMax - p.yMin) + 1;
-
183 
-
184  //use the sums to finish CoG equation and add stars to the result
-
185  float xCoord = (p.xCoordMagSum / (p.magSum * 1.0));
-
186  float yCoord = (p.yCoordMagSum / (p.magSum * 1.0));
-
187 
-
188  if (p.isValid) {
-
189  result.push_back(Star(xCoord + 0.5f, yCoord + 0.5f, ((float)(xDiameter))/2.0f, ((float)(yDiameter))/2.0f, p.checkedIndices.size() - sizeBefore));
-
190  }
-
191  }
-
192  }
-
193  return result;
-
194 }
-
195 
-
196 //Determines how accurate and how much iteration is done by the IWCoG algorithm,
-
197 //smaller means more accurate and more iterations.
-
198 float iWCoGMinChange = 0.0002;
-
199 
-
200 struct IWCoGParams {
-
201  int xMin;
-
202  int xMax;
-
203  int yMin;
-
204  int yMax;
-
205  int cutoff;
- -
207  int guess;
-
208  bool isValid;
-
209  std::unordered_set<int> checkedIndices;
-
210 };
-
211 
-
212 void IWCoGHelper(IWCoGParams *p, long i, unsigned char *image, int imageWidth, int imageHeight, std::vector<int> *starIndices) {
-
213  if (i >= 0 && i < imageWidth * imageHeight && image[i] >= p->cutoff && p->checkedIndices.count(i) == 0) {
-
214  //check if pixel is on the edge of the image, if it is, we dont want to centroid this star
-
215  if (i % imageWidth == 0 || i % imageWidth == imageWidth - 1 || i / imageWidth == 0 || i / imageWidth == imageHeight - 1) {
-
216  p->isValid = false;
-
217  }
-
218  p->checkedIndices.insert(i);
-
219  starIndices->push_back(i);
-
220  if (image[i] > p->maxIntensity) {
-
221  p->maxIntensity = image[i];
-
222  p->guess = i;
-
223  }
-
224  if (i % imageWidth > p->xMax) {
-
225  p->xMax = i % imageWidth;
-
226  } else if (i % imageWidth < p->xMin) {
-
227  p->xMin = i % imageWidth;
-
228  }
-
229  if (i / imageWidth > p->yMax) {
-
230  p->yMax = i / imageWidth;
-
231  } else if (i / imageWidth < p->yMin) {
-
232  p->yMin = i / imageWidth;
-
233  }
-
234  if (i % imageWidth != imageWidth - 1) {
-
235  IWCoGHelper(p, i + 1, image, imageWidth, imageHeight, starIndices);
-
236  }
-
237  if (i % imageWidth != 0) {
-
238  IWCoGHelper(p, i - 1, image, imageWidth, imageHeight, starIndices);
-
239  }
-
240  IWCoGHelper(p, i + imageWidth, image, imageWidth, imageHeight, starIndices);
-
241  IWCoGHelper(p, i - imageWidth, image, imageWidth, imageHeight, starIndices);
-
242  }
-
243 }
-
244 
-
245 Stars IterativeWeightedCenterOfGravityAlgorithm::Go(unsigned char *image, int imageWidth, int imageHeight) const {
-
246  IWCoGParams p;
-
247  std::vector<Star> result;
-
248  p.cutoff = BasicThreshold(image, imageWidth, imageHeight);
-
249  for (long i = 0; i < imageHeight * imageWidth; i++) {
-
250  //check if pixel is part of a "star" and has not been iterated over
-
251  if (image[i] >= p.cutoff && p.checkedIndices.count(i) == 0) {
-
252  // TODO: store longs --Mark
-
253  std::vector<int> starIndices; //indices of the current star
-
254  p.maxIntensity = 0;
-
255  int xDiameter = 0;
-
256  int yDiameter = 0;
-
257  float yWeightedCoordMagSum = 0;
-
258  float xWeightedCoordMagSum = 0;
-
259  float weightedMagSum = 0;
-
260  float fwhm; //fwhm variable
-
261  float standardDeviation;
-
262  float w; //weight value
-
263 
-
264  p.xMax = i % imageWidth;
-
265  p.xMin = i % imageWidth;
-
266  p.yMax = i / imageWidth;
-
267  p.yMin = i / imageWidth;
-
268  p.isValid = true;
-
269 
-
270 
-
271  IWCoGHelper(&p, i, image, imageWidth, imageHeight, &starIndices);
+
180  int sizeBefore = p.checkedIndices.size();
+
181 
+
182  CogHelper(&p, i, image, imageWidth, imageHeight);
+
183  xDiameter = (p.xMax - p.xMin) + 1;
+
184  yDiameter = (p.yMax - p.yMin) + 1;
+
185 
+
186  //use the sums to finish CoG equation and add stars to the result
+
187  decimal xCoord = (p.xCoordMagSum / (p.magSum * DECIMAL(1.0)));
+
188  decimal yCoord = (p.yCoordMagSum / (p.magSum * DECIMAL(1.0)));
+
189 
+
190  if (p.isValid) {
+
191  result.push_back(Star(xCoord + DECIMAL(0.5), yCoord + DECIMAL(0.5), (xDiameter)/DECIMAL(2.0), (yDiameter)/DECIMAL(2.0), p.checkedIndices.size() - sizeBefore));
+
192  }
+
193  }
+
194  }
+
195  return result;
+
196 }
+
197 
+
198 //Determines how accurate and how much iteration is done by the IWCoG algorithm,
+
199 //smaller means more accurate and more iterations.
+ +
201 
+
202 struct IWCoGParams {
+
203  int xMin;
+
204  int xMax;
+
205  int yMin;
+
206  int yMax;
+
207  int cutoff;
+ +
209  int guess;
+
210  bool isValid;
+
211  std::unordered_set<int> checkedIndices;
+
212 };
+
213 
+
214 void IWCoGHelper(IWCoGParams *p, long i, unsigned char *image, int imageWidth, int imageHeight, std::vector<int> *starIndices) {
+
215  if (i >= 0 && i < imageWidth * imageHeight && image[i] >= p->cutoff && p->checkedIndices.count(i) == 0) {
+
216  //check if pixel is on the edge of the image, if it is, we dont want to centroid this star
+
217  if (i % imageWidth == 0 || i % imageWidth == imageWidth - 1 || i / imageWidth == 0 || i / imageWidth == imageHeight - 1) {
+
218  p->isValid = false;
+
219  }
+
220  p->checkedIndices.insert(i);
+
221  starIndices->push_back(i);
+
222  if (image[i] > p->maxIntensity) {
+
223  p->maxIntensity = image[i];
+
224  p->guess = i;
+
225  }
+
226  if (i % imageWidth > p->xMax) {
+
227  p->xMax = i % imageWidth;
+
228  } else if (i % imageWidth < p->xMin) {
+
229  p->xMin = i % imageWidth;
+
230  }
+
231  if (i / imageWidth > p->yMax) {
+
232  p->yMax = i / imageWidth;
+
233  } else if (i / imageWidth < p->yMin) {
+
234  p->yMin = i / imageWidth;
+
235  }
+
236  if (i % imageWidth != imageWidth - 1) {
+
237  IWCoGHelper(p, i + 1, image, imageWidth, imageHeight, starIndices);
+
238  }
+
239  if (i % imageWidth != 0) {
+
240  IWCoGHelper(p, i - 1, image, imageWidth, imageHeight, starIndices);
+
241  }
+
242  IWCoGHelper(p, i + imageWidth, image, imageWidth, imageHeight, starIndices);
+
243  IWCoGHelper(p, i - imageWidth, image, imageWidth, imageHeight, starIndices);
+
244  }
+
245 }
+
246 
+
247 Stars IterativeWeightedCenterOfGravityAlgorithm::Go(unsigned char *image, int imageWidth, int imageHeight) const {
+
248  IWCoGParams p;
+
249  std::vector<Star> result;
+
250  p.cutoff = BasicThreshold(image, imageWidth, imageHeight);
+
251  for (long i = 0; i < imageHeight * imageWidth; i++) {
+
252  //check if pixel is part of a "star" and has not been iterated over
+
253  if (image[i] >= p.cutoff && p.checkedIndices.count(i) == 0) {
+
254  // TODO: store longs --Mark
+
255  std::vector<int> starIndices; //indices of the current star
+
256  p.maxIntensity = 0;
+
257  int xDiameter = 0;
+
258  int yDiameter = 0;
+
259  decimal yWeightedCoordMagSum = 0;
+
260  decimal xWeightedCoordMagSum = 0;
+
261  decimal weightedMagSum = 0;
+
262  decimal fwhm; //fwhm variable
+
263  decimal standardDeviation;
+
264  decimal w; //weight value
+
265 
+
266  p.xMax = i % imageWidth;
+
267  p.xMin = i % imageWidth;
+
268  p.yMax = i / imageWidth;
+
269  p.yMin = i / imageWidth;
+
270  p.isValid = true;
+
271 
272 
-
273  xDiameter = (p.xMax - p.xMin) + 1;
-
274  yDiameter = (p.yMax - p.yMin) + 1;
-
275 
-
276  //calculate fwhm
-
277  float count = 0;
-
278  for (int j = 0; j < (int) starIndices.size(); j++) {
-
279  if (image[starIndices.at(j)] > p.maxIntensity / 2) {
-
280  count++;
-
281  }
-
282  }
-
283  fwhm = sqrt(count);
-
284  standardDeviation = fwhm / (2.0 * sqrt(2.0 * log(2.0)));
-
285  float modifiedStdDev = 2.0 * pow(standardDeviation, 2);
-
286  // TODO: Why are these floats? --Mark
-
287  float guessXCoord = (float) (p.guess % imageWidth);
-
288  float guessYCoord = (float) (p.guess / imageWidth);
-
289  //how much our new centroid estimate changes w each iteration
-
290  float change = INFINITY;
-
291  int stop = 0;
-
292  //while we see some large enough change in estimated, maybe make it a global variable
-
293  while (change > iWCoGMinChange && stop < 100000) {
-
294  //traverse through star indices, calculate W at each coordinate, add to final coordinate sums
-
295  yWeightedCoordMagSum = 0;
-
296  xWeightedCoordMagSum = 0;
-
297  weightedMagSum = 0;
-
298  stop++;
-
299  for (long j = 0; j < (long)starIndices.size(); j++) {
-
300  //calculate w
-
301  float currXCoord = (float) (starIndices.at(j) % imageWidth);
-
302  float currYCoord = (float) (starIndices.at(j) / imageWidth);
-
303  w = p.maxIntensity * exp(-1.0 * ((pow(currXCoord - guessXCoord, 2) / modifiedStdDev) + (pow(currYCoord - guessYCoord, 2) / modifiedStdDev)));
-
304 
-
305  xWeightedCoordMagSum += w * currXCoord * ((float) image[starIndices.at(j)]);
-
306  yWeightedCoordMagSum += w * currYCoord * ((float) image[starIndices.at(j)]);
-
307  weightedMagSum += w * ((float) image[starIndices.at(j)]);
-
308  }
-
309  float xTemp = xWeightedCoordMagSum / weightedMagSum;
-
310  float yTemp = yWeightedCoordMagSum / weightedMagSum;
-
311 
-
312  change = abs(guessXCoord - xTemp) + abs(guessYCoord - yTemp);
+
273  IWCoGHelper(&p, i, image, imageWidth, imageHeight, &starIndices);
+
274 
+
275  xDiameter = (p.xMax - p.xMin) + 1;
+
276  yDiameter = (p.yMax - p.yMin) + 1;
+
277 
+
278  //calculate fwhm
+
279  decimal count = 0;
+
280  for (int j = 0; j < (int) starIndices.size(); j++) {
+
281  if (image[starIndices.at(j)] > p.maxIntensity / 2) {
+
282  count++;
+
283  }
+
284  }
+
285  fwhm = DECIMAL_SQRT(count);
+
286  standardDeviation = fwhm / (DECIMAL(2.0) * DECIMAL_SQRT(DECIMAL(2.0) * DECIMAL_LOG(2.0)));
+
287  decimal modifiedStdDev = DECIMAL(2.0) * DECIMAL_POW(standardDeviation, 2);
+
288  // TODO: Why are these decimals? --Mark
+
289  decimal guessXCoord = (p.guess % imageWidth);
+
290  decimal guessYCoord = (p.guess / imageWidth);
+
291  //how much our new centroid estimate changes w each iteration
+
292  decimal change = INFINITY;
+
293  int stop = 0;
+
294  //while we see some large enough change in estimated, maybe make it a global variable
+
295  while (change > iWCoGMinChange && stop < 100000) {
+
296  //traverse through star indices, calculate W at each coordinate, add to final coordinate sums
+
297  yWeightedCoordMagSum = 0;
+
298  xWeightedCoordMagSum = 0;
+
299  weightedMagSum = 0;
+
300  stop++;
+
301  for (long j = 0; j < (long)starIndices.size(); j++) {
+
302  //calculate w
+
303  decimal currXCoord = starIndices.at(j) % imageWidth;
+
304  decimal currYCoord = starIndices.at(j) / imageWidth;
+
305  w = p.maxIntensity * DECIMAL_EXP(DECIMAL(-1.0) * ((DECIMAL_POW(currXCoord - guessXCoord, 2) / modifiedStdDev) + (DECIMAL_POW(currYCoord - guessYCoord, 2) / modifiedStdDev)));
+
306 
+
307  xWeightedCoordMagSum += w * currXCoord * DECIMAL(image[starIndices.at(j)]);
+
308  yWeightedCoordMagSum += w * currYCoord * DECIMAL(image[starIndices.at(j)]);
+
309  weightedMagSum += w * DECIMAL(image[starIndices.at(j)]);
+
310  }
+
311  decimal xTemp = xWeightedCoordMagSum / weightedMagSum;
+
312  decimal yTemp = yWeightedCoordMagSum / weightedMagSum;
313 
-
314  guessXCoord = xTemp;
-
315  guessYCoord = yTemp;
-
316  }
-
317  if (p.isValid) {
-
318  result.push_back(Star(guessXCoord + 0.5f, guessYCoord + 0.5f, ((float)(xDiameter))/2.0f, ((float)(yDiameter))/2.0f, starIndices.size()));
-
319  }
-
320  }
-
321  }
-
322  return result;
-
323 }
-
324 
+
314  change = abs(guessXCoord - xTemp) + abs(guessYCoord - yTemp);
+
315 
+
316  guessXCoord = xTemp;
+
317  guessYCoord = yTemp;
+
318  }
+
319  if (p.isValid) {
+
320  result.push_back(Star(guessXCoord + DECIMAL(0.5), guessYCoord + DECIMAL(0.5), xDiameter/DECIMAL(2.0), yDiameter/DECIMAL(2.0), starIndices.size()));
+
321  }
+
322  }
+
323  }
+
324  return result;
325 }
+
326 
+
327 }
-
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
-
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
Definition: centroiders.cpp:17
-
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
+
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
+
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
Definition: centroiders.cpp:19
+
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
A "centroid" detected in an image.
Definition: star-utils.hpp:49
-
LOST starting point.
-
int OtsusThreshold(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:39
-
int BadThreshold(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:29
+ +
double decimal
Definition: decimal.hpp:11
+
#define DECIMAL_LOG(x)
Definition: decimal.hpp:41
+
#define DECIMAL(x)
Definition: decimal.hpp:21
+
#define DECIMAL_POW(base, power)
Definition: decimal.hpp:39
+
#define DECIMAL_SQRT(x)
Definition: decimal.hpp:40
+
#define DECIMAL_EXP(x)
Definition: decimal.hpp:42
+
LOST starting point.
+
int OtsusThreshold(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:41
+
int BadThreshold(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:31
std::vector< Star > Stars
Definition: star-utils.hpp:101
-
void IWCoGHelper(IWCoGParams *p, long i, unsigned char *image, int imageWidth, int imageHeight, std::vector< int > *starIndices)
-
void CogHelper(CentroidParams *p, long i, unsigned char *image, int imageWidth, int imageHeight)
-
int BasicThresholdOnePass(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:95
-
float iWCoGMinChange
-
int BasicThreshold(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:79
- - - - - - - - - -
std::unordered_set< int > checkedIndices
- - - - - - -
std::unordered_set< int > checkedIndices
- - - - +
void IWCoGHelper(IWCoGParams *p, long i, unsigned char *image, int imageWidth, int imageHeight, std::vector< int > *starIndices)
+
decimal iWCoGMinChange
+
void CogHelper(CentroidParams *p, long i, unsigned char *image, int imageWidth, int imageHeight)
+
int BasicThresholdOnePass(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:97
+
int BasicThreshold(unsigned char *image, int imageWidth, int imageHeight)
Definition: centroiders.cpp:81
+ + + + + + + +
std::unordered_set< int > checkedIndices
+ + + + + + + + +
std::unordered_set< int > checkedIndices
+ + + + diff --git a/centroiders_8hpp.html b/centroiders_8hpp.html index 71893bef..2182abcc 100644 --- a/centroiders_8hpp.html +++ b/centroiders_8hpp.html @@ -100,14 +100,17 @@ - - - - - - - - + + + + + + + + + + +
@@ -157,7 +160,7 @@ diff --git a/centroiders_8hpp__incl.map b/centroiders_8hpp__incl.map index e3121a63..0dcfaabd 100644 --- a/centroiders_8hpp__incl.map +++ b/centroiders_8hpp__incl.map @@ -1,12 +1,15 @@ - - - - - - - - + + + + + + + + + + + diff --git a/centroiders_8hpp__incl.md5 b/centroiders_8hpp__incl.md5 index 58366903..f0598a60 100644 --- a/centroiders_8hpp__incl.md5 +++ b/centroiders_8hpp__incl.md5 @@ -1 +1 @@ -8322994288f9baf0376a7c5aaf9d9799 \ No newline at end of file +173df3cbaefce9adb7831bd701010511 \ No newline at end of file diff --git a/centroiders_8hpp__incl.png b/centroiders_8hpp__incl.png index 143a5993..c3ddd89d 100644 Binary files a/centroiders_8hpp__incl.png and b/centroiders_8hpp__incl.png differ diff --git a/centroiders_8hpp_source.html b/centroiders_8hpp_source.html index c3a1c421..d2f72e52 100644 --- a/centroiders_8hpp_source.html +++ b/centroiders_8hpp_source.html @@ -128,18 +128,18 @@
54 
55 #endif
A simple, fast, and pretty decent centroid algorithm.
Definition: centroiders.hpp:37
-
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
+
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
An algorithm that detects the (x,y) coordinates of bright points in an image, called "centroids".
Definition: centroiders.hpp:12
virtual Stars Go(unsigned char *image, int imageWidth, int imageHeight) const =0
Actually perform the centroid detection.
A centroid algorithm for debugging that returns random centroids.
Definition: centroiders.hpp:25
-
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
Definition: centroiders.cpp:17
+
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
Definition: centroiders.cpp:19
DummyCentroidAlgorithm(int numStars)
Definition: centroiders.hpp:27
A more complicated centroid algorithm which doesn't perform much better than CenterOfGravityAlgorithm...
Definition: centroiders.hpp:47
-
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
+
Stars Go(unsigned char *image, int imageWidth, int imageHeight) const override
Actually perform the centroid detection.
-
LOST starting point.
+
LOST starting point.
std::vector< Star > Stars
Definition: star-utils.hpp:101
@@ -148,7 +148,7 @@ diff --git a/classes.html b/classes.html index 56d51e73..8b2a5969 100644 --- a/classes.html +++ b/classes.html @@ -137,7 +137,7 @@ diff --git a/classlost_1_1_attitude-members.html b/classlost_1_1_attitude-members.html index 891a2187..c5b130a6 100644 --- a/classlost_1_1_attitude-members.html +++ b/classlost_1_1_attitude-members.html @@ -103,7 +103,7 @@ diff --git a/classlost_1_1_attitude.html b/classlost_1_1_attitude.html index 1e167e2e..68af0df1 100644 --- a/classlost_1_1_attitude.html +++ b/classlost_1_1_attitude.html @@ -124,7 +124,7 @@

The attitude (orientation) of a spacecraft.

The Attitude object stores either a rotation matrix (direction cosine matrix) or a quaternion, and converts automatically to the other format when needed. Importantly, an attitude may also be "unknown", representing for example if there weren't enough stars to determine an attitude. When set to unknown, it is illegal to try and convert it to anything, so check IsKnown first!

Note
When porting to an embedded device, you may want to get rid of this class and adapt to either quaternions or DCMs exclusively, depending on the natural output format of whatever attitude estimation algorithm you're using.
-

Definition at line 137 of file attitude-utils.hpp.

+

Definition at line 138 of file attitude-utils.hpp.

Constructor & Destructor Documentation

◆ Attitude() [1/3]

@@ -177,7 +177,7 @@

-

Definition at line 346 of file attitude-utils.cpp.

+

Definition at line 348 of file attitude-utils.cpp.

@@ -205,7 +205,7 @@

-

Definition at line 349 of file attitude-utils.cpp.

+

Definition at line 351 of file attitude-utils.cpp.

@@ -227,7 +227,7 @@

Definition at line 406 of file attitude-utils.cpp.

+

Definition at line 408 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -260,7 +260,7 @@

Definition at line 394 of file attitude-utils.cpp.

+

Definition at line 396 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -268,13 +268,13 @@

- + - - + + @@ -285,7 +285,7 @@

- + @@ -310,7 +310,7 @@

-

Definition at line 441 of file attitude-utils.cpp.

+

Definition at line 443 of file attitude-utils.cpp.

@@ -332,7 +332,7 @@

Definition at line 418 of file attitude-utils.cpp.

+

Definition at line 420 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -350,7 +350,7 @@

- + @@ -373,7 +373,7 @@

Definition at line 430 of file attitude-utils.cpp.

+

Definition at line 432 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -383,13 +383,13 @@

- + - - + + @@ -418,7 +418,7 @@

    - +

diff --git a/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.map b/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.map index daa2fe73..b5760d6b 100644 --- a/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.map +++ b/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.map @@ -3,13 +3,13 @@ - + - - + + diff --git a/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.md5 b/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.md5 index 53b226d5..eb41a21c 100644 --- a/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.md5 +++ b/classlost_1_1_attitude_a1af3ee1daabfc256ec56554b260bdbee_cgraph.md5 @@ -1 +1 @@ -aee93453d14fcfe4854ea0f7adf9d630 \ No newline at end of file +1b937501f52c43e5ff33b395ec5b78c3 \ No newline at end of file diff --git a/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.map b/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.map index a6c9b1bf..bb0adfa5 100644 --- a/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.map +++ b/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.md5 b/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.md5 index e72fa318..134305e1 100644 --- a/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.md5 +++ b/classlost_1_1_attitude_a4c7ac3eb32e2e6dc8c576c9ad7134aaf_icgraph.md5 @@ -1 +1 @@ -2d1907c56259289223c7bf1ff0006041 \ No newline at end of file +55d9d4217a3dcfae64d9e601b956ee6d \ No newline at end of file diff --git a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.map b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.map index 079a5424..fdb5d3f5 100644 --- a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.map +++ b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.map @@ -1,13 +1,13 @@ - + - - + + diff --git a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.md5 b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.md5 index 41bd01e4..259bbb33 100644 --- a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.md5 +++ b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_cgraph.md5 @@ -1 +1 @@ -3df6cd1557ae017c9fedb1d0b0bf2e85 \ No newline at end of file +ce251fffaec541f64c9a7f12b997a6e4 \ No newline at end of file diff --git a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.map b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.map index 274e66f9..d5c230fe 100644 --- a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.map +++ b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.map @@ -1,6 +1,6 @@ - + diff --git a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.md5 b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.md5 index 1ff87291..9a7f1508 100644 --- a/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.md5 +++ b/classlost_1_1_attitude_adc1b3ee1876cf2212603eaa902dce055_icgraph.md5 @@ -1 +1 @@ -990ce5bded80ad6caf0e4510649fc3ef \ No newline at end of file +4b7c72923941bc23353eadd717b3249c \ No newline at end of file diff --git a/classlost_1_1_attitude_estimation_algorithm-members.html b/classlost_1_1_attitude_estimation_algorithm-members.html index c472322a..4976c5c2 100644 --- a/classlost_1_1_attitude_estimation_algorithm-members.html +++ b/classlost_1_1_attitude_estimation_algorithm-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_attitude_estimation_algorithm.html b/classlost_1_1_attitude_estimation_algorithm.html index dfcf24aa..1e6a651e 100644 --- a/classlost_1_1_attitude_estimation_algorithm.html +++ b/classlost_1_1_attitude_estimation_algorithm.html @@ -211,7 +211,7 @@

diff --git a/classlost_1_1_camera-members.html b/classlost_1_1_camera-members.html index e7c1ffb8..f1c89e3f 100644 --- a/classlost_1_1_camera-members.html +++ b/classlost_1_1_camera-members.html @@ -91,13 +91,13 @@

This is the complete list of members for lost::Camera, including all inherited members.

- - + + - - + + - + @@ -106,7 +106,7 @@ diff --git a/classlost_1_1_camera.html b/classlost_1_1_camera.html index 7688af10..eae143e7 100644 --- a/classlost_1_1_camera.html +++ b/classlost_1_1_camera.html @@ -100,10 +100,10 @@ Public Member Functions - - - - + + + + @@ -119,14 +119,14 @@ - - - - - - - - + + + + + + + +
Camera(const Camera &)=defaultlost::Camera
Camera(float focalLength, float xCenter, float yCenter, int xResolution, int yResolution)lost::Camerainline
Camera(float focalLength, int xResolution, int yResolution)lost::Camerainline
Camera(decimal focalLength, decimal xCenter, decimal yCenter, int xResolution, int yResolution)lost::Camerainline
Camera(decimal focalLength, int xResolution, int yResolution)lost::Camerainline
CameraToSpatial(const Vec2 &) constlost::Camera
FocalLength() constlost::Camerainline
Fov() constlost::Camera
FocalLength() constlost::Camerainline
Fov() constlost::Camera
InSensor(const Vec2 &vector) constlost::Camera
SetFocalLength(float focalLength)lost::Camerainline
SetFocalLength(decimal focalLength)lost::Camerainline
SpatialToCamera(const Vec3 &) constlost::Camera
XResolution() constlost::Camerainline
YResolution() constlost::Camerainline
 Camera (const Camera &)=default
 
 Camera (float focalLength, float xCenter, float yCenter, int xResolution, int yResolution)
 
 Camera (float focalLength, int xResolution, int yResolution)
 
 Camera (decimal focalLength, decimal xCenter, decimal yCenter, int xResolution, int yResolution)
 
 Camera (decimal focalLength, int xResolution, int yResolution)
 
Vec2 SpatialToCamera (const Vec3 &) const
 Converts from a 3D point in space to a 2D point on the camera sensor. More...
 
int YResolution () const
 Height of the sensor in pixels. More...
 
float FocalLength () const
 Focal length in pixels. More...
 
float Fov () const
 Horizontal field of view in radians. More...
 
void SetFocalLength (float focalLength)
 
decimal FocalLength () const
 Focal length in pixels. More...
 
decimal Fov () const
 Horizontal field of view in radians. More...
 
void SetFocalLength (decimal focalLength)
 

Detailed Description

A full description of a camera. Enough information to reconstruct the camera matrix and then some.

@@ -159,8 +159,8 @@

-

◆ Camera() [2/3]

+ +

◆ Camera() [2/3]

@@ -171,19 +171,19 @@

lost::Camera::Camera ( - float  + decimal  focalLength, - float  + decimal  xCenter, - float  + decimal  yCenter, @@ -221,8 +221,8 @@

-

◆ Camera() [3/3]

+ +

◆ Camera() [3/3]

- -

◆ FocalLength()

+ +

◆ FocalLength()

@@ -325,7 +325,7 @@

- + @@ -344,8 +344,8 @@

Here is the caller graph for this function:

float lost::Camera::FocalLength decimal lost::Camera::FocalLength ( ) const
- + @@ -370,21 +370,21 @@

Definition at line 65 of file camera.cpp.

+

Definition at line 66 of file camera.cpp.

Here is the call graph for this function:
-
- +
+ - +
Here is the caller graph for this function:
-
- +
+ @@ -410,7 +410,7 @@

Definition at line 50 of file camera.cpp.

+

Definition at line 51 of file camera.cpp.

Here is the caller graph for this function:
@@ -418,22 +418,22 @@

- - - + + + - +

- -

◆ SetFocalLength()

+ +

◆ SetFocalLength()

- + @@ -479,14 +479,14 @@

Definition at line 14 of file camera.cpp.

+

Definition at line 15 of file camera.cpp.

Here is the caller graph for this function:
- +
@@ -524,7 +524,7 @@

- + @@ -563,7 +563,7 @@

- + @@ -580,7 +580,7 @@

    - +
diff --git a/classlost_1_1_camera.js b/classlost_1_1_camera.js index ba4413f1..289cf902 100644 --- a/classlost_1_1_camera.js +++ b/classlost_1_1_camera.js @@ -1,13 +1,13 @@ var classlost_1_1_camera = [ [ "Camera", "classlost_1_1_camera.html#a2fc15d984da36a7b015420dbe9fddca5", null ], - [ "Camera", "classlost_1_1_camera.html#a523f2ce74934b4fcb3063431fc6bef62", null ], - [ "Camera", "classlost_1_1_camera.html#a8a79c6616772f7e0c10b9ffd06d17adf", null ], + [ "Camera", "classlost_1_1_camera.html#a509454953121bd47018c350d82b838ea", null ], + [ "Camera", "classlost_1_1_camera.html#af17d2e81670a302f46bb0ccdb1b346bd", null ], [ "CameraToSpatial", "classlost_1_1_camera.html#aeb37d99dfc08205f5938303dbb16ff9e", null ], - [ "FocalLength", "classlost_1_1_camera.html#aa7df6f5d7ee2f6c26ecc34bd1e7f2e53", null ], - [ "Fov", "classlost_1_1_camera.html#a3830d04bcd953e27cc133944fb434f64", null ], + [ "FocalLength", "classlost_1_1_camera.html#af484e8b4890c20ca02d05f907ba958b8", null ], + [ "Fov", "classlost_1_1_camera.html#a8452608ad72efc8e93378f33eb981c0a", null ], [ "InSensor", "classlost_1_1_camera.html#a4d940919d1247edd431de7643473f538", null ], - [ "SetFocalLength", "classlost_1_1_camera.html#a89a0fde9a6b5b65863ad4136c6b37dd4", null ], + [ "SetFocalLength", "classlost_1_1_camera.html#a30e7b1026d347f35ceb8306ba9815a3a", null ], [ "SpatialToCamera", "classlost_1_1_camera.html#a2282f819be792d84f3168032a9cf457b", null ], [ "XResolution", "classlost_1_1_camera.html#a6a6a4bd2d5daf114108e73126568369d", null ], [ "YResolution", "classlost_1_1_camera.html#a75f02f56900338580a9cacc2f9131d70", null ] diff --git a/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.map b/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.map index 1cae6d92..3c9ebc1f 100644 --- a/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.map +++ b/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.md5 b/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.md5 index d66414c1..d3c94408 100644 --- a/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.md5 +++ b/classlost_1_1_camera_a2282f819be792d84f3168032a9cf457b_icgraph.md5 @@ -1 +1 @@ -685a38547eab79f6564cc874c15cefbd \ No newline at end of file +45b2c64afa7a6b1576d04713940a2f7a \ No newline at end of file diff --git a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.md5 b/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.md5 deleted file mode 100644 index 11ede092..00000000 --- a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb1ab002a7b4b6e9323da9705b261df8 \ No newline at end of file diff --git a/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.map b/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.map index 93b6495b..33b29de2 100644 --- a/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.map +++ b/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.map @@ -1,13 +1,13 @@ - - - + + + - + diff --git a/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.md5 b/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.md5 index 65afcca0..2e29d96b 100644 --- a/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.md5 +++ b/classlost_1_1_camera_a4d940919d1247edd431de7643473f538_icgraph.md5 @@ -1 +1 @@ -8bc16b3e5708b3c11aa1e4c4a1fb12b8 \ No newline at end of file +602d0daab2e747c946a5290e1222fd84 \ No newline at end of file diff --git a/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.map b/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.map index d7654ef4..5e3ec563 100644 --- a/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.map +++ b/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.md5 b/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.md5 index 7eaaa432..1f6c996c 100644 --- a/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.md5 +++ b/classlost_1_1_camera_a6a6a4bd2d5daf114108e73126568369d_icgraph.md5 @@ -1 +1 @@ -3ac3b7c8c30bb0fc91acbd276590bfb4 \ No newline at end of file +1c2945b8a0d116e5136baf10a3ffe07f \ No newline at end of file diff --git a/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.map b/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.map index 94ea1ab5..438d2985 100644 --- a/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.map +++ b/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.md5 b/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.md5 index 7d0e83c5..179d96ad 100644 --- a/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.md5 +++ b/classlost_1_1_camera_a75f02f56900338580a9cacc2f9131d70_icgraph.md5 @@ -1 +1 @@ -988c5ba286c4c44ea4a58f62991ae3a8 \ No newline at end of file +1efdc5d7b3c412ad39aa272d0e160e10 \ No newline at end of file diff --git a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.map b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.map similarity index 56% rename from classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.map rename to classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.map index ef10553e..2f940981 100644 --- a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.map +++ b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.md5 b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.md5 new file mode 100644 index 00000000..aa53dd3d --- /dev/null +++ b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.md5 @@ -0,0 +1 @@ +f009286a6fabc254ac9f29792e5ae267 \ No newline at end of file diff --git a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.png b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.png similarity index 100% rename from classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_cgraph.png rename to classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_cgraph.png diff --git a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_icgraph.map b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_icgraph.map similarity index 100% rename from classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_icgraph.map rename to classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_icgraph.map diff --git a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_icgraph.md5 b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_icgraph.md5 similarity index 100% rename from classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_icgraph.md5 rename to classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_icgraph.md5 diff --git a/classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_icgraph.png b/classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_icgraph.png similarity index 100% rename from classlost_1_1_camera_a3830d04bcd953e27cc133944fb434f64_icgraph.png rename to classlost_1_1_camera_a8452608ad72efc8e93378f33eb981c0a_icgraph.png diff --git a/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.map b/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.map index 82599b18..77fdd539 100644 --- a/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.map +++ b/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.map @@ -1,11 +1,11 @@ - - + + - + diff --git a/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.md5 b/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.md5 index 78ad3698..ac6201f3 100644 --- a/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.md5 +++ b/classlost_1_1_camera_aeb37d99dfc08205f5938303dbb16ff9e_icgraph.md5 @@ -1 +1 @@ -cb5f4c2e4a6182167fe14938f87eeddf \ No newline at end of file +c7b1f51e999a3bbad8e32811a18e86ae \ No newline at end of file diff --git a/classlost_1_1_camera_aa7df6f5d7ee2f6c26ecc34bd1e7f2e53_icgraph.map b/classlost_1_1_camera_af484e8b4890c20ca02d05f907ba958b8_icgraph.map similarity index 100% rename from classlost_1_1_camera_aa7df6f5d7ee2f6c26ecc34bd1e7f2e53_icgraph.map rename to classlost_1_1_camera_af484e8b4890c20ca02d05f907ba958b8_icgraph.map diff --git a/classlost_1_1_camera_aa7df6f5d7ee2f6c26ecc34bd1e7f2e53_icgraph.md5 b/classlost_1_1_camera_af484e8b4890c20ca02d05f907ba958b8_icgraph.md5 similarity index 100% rename from classlost_1_1_camera_aa7df6f5d7ee2f6c26ecc34bd1e7f2e53_icgraph.md5 rename to classlost_1_1_camera_af484e8b4890c20ca02d05f907ba958b8_icgraph.md5 diff --git a/classlost_1_1_camera_aa7df6f5d7ee2f6c26ecc34bd1e7f2e53_icgraph.png b/classlost_1_1_camera_af484e8b4890c20ca02d05f907ba958b8_icgraph.png similarity index 100% rename from classlost_1_1_camera_aa7df6f5d7ee2f6c26ecc34bd1e7f2e53_icgraph.png rename to classlost_1_1_camera_af484e8b4890c20ca02d05f907ba958b8_icgraph.png diff --git a/classlost_1_1_catalog_star-members.html b/classlost_1_1_catalog_star-members.html index f9b591a2..fc8a8cf0 100644 --- a/classlost_1_1_catalog_star-members.html +++ b/classlost_1_1_catalog_star-members.html @@ -91,7 +91,7 @@

This is the complete list of members for lost::CatalogStar, including all inherited members.

float lost::Camera::Fov decimal lost::Camera::Fov ( ) const(float decimal  focalLength)
- + @@ -101,7 +101,7 @@ diff --git a/classlost_1_1_catalog_star.html b/classlost_1_1_catalog_star.html index a2c173d3..e1660310 100644 --- a/classlost_1_1_catalog_star.html +++ b/classlost_1_1_catalog_star.html @@ -102,7 +102,7 @@
Collaboration graph
- +
[legend]
CatalogStar()=defaultlost::CatalogStar
CatalogStar(float raj2000, float dej2000, int magnitude, int name)lost::CatalogStarinline
CatalogStar(decimal raj2000, decimal dej2000, int magnitude, int name)lost::CatalogStarinline
CatalogStar(Vec3 spatial, int magnitude, int name)lost::CatalogStarinline
magnitudelost::CatalogStar
namelost::CatalogStar
@@ -110,9 +110,9 @@ Public Member Functions - - - + + +
 CatalogStar ()=default
 
 CatalogStar (float raj2000, float dej2000, int magnitude, int name)
 Create a CatalogStar using its celestial/spherical coordinates. More...
 
 CatalogStar (decimal raj2000, decimal dej2000, int magnitude, int name)
 Create a CatalogStar using its celestial/spherical coordinates. More...
 
 CatalogStar (Vec3 spatial, int magnitude, int name)
 
@@ -158,8 +158,8 @@

-

◆ CatalogStar() [2/3]

+ +

◆ CatalogStar() [2/3]

@@ -170,13 +170,13 @@

lost::CatalogStar::CatalogStar

- + - + @@ -329,7 +329,7 @@

    - +
diff --git a/classlost_1_1_catalog_star.js b/classlost_1_1_catalog_star.js index cce33b27..aeed3d67 100644 --- a/classlost_1_1_catalog_star.js +++ b/classlost_1_1_catalog_star.js @@ -1,7 +1,7 @@ var classlost_1_1_catalog_star = [ [ "CatalogStar", "classlost_1_1_catalog_star.html#af2f1fc27b7b16f497e652a1fd1caa00e", null ], - [ "CatalogStar", "classlost_1_1_catalog_star.html#a28fd3c23a616ecd193b93dc030b7cc68", null ], + [ "CatalogStar", "classlost_1_1_catalog_star.html#a01e0c6d1367a68757a13091c5287075f", null ], [ "CatalogStar", "classlost_1_1_catalog_star.html#a8d74d0477614cda6ab24a4732b33227e", null ], [ "magnitude", "classlost_1_1_catalog_star.html#aac362b166dd1a5cfe95e33a7e2d18e3a", null ], [ "name", "classlost_1_1_catalog_star.html#a72d3cdf9c85caa2fc2819644862e26ee", null ], diff --git a/classlost_1_1_catalog_star__coll__graph.map b/classlost_1_1_catalog_star__coll__graph.map index ee0b3730..33e28976 100644 --- a/classlost_1_1_catalog_star__coll__graph.map +++ b/classlost_1_1_catalog_star__coll__graph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_catalog_star__coll__graph.md5 b/classlost_1_1_catalog_star__coll__graph.md5 index 34ad7eae..e4729a5f 100644 --- a/classlost_1_1_catalog_star__coll__graph.md5 +++ b/classlost_1_1_catalog_star__coll__graph.md5 @@ -1 +1 @@ -f2b8a8130513fa88cb7dfacacdc6b229 \ No newline at end of file +52eea475989f5a55913308c1eea38e37 \ No newline at end of file diff --git a/classlost_1_1_center_of_gravity_algorithm-members.html b/classlost_1_1_center_of_gravity_algorithm-members.html index 3837c6eb..de66300b 100644 --- a/classlost_1_1_center_of_gravity_algorithm-members.html +++ b/classlost_1_1_center_of_gravity_algorithm-members.html @@ -98,7 +98,7 @@ diff --git a/classlost_1_1_center_of_gravity_algorithm.html b/classlost_1_1_center_of_gravity_algorithm.html index f6b5b0fd..fa78a915 100644 --- a/classlost_1_1_center_of_gravity_algorithm.html +++ b/classlost_1_1_center_of_gravity_algorithm.html @@ -210,7 +210,7 @@

lost::CentroidAlgorithm.

-

Definition at line 156 of file centroiders.cpp.

+

Definition at line 158 of file centroiders.cpp.

Here is the call graph for this function:
@@ -234,7 +234,7 @@

    - +

diff --git a/classlost_1_1_centroid_algorithm-members.html b/classlost_1_1_centroid_algorithm-members.html index 99e72606..26edd263 100644 --- a/classlost_1_1_centroid_algorithm-members.html +++ b/classlost_1_1_centroid_algorithm-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_centroid_algorithm.html b/classlost_1_1_centroid_algorithm.html index d4f279b3..1972da2c 100644 --- a/classlost_1_1_centroid_algorithm.html +++ b/classlost_1_1_centroid_algorithm.html @@ -210,7 +210,7 @@

    - +
diff --git a/classlost_1_1_centroid_comparison-members.html b/classlost_1_1_centroid_comparison-members.html index 50a7a21c..62905977 100644 --- a/classlost_1_1_centroid_comparison-members.html +++ b/classlost_1_1_centroid_comparison-members.html @@ -91,15 +91,15 @@

This is the complete list of members for lost::CentroidComparison, including all inherited members.

(float decimal  raj2000,
float decimal  dej2000,
- - - + + +
CentroidComparison()lost::CentroidComparisoninline
meanErrorlost::CentroidComparison
numCorrectCentroidslost::CentroidComparison
numExtraCentroidslost::CentroidComparison
meanErrorlost::CentroidComparison
numCorrectCentroidslost::CentroidComparison
numExtraCentroidslost::CentroidComparison

diff --git a/classlost_1_1_centroid_comparison.html b/classlost_1_1_centroid_comparison.html index 26790d39..c5a19803 100644 --- a/classlost_1_1_centroid_comparison.html +++ b/classlost_1_1_centroid_comparison.html @@ -102,20 +102,20 @@ - - - - - - - - - + + + + + + + + +

Public Attributes

float meanError
 Average distance from actual to expected centroids (in pixels) Only correct centroids are considered in this average. More...
 
float numCorrectCentroids
 Number of actual stars within the centroiding threshold of an expected star. More...
 
float numExtraCentroids
 Stars in actual but not expected. More...
 
decimal meanError
 Average distance from actual to expected centroids (in pixels) Only correct centroids are considered in this average. More...
 
decimal numCorrectCentroids
 Number of actual stars within the centroiding threshold of an expected star. More...
 
decimal numExtraCentroids
 Stars in actual but not expected. More...
 

Detailed Description

The result of comparing actual and expected centroids Used for debugging and benchmarking.

-

Definition at line 1021 of file io.cpp.

+

Definition at line 1030 of file io.cpp.

Constructor & Destructor Documentation

◆ CentroidComparison()

@@ -140,63 +140,63 @@

-

Definition at line 1023 of file io.cpp.

+

Definition at line 1032 of file io.cpp.

Member Data Documentation

- -

◆ meanError

+ +

◆ meanError

- +
float lost::CentroidComparison::meanErrordecimal lost::CentroidComparison::meanError

Average distance from actual to expected centroids (in pixels) Only correct centroids are considered in this average.

-

Definition at line 1028 of file io.cpp.

+

Definition at line 1037 of file io.cpp.

- -

◆ numCorrectCentroids

+ +

◆ numCorrectCentroids

- +
float lost::CentroidComparison::numCorrectCentroidsdecimal lost::CentroidComparison::numCorrectCentroids

Number of actual stars within the centroiding threshold of an expected star.

-

Definition at line 1033 of file io.cpp.

+

Definition at line 1042 of file io.cpp.

- -

◆ numExtraCentroids

+ +

◆ numExtraCentroids

- +
float lost::CentroidComparison::numExtraCentroidsdecimal lost::CentroidComparison::numExtraCentroids

Stars in actual but not expected.

-

Ideally 0 This is a float because we may average multiple centroid comparisons together.

+

Ideally 0 This is a decimal because we may average multiple centroid comparisons together.

-

Definition at line 1039 of file io.cpp.

+

Definition at line 1048 of file io.cpp.

@@ -209,7 +209,7 @@

    - +
diff --git a/classlost_1_1_centroid_comparison.js b/classlost_1_1_centroid_comparison.js index b77bb7d4..44c55455 100644 --- a/classlost_1_1_centroid_comparison.js +++ b/classlost_1_1_centroid_comparison.js @@ -1,7 +1,7 @@ var classlost_1_1_centroid_comparison = [ [ "CentroidComparison", "classlost_1_1_centroid_comparison.html#ad46cc5ba0521e788511aac2bbdc2569d", null ], - [ "meanError", "classlost_1_1_centroid_comparison.html#ac1e005780ebb245a3baafde37654aafa", null ], - [ "numCorrectCentroids", "classlost_1_1_centroid_comparison.html#a69b42b7776ce7d288d15bf0ab1fceb55", null ], - [ "numExtraCentroids", "classlost_1_1_centroid_comparison.html#a4105577ec96bf66b9a5003dcde18d557", null ] + [ "meanError", "classlost_1_1_centroid_comparison.html#abf8602cb33542eb054672deafccfdde8", null ], + [ "numCorrectCentroids", "classlost_1_1_centroid_comparison.html#ab42870c8914b81b5ff27f8c8b6b5ec2b", null ], + [ "numExtraCentroids", "classlost_1_1_centroid_comparison.html#a4083504bf6d2b92b060a614ecf203f1a", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_database_options.html b/classlost_1_1_database_options.html index 3780c67b..5906928a 100644 --- a/classlost_1_1_database_options.html +++ b/classlost_1_1_database_options.html @@ -95,7 +95,7 @@

Detailed Description

Commannd line options when using the database command.

-

Definition at line 285 of file io.hpp.

+

Definition at line 286 of file io.hpp.


The documentation for this class was generated from the following file: @@ -105,7 +105,7 @@ diff --git a/classlost_1_1_davenport_q_algorithm-members.html b/classlost_1_1_davenport_q_algorithm-members.html index 71253f5a..78e9f540 100644 --- a/classlost_1_1_davenport_q_algorithm-members.html +++ b/classlost_1_1_davenport_q_algorithm-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_davenport_q_algorithm.html b/classlost_1_1_davenport_q_algorithm.html index 7ff0c9f6..0ad0d077 100644 --- a/classlost_1_1_davenport_q_algorithm.html +++ b/classlost_1_1_davenport_q_algorithm.html @@ -180,7 +180,7 @@

lost::AttitudeEstimationAlgorithm.

-

Definition at line 9 of file attitude-estimators.cpp.

+

Definition at line 12 of file attitude-estimators.cpp.

Here is the call graph for this function:
@@ -204,7 +204,7 @@

    - +

diff --git a/classlost_1_1_deserialize_context-members.html b/classlost_1_1_deserialize_context-members.html index 4f1d721f..abadee43 100644 --- a/classlost_1_1_deserialize_context-members.html +++ b/classlost_1_1_deserialize_context-members.html @@ -99,7 +99,7 @@ diff --git a/classlost_1_1_deserialize_context.html b/classlost_1_1_deserialize_context.html index 054a0798..dd6f3c69 100644 --- a/classlost_1_1_deserialize_context.html +++ b/classlost_1_1_deserialize_context.html @@ -106,7 +106,7 @@

Detailed Description

-

Definition at line 39 of file serialize-helpers.hpp.

+

Definition at line 41 of file serialize-helpers.hpp.

Constructor & Destructor Documentation

◆ DeserializeContext()

@@ -132,7 +132,7 @@

-

Definition at line 41 of file serialize-helpers.hpp.

+

Definition at line 43 of file serialize-helpers.hpp.

@@ -160,7 +160,7 @@

-

Definition at line 51 of file serialize-helpers.hpp.

+

Definition at line 53 of file serialize-helpers.hpp.

Here is the caller graph for this function:
@@ -197,7 +197,7 @@

-

Definition at line 43 of file serialize-helpers.hpp.

+

Definition at line 45 of file serialize-helpers.hpp.

Here is the caller graph for this function:
@@ -234,7 +234,7 @@

-

Definition at line 47 of file serialize-helpers.hpp.

+

Definition at line 49 of file serialize-helpers.hpp.

Here is the caller graph for this function:
@@ -258,7 +258,7 @@

    - +

diff --git a/classlost_1_1_dummy_centroid_algorithm-members.html b/classlost_1_1_dummy_centroid_algorithm-members.html index 93080a4b..ef9248ac 100644 --- a/classlost_1_1_dummy_centroid_algorithm-members.html +++ b/classlost_1_1_dummy_centroid_algorithm-members.html @@ -98,7 +98,7 @@ diff --git a/classlost_1_1_dummy_centroid_algorithm.html b/classlost_1_1_dummy_centroid_algorithm.html index 29453233..b2c048f3 100644 --- a/classlost_1_1_dummy_centroid_algorithm.html +++ b/classlost_1_1_dummy_centroid_algorithm.html @@ -210,7 +210,7 @@

lost::CentroidAlgorithm.

-

Definition at line 17 of file centroiders.cpp.

+

Definition at line 19 of file centroiders.cpp.

@@ -224,7 +224,7 @@

    - +
diff --git a/classlost_1_1_dummy_star_id_algorithm-members.html b/classlost_1_1_dummy_star_id_algorithm-members.html index 94889f31..f0d16219 100644 --- a/classlost_1_1_dummy_star_id_algorithm-members.html +++ b/classlost_1_1_dummy_star_id_algorithm-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_dummy_star_id_algorithm.html b/classlost_1_1_dummy_star_id_algorithm.html index 206592bd..8baa49c8 100644 --- a/classlost_1_1_dummy_star_id_algorithm.html +++ b/classlost_1_1_dummy_star_id_algorithm.html @@ -192,7 +192,7 @@

    - +
diff --git a/classlost_1_1_euler_angles-members.html b/classlost_1_1_euler_angles-members.html index 2dd587d5..64dab655 100644 --- a/classlost_1_1_euler_angles-members.html +++ b/classlost_1_1_euler_angles-members.html @@ -90,16 +90,16 @@

This is the complete list of members for lost::EulerAngles, including all inherited members.

- - - - + + + +
delost::EulerAngles
EulerAngles(float ra, float de, float roll)lost::EulerAnglesinline
ralost::EulerAngles
rolllost::EulerAngles
delost::EulerAngles
EulerAngles(decimal ra, decimal de, decimal roll)lost::EulerAnglesinline
ralost::EulerAngles
rolllost::EulerAngles
diff --git a/classlost_1_1_euler_angles.html b/classlost_1_1_euler_angles.html index 23fea2d6..90a02f37 100644 --- a/classlost_1_1_euler_angles.html +++ b/classlost_1_1_euler_angles.html @@ -99,29 +99,29 @@ - - + +

Public Member Functions

 EulerAngles (float ra, float de, float roll)
 
 EulerAngles (decimal ra, decimal de, decimal roll)
 
- - - - - - - - - + + + + + + + + +

Public Attributes

float ra
 Right ascension. How far we yaw left. Yaw is performed first. More...
 
float de
 Declination. How far we pitch up (or down if negative). Pitch is performed second, after yaw. More...
 
float roll
 How far we roll counterclockwise. Roll is performed last (after yaw and pitch). More...
 
decimal ra
 Right ascension. How far we yaw left. Yaw is performed first. More...
 
decimal de
 Declination. How far we pitch up (or down if negative). Pitch is performed second, after yaw. More...
 
decimal roll
 How far we roll counterclockwise. Roll is performed last (after yaw and pitch). More...
 

Detailed Description

A "human-readable" way to represent a 3d rotation or orientation.

Euler angles roughly correspond to yaw, pitch, and roll of an airplane, which are easy for humans to understand. There's no one single way to store Euler angles. We use z-y'-x'' angles, according to the notation used on the wikipedia page for euler angles.

-

Definition at line 83 of file attitude-utils.hpp.

+

Definition at line 84 of file attitude-utils.hpp.

Constructor & Destructor Documentation

- -

◆ EulerAngles()

+ +

◆ EulerAngles()

@@ -132,19 +132,19 @@

lost::EulerAngles::EulerAngles ( - float  + decimal  ra, - float  + decimal  de, - float  + decimal  roll  @@ -160,62 +160,62 @@

-

Definition at line 85 of file attitude-utils.hpp.

+

Definition at line 86 of file attitude-utils.hpp.

Member Data Documentation

- -

◆ de

+ +

◆ de

- +
float lost::EulerAngles::dedecimal lost::EulerAngles::de

Declination. How far we pitch up (or down if negative). Pitch is performed second, after yaw.

-

Definition at line 91 of file attitude-utils.hpp.

+

Definition at line 92 of file attitude-utils.hpp.

- -

◆ ra

+ +

◆ ra

- +
float lost::EulerAngles::radecimal lost::EulerAngles::ra

Right ascension. How far we yaw left. Yaw is performed first.

-

Definition at line 89 of file attitude-utils.hpp.

+

Definition at line 90 of file attitude-utils.hpp.

- -

◆ roll

+ +

◆ roll

- +
float lost::EulerAngles::rolldecimal lost::EulerAngles::roll

How far we roll counterclockwise. Roll is performed last (after yaw and pitch).

-

Definition at line 93 of file attitude-utils.hpp.

+

Definition at line 94 of file attitude-utils.hpp.

@@ -228,7 +228,7 @@

    - +
diff --git a/classlost_1_1_euler_angles.js b/classlost_1_1_euler_angles.js index 2c148092..c6c5f3a4 100644 --- a/classlost_1_1_euler_angles.js +++ b/classlost_1_1_euler_angles.js @@ -1,7 +1,7 @@ var classlost_1_1_euler_angles = [ - [ "EulerAngles", "classlost_1_1_euler_angles.html#a139701e558ffce8c4710ec55e5b37b75", null ], - [ "de", "classlost_1_1_euler_angles.html#acce7640ab1aa3431e04cc39037e538fe", null ], - [ "ra", "classlost_1_1_euler_angles.html#a86cffd1e68a380145e5b684c7d7c2406", null ], - [ "roll", "classlost_1_1_euler_angles.html#a224cfa3989b86edc65d0e6e96bc7b3ca", null ] + [ "EulerAngles", "classlost_1_1_euler_angles.html#a306c3cde2b3a84f2b546cbcef318ebdf", null ], + [ "de", "classlost_1_1_euler_angles.html#aa1f13c91bb698e674c2152a481dcb109", null ], + [ "ra", "classlost_1_1_euler_angles.html#ae52017b1b9cc1063704bcc2b25500783", null ], + [ "roll", "classlost_1_1_euler_angles.html#a7965e0a2c260109c23c85f120b9db75f", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_generated_pipeline_input-members.html b/classlost_1_1_generated_pipeline_input-members.html index 102b8a68..12d4b3c6 100644 --- a/classlost_1_1_generated_pipeline_input-members.html +++ b/classlost_1_1_generated_pipeline_input-members.html @@ -93,7 +93,7 @@ ExpectedAttitude() constlost::PipelineInputinlinevirtual ExpectedStarIds() const overridelost::GeneratedPipelineInputinlinevirtual ExpectedStars() const overridelost::GeneratedPipelineInputinlinevirtual - GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, float observedReferenceBrightness, float starSpreadStdDev, float sensitivity, float darkCurrent, float readNoiseStdDev, Attitude motionBlurDirection, float exposureTime, float readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, float perturbationStddev)lost::GeneratedPipelineInput + GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, decimal observedReferenceBrightness, decimal starSpreadStdDev, decimal sensitivity, decimal darkCurrent, decimal readNoiseStdDev, Attitude motionBlurDirection, decimal exposureTime, decimal readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, decimal perturbationStddev)lost::GeneratedPipelineInput GetCatalog() const overridelost::GeneratedPipelineInputinlinevirtual InputAttitude() const overridelost::GeneratedPipelineInputinlinevirtual InputCamera() const overridelost::GeneratedPipelineInputinlinevirtual @@ -107,7 +107,7 @@ diff --git a/classlost_1_1_generated_pipeline_input.html b/classlost_1_1_generated_pipeline_input.html index 7c302acf..f22d274e 100644 --- a/classlost_1_1_generated_pipeline_input.html +++ b/classlost_1_1_generated_pipeline_input.html @@ -116,9 +116,9 @@ - - - + + + @@ -152,10 +152,10 @@

A pipeline input which is generated (fake image).

Uses a pretty decent image generation algorithm to create a fake image as the basis for a pipeline input. Since we know everything about the generated image, all of the input and expected methods are available.

-

Definition at line 124 of file io.hpp.

+

Definition at line 125 of file io.hpp.

Constructor & Destructor Documentation

- -

◆ GeneratedPipelineInput()

+ +

◆ GeneratedPipelineInput()

@@ -193,31 +193,31 @@

- + - + - + - + - + @@ -229,13 +229,13 @@

- + - + @@ -277,7 +277,7 @@

- + @@ -291,29 +291,29 @@

Definition at line 477 of file io.cpp.

+

Definition at line 485 of file io.cpp.

Here is the call graph for this function:
-
- +
+ - + - + - + - - + + @@ -350,7 +350,7 @@

lost::PipelineInput.

-

Definition at line 143 of file io.hpp.

+

Definition at line 144 of file io.hpp.

@@ -379,7 +379,7 @@

lost::PipelineInput.

-

Definition at line 140 of file io.hpp.

+

Definition at line 141 of file io.hpp.

@@ -410,7 +410,7 @@

lost::PipelineInput.

-

Definition at line 145 of file io.hpp.

+

Definition at line 146 of file io.hpp.

@@ -441,7 +441,7 @@

lost::PipelineInput.

-

Definition at line 144 of file io.hpp.

+

Definition at line 145 of file io.hpp.

@@ -470,7 +470,7 @@

lost::PipelineInput.

-

Definition at line 141 of file io.hpp.

+

Definition at line 142 of file io.hpp.

@@ -499,7 +499,7 @@

lost::PipelineInput.

-

Definition at line 138 of file io.hpp.

+

Definition at line 139 of file io.hpp.

@@ -530,7 +530,7 @@

lost::PipelineInput.

-

Definition at line 142 of file io.hpp.

+

Definition at line 143 of file io.hpp.

@@ -559,7 +559,7 @@

lost::PipelineInput.

-

Definition at line 139 of file io.hpp.

+

Definition at line 140 of file io.hpp.

@@ -573,7 +573,7 @@

    - +
diff --git a/classlost_1_1_generated_pipeline_input.js b/classlost_1_1_generated_pipeline_input.js index 0871d095..8aa956cd 100644 --- a/classlost_1_1_generated_pipeline_input.js +++ b/classlost_1_1_generated_pipeline_input.js @@ -1,6 +1,6 @@ var classlost_1_1_generated_pipeline_input = [ - [ "GeneratedPipelineInput", "classlost_1_1_generated_pipeline_input.html#a1b473186f7c725b5e59dcfe95be1f686", null ], + [ "GeneratedPipelineInput", "classlost_1_1_generated_pipeline_input.html#a7e48b3e9c25cfd4fb36cd600f05f5098", null ], [ "ExpectedStarIds", "classlost_1_1_generated_pipeline_input.html#a9b4e6a0cea348568381061b6ebd1f926", null ], [ "ExpectedStars", "classlost_1_1_generated_pipeline_input.html#a5bb4d8d26f136ff61250e6ab70437f15", null ], [ "GetCatalog", "classlost_1_1_generated_pipeline_input.html#a6aa7ffe5170d43fe925fdf668a54cc9f", null ], diff --git a/classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.md5 b/classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.md5 deleted file mode 100644 index 100ab6be..00000000 --- a/classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -addea106cbbeb17462b80d5355c73da5 \ No newline at end of file diff --git a/classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.map b/classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.map similarity index 84% rename from classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.map rename to classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.map index b7780856..5c6c42fb 100644 --- a/classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.map +++ b/classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.map @@ -1,21 +1,21 @@ - + - + - + - - + + diff --git a/classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.md5 b/classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.md5 new file mode 100644 index 00000000..a057b137 --- /dev/null +++ b/classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.md5 @@ -0,0 +1 @@ +2abcb356ec5871a398131473634c2982 \ No newline at end of file diff --git a/classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.png b/classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.png similarity index 100% rename from classlost_1_1_generated_pipeline_input_a1b473186f7c725b5e59dcfe95be1f686_cgraph.png rename to classlost_1_1_generated_pipeline_input_a7e48b3e9c25cfd4fb36cd600f05f5098_cgraph.png diff --git a/classlost_1_1_generated_star-members.html b/classlost_1_1_generated_star-members.html index af514e75..84517f02 100644 --- a/classlost_1_1_generated_star-members.html +++ b/classlost_1_1_generated_star-members.html @@ -91,21 +91,21 @@

This is the complete list of members for lost::GeneratedStar, including all inherited members.

Public Member Functions

 GeneratedPipelineInput (const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, float observedReferenceBrightness, float starSpreadStdDev, float sensitivity, float darkCurrent, float readNoiseStdDev, Attitude motionBlurDirection, float exposureTime, float readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, float perturbationStddev)
 Create a generated pipeline input. More...
 
 GeneratedPipelineInput (const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, decimal observedReferenceBrightness, decimal starSpreadStdDev, decimal sensitivity, decimal darkCurrent, decimal readNoiseStdDev, Attitude motionBlurDirection, decimal exposureTime, decimal readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, decimal perturbationStddev)
 Create a generated pipeline input. More...
 
const ImageInputImage () const override
 
const StarsInputStars () const override
float decimal  zeroMagTotalPhotons,
float decimal  starSpreadStdDev,
float decimal  saturationPhotons,
float decimal  darkCurrent,
float decimal  readNoiseStdDev,
float decimal  exposureTime,
float decimal  readoutTime,
float decimal  perturbationStddev 
- + - + - - - - + + + +
deltalost::GeneratedStar
GeneratedStar(Star star, float peakBrightness, Vec2 motionBlurDelta)lost::GeneratedStarinline
GeneratedStar(Star star, decimal peakBrightness, Vec2 motionBlurDelta)lost::GeneratedStarinline
magnitudelost::Star
peakBrightnesslost::GeneratedStar
peakBrightnesslost::GeneratedStar
positionlost::Star
radiusXlost::Star
radiusYlost::Star
Star(float x, float y, float radiusX, float radiusY, int magnitude)lost::Starinline
Star(float x, float y, float radiusX)lost::Starinline
radiusXlost::Star
radiusYlost::Star
Star(decimal x, decimal y, decimal radiusX, decimal radiusY, int magnitude)lost::Starinline
Star(decimal x, decimal y, decimal radiusX)lost::Starinline
Star()lost::Starinline
diff --git a/classlost_1_1_generated_star.html b/classlost_1_1_generated_star.html index 6a53908a..9c4e0791 100644 --- a/classlost_1_1_generated_star.html +++ b/classlost_1_1_generated_star.html @@ -110,29 +110,29 @@ - +
[legend]
- - + + - - - - - + + + + +

Public Member Functions

 GeneratedStar (Star star, float peakBrightness, Vec2 motionBlurDelta)
 
 GeneratedStar (Star star, decimal peakBrightness, Vec2 motionBlurDelta)
 
- Public Member Functions inherited from lost::Star
 Star (float x, float y, float radiusX, float radiusY, int magnitude)
 
 Star (float x, float y, float radiusX)
 Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0. More...
 
 Star (decimal x, decimal y, decimal radiusX, decimal radiusY, int magnitude)
 
 Star (decimal x, decimal y, decimal radiusX)
 Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0. More...
 
 Star ()
 Create a zeroed-out star. Fields should be set immediately after construction. More...
 
- - - + + + @@ -140,12 +140,12 @@ - - - - - - + + + + + + @@ -153,10 +153,10 @@

Detailed Description

A star used in simulated image generation. Contains extra data about how to simulate the star.

-

Definition at line 407 of file io.cpp.

+

Definition at line 415 of file io.cpp.

Constructor & Destructor Documentation

- -

◆ GeneratedStar()

+ +

◆ GeneratedStar()

@@ -173,7 +173,7 @@

- + @@ -195,7 +195,7 @@

-

Definition at line 409 of file io.cpp.

+

Definition at line 417 of file io.cpp.

@@ -214,25 +214,25 @@

Definition at line 416 of file io.cpp.

+

Definition at line 424 of file io.cpp.

- -

◆ peakBrightness

+ +

◆ peakBrightness

Public Attributes

float peakBrightness
 the brightness density per time unit at the center of the star. 0.0 is black, 1.0 is white. More...
 
decimal peakBrightness
 the brightness density per time unit at the center of the star. 0.0 is black, 1.0 is white. More...
 
Vec2 delta
 (only meaningful with motion blur) Where the star will appear one time unit in the future. More...
 
Vec2 position
 The (x,y) pixel coordinates in the image (top left is 0,0) More...
 
float radiusX
 Approximate horizontal radius of the bright area in pixels. More...
 
float radiusY
 Approximate vertical radius of the bright area in pixels. More...
 
decimal radiusX
 Approximate horizontal radius of the bright area in pixels. More...
 
decimal radiusY
 Approximate vertical radius of the bright area in pixels. More...
 
int magnitude
 A relative measure of magnitude of the star. More...
 
float decimal  peakBrightness,
- +
float lost::GeneratedStar::peakBrightnessdecimal lost::GeneratedStar::peakBrightness

the brightness density per time unit at the center of the star. 0.0 is black, 1.0 is white.

-

Definition at line 413 of file io.cpp.

+

Definition at line 421 of file io.cpp.

@@ -245,7 +245,7 @@

    - +
diff --git a/classlost_1_1_generated_star.js b/classlost_1_1_generated_star.js index 57e33c57..a2084eb6 100644 --- a/classlost_1_1_generated_star.js +++ b/classlost_1_1_generated_star.js @@ -1,6 +1,6 @@ var classlost_1_1_generated_star = [ - [ "GeneratedStar", "classlost_1_1_generated_star.html#ad8406a16bdfb31b731d923d67a5afe71", null ], + [ "GeneratedStar", "classlost_1_1_generated_star.html#a53c8237a1eef1b7b80c211a82905d339", null ], [ "delta", "classlost_1_1_generated_star.html#a75214eb4d1e17681b3e3a116a88af29a", null ], - [ "peakBrightness", "classlost_1_1_generated_star.html#aadcacbb1bf27616e20db9b86cde2e691", null ] + [ "peakBrightness", "classlost_1_1_generated_star.html#a1640005bdfe74569fe753009465524f8", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_generated_star__coll__graph.map b/classlost_1_1_generated_star__coll__graph.map index 3866e2e5..cab51c41 100644 --- a/classlost_1_1_generated_star__coll__graph.map +++ b/classlost_1_1_generated_star__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/classlost_1_1_generated_star__coll__graph.md5 b/classlost_1_1_generated_star__coll__graph.md5 index f7b6a7f5..1a38e8c3 100644 --- a/classlost_1_1_generated_star__coll__graph.md5 +++ b/classlost_1_1_generated_star__coll__graph.md5 @@ -1 +1 @@ -dd77cd6dfd5fdebc6de239259e04e858 \ No newline at end of file +eaaf5335545fec3f9e60362d4da584c7 \ No newline at end of file diff --git a/classlost_1_1_geometric_voting_star_id_algorithm-members.html b/classlost_1_1_geometric_voting_star_id_algorithm-members.html index 64cad8b0..d5181150 100644 --- a/classlost_1_1_geometric_voting_star_id_algorithm-members.html +++ b/classlost_1_1_geometric_voting_star_id_algorithm-members.html @@ -90,7 +90,7 @@

This is the complete list of members for lost::GeometricVotingStarIdAlgorithm, including all inherited members.

- +
GeometricVotingStarIdAlgorithm(float tolerance)lost::GeometricVotingStarIdAlgorithminlineexplicit
GeometricVotingStarIdAlgorithm(decimal tolerance)lost::GeometricVotingStarIdAlgorithminlineexplicit
Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) constlost::GeometricVotingStarIdAlgorithmvirtual
~StarIdAlgorithm()lost::StarIdAlgorithminlinevirtual
@@ -98,7 +98,7 @@ diff --git a/classlost_1_1_geometric_voting_star_id_algorithm.html b/classlost_1_1_geometric_voting_star_id_algorithm.html index 1627367c..81d955e0 100644 --- a/classlost_1_1_geometric_voting_star_id_algorithm.html +++ b/classlost_1_1_geometric_voting_star_id_algorithm.html @@ -119,8 +119,8 @@ 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. More...
  - GeometricVotingStarIdAlgorithm (float tolerance) -  + GeometricVotingStarIdAlgorithm (decimal tolerance) +  - Public Member Functions inherited from lost::StarIdAlgorithm virtual ~StarIdAlgorithm ()   @@ -131,8 +131,8 @@

Definition at line 35 of file star-id.hpp.

Constructor & Destructor Documentation

- -

◆ GeometricVotingStarIdAlgorithm()

+ +

◆ GeometricVotingStarIdAlgorithm()

@@ -247,7 +248,7 @@

diff --git a/classlost_1_1_geometric_voting_star_id_algorithm.js b/classlost_1_1_geometric_voting_star_id_algorithm.js index 040ba631..6de16211 100644 --- a/classlost_1_1_geometric_voting_star_id_algorithm.js +++ b/classlost_1_1_geometric_voting_star_id_algorithm.js @@ -1,5 +1,5 @@ var classlost_1_1_geometric_voting_star_id_algorithm = [ - [ "GeometricVotingStarIdAlgorithm", "classlost_1_1_geometric_voting_star_id_algorithm.html#a34789f103fe935cdd41a9f053ba0b349", null ], + [ "GeometricVotingStarIdAlgorithm", "classlost_1_1_geometric_voting_star_id_algorithm.html#aa846baf66d54b2dfc9212722d9be7518", null ], [ "Go", "classlost_1_1_geometric_voting_star_id_algorithm.html#adea674f2fdf9d0715655eddbb749ecf0", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.map b/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.map index 0e4b903f..7f807851 100644 --- a/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.map +++ b/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.map @@ -1,12 +1,13 @@ - - + + - + - + - + + diff --git a/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.md5 b/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.md5 index 7c4a1c93..e2966a2d 100644 --- a/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.md5 +++ b/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.md5 @@ -1 +1 @@ -4f5a4d39c4acc7555b0ee2b95525d2fe \ No newline at end of file +997b7036270b38e0c006df430333db89 \ No newline at end of file diff --git a/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.png b/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.png index a6991353..ac8c5bc6 100644 Binary files a/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.png and b/classlost_1_1_geometric_voting_star_id_algorithm_adea674f2fdf9d0715655eddbb749ecf0_cgraph.png differ diff --git a/classlost_1_1_i_r_unidentified_centroid-members.html b/classlost_1_1_i_r_unidentified_centroid-members.html index ad7701ae..4ffa6d81 100644 --- a/classlost_1_1_i_r_unidentified_centroid-members.html +++ b/classlost_1_1_i_r_unidentified_centroid-members.html @@ -91,7 +91,7 @@

This is the complete list of members for lost::IRUnidentifiedCentroid, including all inherited members.

- + @@ -103,7 +103,7 @@ diff --git a/classlost_1_1_i_r_unidentified_centroid.html b/classlost_1_1_i_r_unidentified_centroid.html index 16b55909..5b7b85d5 100644 --- a/classlost_1_1_i_r_unidentified_centroid.html +++ b/classlost_1_1_i_r_unidentified_centroid.html @@ -104,7 +104,7 @@ - +
[legend]
AddIdentifiedStar(const StarIdentifier &starId, const Stars &stars)lost::IRUnidentifiedCentroid
bestAngleFrom90lost::IRUnidentifiedCentroid
bestAngleFrom90lost::IRUnidentifiedCentroid
bestStar1lost::IRUnidentifiedCentroid
bestStar2lost::IRUnidentifiedCentroid
indexlost::IRUnidentifiedCentroid
@@ -120,8 +120,8 @@
- - + + @@ -241,14 +241,14 @@

Member Data Documentation

- -

◆ bestAngleFrom90

+ +

◆ bestAngleFrom90

Public Attributes

float bestAngleFrom90
 
decimal bestAngleFrom90
 
StarIdentifier bestStar1
 For the pair of other centroids forming the triangular angle closest to 90 degrees, how far from 90 degrees it is (in radians) More...
 
- +
float lost::IRUnidentifiedCentroid::bestAngleFrom90decimal lost::IRUnidentifiedCentroid::bestAngleFrom90
@@ -339,7 +339,7 @@

    - +

diff --git a/classlost_1_1_i_r_unidentified_centroid.js b/classlost_1_1_i_r_unidentified_centroid.js index 31fd55fb..a9edfbd4 100644 --- a/classlost_1_1_i_r_unidentified_centroid.js +++ b/classlost_1_1_i_r_unidentified_centroid.js @@ -3,7 +3,7 @@ var classlost_1_1_i_r_unidentified_centroid = [ "IRUnidentifiedCentroid", "classlost_1_1_i_r_unidentified_centroid.html#a88fc36b5c47e3f02662b9b3da4e236e0", null ], [ "IRUnidentifiedCentroid", "classlost_1_1_i_r_unidentified_centroid.html#a15948657fda95018c8c700369da3e95d", null ], [ "AddIdentifiedStar", "classlost_1_1_i_r_unidentified_centroid.html#ab81769c837da795774d3f57f96328e5e", null ], - [ "bestAngleFrom90", "classlost_1_1_i_r_unidentified_centroid.html#aff8ec14ca85a2721d117906ffe3d2ac0", null ], + [ "bestAngleFrom90", "classlost_1_1_i_r_unidentified_centroid.html#af7d40149f6387faa1aa0c8e54d2f0381", null ], [ "bestStar1", "classlost_1_1_i_r_unidentified_centroid.html#aab377ad525cebf57723091ad9e4a4ee1", null ], [ "bestStar2", "classlost_1_1_i_r_unidentified_centroid.html#adfabd54617aebb510f629878d3cc8ae6", null ], [ "index", "classlost_1_1_i_r_unidentified_centroid.html#ae2439bce89692ce79d65232aa76fd539", null ], diff --git a/classlost_1_1_i_r_unidentified_centroid__coll__graph.map b/classlost_1_1_i_r_unidentified_centroid__coll__graph.map index 5ee8ff9f..c37c5df8 100644 --- a/classlost_1_1_i_r_unidentified_centroid__coll__graph.map +++ b/classlost_1_1_i_r_unidentified_centroid__coll__graph.map @@ -2,5 +2,5 @@ - + diff --git a/classlost_1_1_i_r_unidentified_centroid__coll__graph.md5 b/classlost_1_1_i_r_unidentified_centroid__coll__graph.md5 index ed264b97..046f51ee 100644 --- a/classlost_1_1_i_r_unidentified_centroid__coll__graph.md5 +++ b/classlost_1_1_i_r_unidentified_centroid__coll__graph.md5 @@ -1 +1 @@ -77f67581d2f9cf7511791ae4ddd81137 \ No newline at end of file +01c3db25bdf321deccefa6575f53adf1 \ No newline at end of file diff --git a/classlost_1_1_image-members.html b/classlost_1_1_image-members.html index cf9d3a66..09b0d423 100644 --- a/classlost_1_1_image-members.html +++ b/classlost_1_1_image-members.html @@ -98,7 +98,7 @@ diff --git a/classlost_1_1_image.html b/classlost_1_1_image.html index e15bbf51..d31411f6 100644 --- a/classlost_1_1_image.html +++ b/classlost_1_1_image.html @@ -171,7 +171,7 @@

    - +
diff --git a/classlost_1_1_iterative_weighted_center_of_gravity_algorithm-members.html b/classlost_1_1_iterative_weighted_center_of_gravity_algorithm-members.html index f5c4d8f2..24788d89 100644 --- a/classlost_1_1_iterative_weighted_center_of_gravity_algorithm-members.html +++ b/classlost_1_1_iterative_weighted_center_of_gravity_algorithm-members.html @@ -98,7 +98,7 @@ diff --git a/classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html b/classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html index c83afed7..c2aed783 100644 --- a/classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html +++ b/classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html @@ -210,7 +210,7 @@

lost::CentroidAlgorithm.

-

Definition at line 245 of file centroiders.cpp.

+

Definition at line 247 of file centroiders.cpp.

Here is the call graph for this function:
@@ -234,7 +234,7 @@

diff --git a/classlost_1_1_k_vector_index-members.html b/classlost_1_1_k_vector_index-members.html index 79486eed..8299be6d 100644 --- a/classlost_1_1_k_vector_index-members.html +++ b/classlost_1_1_k_vector_index-members.html @@ -91,17 +91,17 @@

This is the complete list of members for lost::KVectorIndex, including all inherited members.

- - + + - +
KVectorIndex(DeserializeContext *des)lost::KVectorIndexexplicit
Max() constlost::KVectorIndexinline
Min() constlost::KVectorIndexinline
Max() constlost::KVectorIndexinline
Min() constlost::KVectorIndexinline
NumBins() constlost::KVectorIndexinline
NumValues() constlost::KVectorIndexinline
QueryLiberal(float minQueryDistance, float maxQueryDistance, long *upperIndex) constlost::KVectorIndex
QueryLiberal(decimal minQueryDistance, decimal maxQueryDistance, long *upperIndex) constlost::KVectorIndex
diff --git a/classlost_1_1_k_vector_index.html b/classlost_1_1_k_vector_index.html index 4a86f4aa..28b5d1e5 100644 --- a/classlost_1_1_k_vector_index.html +++ b/classlost_1_1_k_vector_index.html @@ -101,25 +101,25 @@  KVectorIndex (DeserializeContext *des)  Construct from serialized buffer. More...
  -long QueryLiberal (float minQueryDistance, float maxQueryDistance, long *upperIndex) const - Finds all the entries in the given range, and possibly a few just outside the range on the ends. More...
-  +long QueryLiberal (decimal minQueryDistance, decimal maxQueryDistance, long *upperIndex) const + Finds all the entries in the given range, and possibly a few just outside the range on the ends. More...
+  long NumValues () const  The number of data points in the data referred to by the kvector. More...
  long NumBins () const   -float Max () const - Upper bound on elements. More...
-  -float Min () const -  +decimal Max () const + Upper bound on elements. More...
+  +decimal Min () const + 

Detailed Description

A data structure enabling constant-time range queries into fixed numerical data.

Note
Not an instantiable database on its own – used in other databases
-

Definition at line 21 of file databases.hpp.

+

Definition at line 23 of file databases.hpp.

Constructor & Destructor Documentation

◆ KVectorIndex()

@@ -147,13 +147,13 @@

Definition at line 106 of file databases.cpp.

+

Definition at line 110 of file databases.cpp.

Member Function Documentation

- -

◆ Max()

+ +

◆ Max()

@@ -162,7 +162,7 @@

- + @@ -177,23 +177,23 @@

Definition at line 31 of file databases.hpp.

+

Definition at line 33 of file databases.hpp.

Here is the caller graph for this function:
-
- +
+ - - + +
- -

◆ Min()

+ +

◆ Min()

@@ -202,7 +202,7 @@

float lost::KVectorIndex::Max decimal lost::KVectorIndex::Max ( ) const
- + @@ -215,15 +215,15 @@

-

Definition at line 33 of file databases.hpp.

+

Definition at line 35 of file databases.hpp.

Here is the caller graph for this function:
-
- +
+ - - + +
@@ -253,7 +253,7 @@

-

Definition at line 29 of file databases.hpp.

+

Definition at line 31 of file databases.hpp.

@@ -282,7 +282,7 @@

Definition at line 28 of file databases.hpp.

+

Definition at line 30 of file databases.hpp.

Here is the caller graph for this function:
@@ -291,14 +291,14 @@

- +

- -

◆ QueryLiberal()

+ +

◆ QueryLiberal()

- + - + @@ -338,17 +338,17 @@

Returns
the index (starting from zero) of the first value matching the query
-

Definition at line 125 of file databases.cpp.

+

Definition at line 129 of file databases.cpp.

Here is the caller graph for this function:
-
- +
+ - - - - + + + + @@ -366,7 +366,7 @@

    - +

diff --git a/classlost_1_1_k_vector_index.js b/classlost_1_1_k_vector_index.js index c9fcd011..8aed378c 100644 --- a/classlost_1_1_k_vector_index.js +++ b/classlost_1_1_k_vector_index.js @@ -1,9 +1,9 @@ var classlost_1_1_k_vector_index = [ [ "KVectorIndex", "classlost_1_1_k_vector_index.html#a6cd151dd8a9224581c9fdeaa40831379", null ], - [ "Max", "classlost_1_1_k_vector_index.html#ac4ec31ab1bc698759601c24fb2c5672e", null ], - [ "Min", "classlost_1_1_k_vector_index.html#a0afd6bf562595807812c947d5a39fbfe", null ], + [ "Max", "classlost_1_1_k_vector_index.html#a98f4a93e0009038d0bb529412ac895d5", null ], + [ "Min", "classlost_1_1_k_vector_index.html#a45a9b59e42bd033e9a12fda60da06b92", null ], [ "NumBins", "classlost_1_1_k_vector_index.html#a6f3ee957485b41a9bf8500232a8033fe", null ], [ "NumValues", "classlost_1_1_k_vector_index.html#aeb86d1680f58d5a5709618d615ea7267", null ], - [ "QueryLiberal", "classlost_1_1_k_vector_index.html#a36e6030ff35142ccbe2010fd0130a02c", null ] + [ "QueryLiberal", "classlost_1_1_k_vector_index.html#a6f3c702412e3a12501bfabb5d7936b05", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.md5 b/classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.md5 deleted file mode 100644 index 8a732d75..00000000 --- a/classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -19222808d97a9c96cef2c8431c90b3e1 \ No newline at end of file diff --git a/classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.md5 b/classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.md5 deleted file mode 100644 index e3ba5f2f..00000000 --- a/classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -2bf9a1632641bc381754fe57ea4e15e2 \ No newline at end of file diff --git a/classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.map b/classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.map similarity index 75% rename from classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.map rename to classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.map index 25065ce5..1fce03c8 100644 --- a/classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.map +++ b/classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.map @@ -1,6 +1,6 @@ - - + + diff --git a/classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.md5 b/classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.md5 new file mode 100644 index 00000000..1d3d1b85 --- /dev/null +++ b/classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.md5 @@ -0,0 +1 @@ +fca3642c46fcc999b18a8143e411b559 \ No newline at end of file diff --git a/classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.png b/classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.png similarity index 100% rename from classlost_1_1_k_vector_index_a0afd6bf562595807812c947d5a39fbfe_icgraph.png rename to classlost_1_1_k_vector_index_a45a9b59e42bd033e9a12fda60da06b92_icgraph.png diff --git a/classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.map b/classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.map similarity index 76% rename from classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.map rename to classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.map index 31ad80ba..bde77586 100644 --- a/classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.map +++ b/classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.map @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.md5 b/classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.md5 new file mode 100644 index 00000000..84e8d6fd --- /dev/null +++ b/classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.md5 @@ -0,0 +1 @@ +ec7c4f09e6a9682ed0884b8c65462032 \ No newline at end of file diff --git a/classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.png b/classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.png similarity index 100% rename from classlost_1_1_k_vector_index_a36e6030ff35142ccbe2010fd0130a02c_icgraph.png rename to classlost_1_1_k_vector_index_a6f3c702412e3a12501bfabb5d7936b05_icgraph.png diff --git a/classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.map b/classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.map similarity index 76% rename from classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.map rename to classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.map index d60f91aa..e7242af6 100644 --- a/classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.map +++ b/classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.map @@ -1,6 +1,6 @@ - - + + diff --git a/classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.md5 b/classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.md5 new file mode 100644 index 00000000..9cfc0264 --- /dev/null +++ b/classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.md5 @@ -0,0 +1 @@ +748f921c229bfcab54b73b82093faec5 \ No newline at end of file diff --git a/classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.png b/classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.png similarity index 100% rename from classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.png rename to classlost_1_1_k_vector_index_a98f4a93e0009038d0bb529412ac895d5_icgraph.png diff --git a/classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.md5 b/classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.md5 deleted file mode 100644 index 7d1ce86c..00000000 --- a/classlost_1_1_k_vector_index_ac4ec31ab1bc698759601c24fb2c5672e_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4f526a14a70afbd0f6a9a8ea89ac2bf3 \ No newline at end of file diff --git a/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.map b/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.map index 2dcdf04e..4e6e643c 100644 --- a/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.map +++ b/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.map @@ -2,5 +2,5 @@ - + diff --git a/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.md5 b/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.md5 index 72c41612..9668277a 100644 --- a/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.md5 +++ b/classlost_1_1_k_vector_index_aeb86d1680f58d5a5709618d615ea7267_icgraph.md5 @@ -1 +1 @@ -b384b64c22c9249004442f6cbc8c163e \ No newline at end of file +efbbabb7f7607878c46a08daa454be9f \ No newline at end of file diff --git a/classlost_1_1_mat3-members.html b/classlost_1_1_mat3-members.html index 13db028f..d1741e4d 100644 --- a/classlost_1_1_mat3-members.html +++ b/classlost_1_1_mat3-members.html @@ -90,24 +90,24 @@

This is the complete list of members for lost::Mat3, including all inherited members.

float lost::KVectorIndex::Min decimal lost::KVectorIndex::Min ( ) const(float decimal  minQueryDistance,
float decimal  maxQueryDistance,
- + - + - + - + - +
At(int i, int j) constlost::Mat3
At(int i, int j) constlost::Mat3
Column(int) constlost::Mat3
Det() constlost::Mat3
Det() constlost::Mat3
Inverse() constlost::Mat3
operator*(const Mat3 &) constlost::Mat3
operator*(const Vec3 &) constlost::Mat3
operator*(const float &) constlost::Mat3
operator*(const decimal &) constlost::Mat3
operator+(const Mat3 &) constlost::Mat3
Row(int) constlost::Mat3
Trace() constlost::Mat3
Trace() constlost::Mat3
Transpose() constlost::Mat3
xlost::Mat3
xlost::Mat3

diff --git a/classlost_1_1_mat3.html b/classlost_1_1_mat3.html index 20a3eb5b..c92f00de 100644 --- a/classlost_1_1_mat3.html +++ b/classlost_1_1_mat3.html @@ -92,16 +92,16 @@
-

3x3 vector with floating point components +

3x3 vector with decimaling point components More...

#include <attitude-utils.hpp>

- - - + + + @@ -111,9 +111,9 @@ - - - + + + @@ -123,34 +123,34 @@ - - - - - - + + + + + +

Public Member Functions

float At (int i, int j) const
 Access the i,j-th element of the matrix. More...
 
decimal At (int i, int j) const
 Access the i,j-th element of the matrix. More...
 
Mat3 operator+ (const Mat3 &) const
 Normal matrix addition. More...
 
Vec3 operator* (const Vec3 &) const
 Matrix-Vector multiplication. More...
 
Mat3 operator* (const float &) const
 Matrix-Scalar multiplication. More...
 
Mat3 operator* (const decimal &) const
 Matrix-Scalar multiplication. More...
 
Mat3 Transpose () const
 Transpose of a matrix. More...
 
Vec3 Row (int) const
 Get the row at index i. More...
 
float Trace () const
 Trace of a matrix. More...
 
float Det () const
 Determinant of a matrix. More...
 
decimal Trace () const
 Trace of a matrix. More...
 
decimal Det () const
 Determinant of a matrix. More...
 
Mat3 Inverse () const
 Inverse of a matrix. More...
 
- - + +

Public Attributes

float x [9]
 
decimal x [9]
 

Detailed Description

-

3x3 vector with floating point components

+

3x3 vector with decimaling point components

-

Definition at line 53 of file attitude-utils.hpp.

+

Definition at line 54 of file attitude-utils.hpp.

Member Function Documentation

- -

◆ At()

+ +

◆ At()

- + @@ -171,26 +171,26 @@

Definition at line 256 of file attitude-utils.cpp.

+

Definition at line 258 of file attitude-utils.cpp.

Here is the caller graph for this function:
-
- +
+ - + - + - + @@ -219,14 +219,14 @@

Definition at line 261 of file attitude-utils.cpp.

+

Definition at line 263 of file attitude-utils.cpp.

Here is the call graph for this function:
- +
@@ -237,7 +237,7 @@

- + @@ -247,14 +247,14 @@

-

◆ Det()

+ +

◆ Det()

float lost::Mat3::At decimal lost::Mat3::At ( int  i,
- + @@ -264,21 +264,21 @@

Definition at line 323 of file attitude-utils.cpp.

+

Definition at line 325 of file attitude-utils.cpp.

Here is the call graph for this function:
-
- +
+ - +
Here is the caller graph for this function:
-
- +
+ @@ -304,15 +304,15 @@

Definition at line 328 of file attitude-utils.cpp.

+

Definition at line 330 of file attitude-utils.cpp.

Here is the call graph for this function:
- - + +
@@ -327,8 +327,8 @@

-

◆ operator*() [1/3]

+ +

◆ operator*() [1/3]

@@ -336,7 +336,7 @@

Mat3 lost::Mat3::operator*

- + @@ -345,14 +345,14 @@

Definition at line 300 of file attitude-utils.cpp.

+

Definition at line 302 of file attitude-utils.cpp.

Here is the call graph for this function:
-
- +
+ - +
@@ -376,7 +376,7 @@

Definition at line 280 of file attitude-utils.cpp.

+

Definition at line 282 of file attitude-utils.cpp.

@@ -398,14 +398,14 @@

Definition at line 291 of file attitude-utils.cpp.

+

Definition at line 293 of file attitude-utils.cpp.

Here is the call graph for this function:
- +
@@ -429,14 +429,14 @@

Definition at line 271 of file attitude-utils.cpp.

+

Definition at line 273 of file attitude-utils.cpp.

Here is the call graph for this function:
- +
@@ -460,27 +460,27 @@

Definition at line 266 of file attitude-utils.cpp.

+

Definition at line 268 of file attitude-utils.cpp.

Here is the call graph for this function:
- +
- -

◆ Trace()

+ +

◆ Trace()

float lost::Mat3::Det decimal lost::Mat3::Det ( ) const(const float & const decimal s) const
- + @@ -490,21 +490,21 @@

Definition at line 318 of file attitude-utils.cpp.

+

Definition at line 320 of file attitude-utils.cpp.

Here is the call graph for this function:
-
- +
+ - +
Here is the caller graph for this function:
-
- +
+ @@ -529,14 +529,14 @@

Definition at line 309 of file attitude-utils.cpp.

+

Definition at line 311 of file attitude-utils.cpp.

Here is the call graph for this function:
- +
@@ -553,19 +553,19 @@

Member Data Documentation

- -

◆ x

+ +

◆ x

float lost::Mat3::Trace decimal lost::Mat3::Trace ( ) const
- +
float lost::Mat3::x[9]decimal lost::Mat3::x[9]
-

Definition at line 55 of file attitude-utils.hpp.

+

Definition at line 56 of file attitude-utils.hpp.

@@ -579,7 +579,7 @@

    - +

diff --git a/classlost_1_1_mat3.js b/classlost_1_1_mat3.js index 848cbeb2..986549c2 100644 --- a/classlost_1_1_mat3.js +++ b/classlost_1_1_mat3.js @@ -1,15 +1,15 @@ var classlost_1_1_mat3 = [ - [ "At", "classlost_1_1_mat3.html#a672afcf04908553ca8fedd27b1004002", null ], + [ "At", "classlost_1_1_mat3.html#ac76b6f96d5642a1eb952162f194a6e7e", null ], [ "Column", "classlost_1_1_mat3.html#a3975740eea4c1c33289feefb81453e6e", null ], - [ "Det", "classlost_1_1_mat3.html#add91dc6b5fbc16af21c0467bbdb13ae2", null ], + [ "Det", "classlost_1_1_mat3.html#a5a3c5d3bb1e90373f8ac1d2c16fca504", null ], [ "Inverse", "classlost_1_1_mat3.html#a155df2c02f28acae5a3b59757eca0945", null ], - [ "operator*", "classlost_1_1_mat3.html#ad44fc5a52d4ff6868ae9f42f4d43e191", null ], + [ "operator*", "classlost_1_1_mat3.html#ac8db5f06c33d2e3cb463c5d95f479939", null ], [ "operator*", "classlost_1_1_mat3.html#aec14b4e92d3d81ff52988e507aeb566d", null ], [ "operator*", "classlost_1_1_mat3.html#a8d1bdbb7028cc2d8c861b18ef64d9e27", null ], [ "operator+", "classlost_1_1_mat3.html#add619b56d0870d447c35921beafabd7d", null ], [ "Row", "classlost_1_1_mat3.html#a4357c0052a4a3f4af9b4acfcc2de5622", null ], - [ "Trace", "classlost_1_1_mat3.html#a1264f9b036c9b3022651082ddc3efd84", null ], + [ "Trace", "classlost_1_1_mat3.html#aba95326b3dbabb03c53de174faf22383", null ], [ "Transpose", "classlost_1_1_mat3.html#ab850e8ba04b6d4822798379ba1c56dcf", null ], - [ "x", "classlost_1_1_mat3.html#a4c1fc3f0ab4ec06bc0dab5585eca306b", null ] + [ "x", "classlost_1_1_mat3.html#ae38b2d47fb32bb2f8b8bf13dc8ce3b41", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.md5 b/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.md5 deleted file mode 100644 index 8a82678a..00000000 --- a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -089ded094e9b03aa1d53ba22d3a2f7a0 \ No newline at end of file diff --git a/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.map b/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.map index 97e22538..f88dbf93 100644 --- a/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.map +++ b/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.map @@ -1,5 +1,5 @@ - - + + diff --git a/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.md5 b/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.md5 index ce5b2cc8..1216a41b 100644 --- a/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.md5 +++ b/classlost_1_1_mat3_a155df2c02f28acae5a3b59757eca0945_cgraph.md5 @@ -1 +1 @@ -515dfff553119819a55463e671ee6f02 \ No newline at end of file +951f78ba550849655460ecadcafed902 \ No newline at end of file diff --git a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.map b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.map index d04fa7ff..9aca882e 100644 --- a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.map +++ b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.md5 b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.md5 index 58aa614f..7a810e26 100644 --- a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.md5 +++ b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_cgraph.md5 @@ -1 +1 @@ -5dcacbbc330f1f09c8bb816f56f2c23e \ No newline at end of file +ab6bb1511d3fba395e6d198e31a1a4a0 \ No newline at end of file diff --git a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.map b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.map index e292665b..ef916598 100644 --- a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.map +++ b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.map @@ -2,7 +2,7 @@ - + diff --git a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.md5 b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.md5 index a78a3c98..c9dc4591 100644 --- a/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.md5 +++ b/classlost_1_1_mat3_a3975740eea4c1c33289feefb81453e6e_icgraph.md5 @@ -1 +1 @@ -f01f8bd34d6f8e6523d44458fbf616cc \ No newline at end of file +64d67d150e112631730eeb48691623c6 \ No newline at end of file diff --git a/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.map b/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.map index 59e3e045..7e876040 100644 --- a/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.map +++ b/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.md5 b/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.md5 index dbcbd7e3..5603a831 100644 --- a/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.md5 +++ b/classlost_1_1_mat3_a4357c0052a4a3f4af9b4acfcc2de5622_cgraph.md5 @@ -1 +1 @@ -ec7bfdd88bf082de85d8bcf9896e00e1 \ No newline at end of file +e8975ee9379209313d7a23b2c2ea4200 \ No newline at end of file diff --git a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.map b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.map similarity index 61% rename from classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.map rename to classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.map index 03ad0745..cb54c8c8 100644 --- a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.map +++ b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.md5 b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.md5 new file mode 100644 index 00000000..2da5fd22 --- /dev/null +++ b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.md5 @@ -0,0 +1 @@ +8acea2b7a64bf30d05745ba8bfe66331 \ No newline at end of file diff --git a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.png b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.png similarity index 100% rename from classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.png rename to classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_cgraph.png diff --git a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_icgraph.map b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_icgraph.map similarity index 100% rename from classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_icgraph.map rename to classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_icgraph.map diff --git a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_icgraph.md5 b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_icgraph.md5 similarity index 100% rename from classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_icgraph.md5 rename to classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_icgraph.md5 diff --git a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_icgraph.png b/classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_icgraph.png similarity index 100% rename from classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_icgraph.png rename to classlost_1_1_mat3_a5a3c5d3bb1e90373f8ac1d2c16fca504_icgraph.png diff --git a/classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.md5 b/classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.md5 deleted file mode 100644 index 2bcb45b8..00000000 --- a/classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -21220ea38507d4d123262ee8bb7e68cb \ No newline at end of file diff --git a/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.map b/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.map index 2bce14dc..bb7070ed 100644 --- a/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.map +++ b/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.md5 b/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.md5 index b7779657..070e262a 100644 --- a/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.md5 +++ b/classlost_1_1_mat3_a8d1bdbb7028cc2d8c861b18ef64d9e27_cgraph.md5 @@ -1 +1 @@ -fcfaf65951f6e9f10ce3eb7e47c59384 \ No newline at end of file +526a5ef5c9a06bbf661af1a571e9f985 \ No newline at end of file diff --git a/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.map b/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.map index 1572ed1f..c9fb155c 100644 --- a/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.map +++ b/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.md5 b/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.md5 index 361d8440..a6619586 100644 --- a/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.md5 +++ b/classlost_1_1_mat3_ab850e8ba04b6d4822798379ba1c56dcf_cgraph.md5 @@ -1 +1 @@ -46d44cf313b1537ca7143f161d0a3647 \ No newline at end of file +5b7ba15f1e09935b38f7fbbb9a4b371a \ No newline at end of file diff --git a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.map b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.map similarity index 60% rename from classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.map rename to classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.map index 3a14d75b..88a3a6cb 100644 --- a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.map +++ b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.md5 b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.md5 new file mode 100644 index 00000000..01582238 --- /dev/null +++ b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.md5 @@ -0,0 +1 @@ +ca73cba3231f5550f9f0d2c5e6422a22 \ No newline at end of file diff --git a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.png b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.png similarity index 100% rename from classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_cgraph.png rename to classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_cgraph.png diff --git a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_icgraph.map b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_icgraph.map similarity index 100% rename from classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_icgraph.map rename to classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_icgraph.map diff --git a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_icgraph.md5 b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_icgraph.md5 similarity index 100% rename from classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_icgraph.md5 rename to classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_icgraph.md5 diff --git a/classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_icgraph.png b/classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_icgraph.png similarity index 100% rename from classlost_1_1_mat3_a1264f9b036c9b3022651082ddc3efd84_icgraph.png rename to classlost_1_1_mat3_aba95326b3dbabb03c53de174faf22383_icgraph.png diff --git a/classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.map b/classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.map similarity index 91% rename from classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.map rename to classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.map index da72fd39..fec4fbe0 100644 --- a/classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.map +++ b/classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.map @@ -1,18 +1,18 @@ - + - + - + diff --git a/classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.md5 b/classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.md5 new file mode 100644 index 00000000..3caa9d85 --- /dev/null +++ b/classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.md5 @@ -0,0 +1 @@ +26844330677710d5f13ea41f2edf020c \ No newline at end of file diff --git a/classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.png b/classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.png similarity index 100% rename from classlost_1_1_mat3_a672afcf04908553ca8fedd27b1004002_icgraph.png rename to classlost_1_1_mat3_ac76b6f96d5642a1eb952162f194a6e7e_icgraph.png diff --git a/classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.map b/classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.map similarity index 63% rename from classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.map rename to classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.map index 4040f9b2..c439ff57 100644 --- a/classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.map +++ b/classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.md5 b/classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.md5 new file mode 100644 index 00000000..f53b3681 --- /dev/null +++ b/classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.md5 @@ -0,0 +1 @@ +1018b4e1a801918332cfa0a4ffb98266 \ No newline at end of file diff --git a/classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.png b/classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.png similarity index 100% rename from classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.png rename to classlost_1_1_mat3_ac8db5f06c33d2e3cb463c5d95f479939_cgraph.png diff --git a/classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.md5 b/classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.md5 deleted file mode 100644 index 7a40f7d9..00000000 --- a/classlost_1_1_mat3_ad44fc5a52d4ff6868ae9f42f4d43e191_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d014a558c17f8aaaa0577567bdf3c6fa \ No newline at end of file diff --git a/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.map b/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.map index 3cd75567..e8f5f808 100644 --- a/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.map +++ b/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.md5 b/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.md5 index de4c7f2d..953f0b86 100644 --- a/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.md5 +++ b/classlost_1_1_mat3_add619b56d0870d447c35921beafabd7d_cgraph.md5 @@ -1 +1 @@ -3e34e151ed18ca07a9fea85ce19d08e8 \ No newline at end of file +79b9cfbd74e396a929c2f69e26899042 \ No newline at end of file diff --git a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.md5 b/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.md5 deleted file mode 100644 index 5c0f453f..00000000 --- a/classlost_1_1_mat3_add91dc6b5fbc16af21c0467bbdb13ae2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -199e79aed250bf63c598508eaffb40a0 \ No newline at end of file diff --git a/classlost_1_1_multi_database-members.html b/classlost_1_1_multi_database-members.html index 9e6ec2f9..2468ea1b 100644 --- a/classlost_1_1_multi_database-members.html +++ b/classlost_1_1_multi_database-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_multi_database.html b/classlost_1_1_multi_database.html index 628bdad7..f7bceb71 100644 --- a/classlost_1_1_multi_database.html +++ b/classlost_1_1_multi_database.html @@ -91,9 +91,6 @@
-

A database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database. - More...

-

#include <databases.hpp>

- +

@@ -102,14 +99,12 @@

 Create a multidatabase from a serialized multidatabase. More...
 
const unsigned char * SubDatabasePointer (int32_t magicValue) const
 MultiDatabase memory layout: More...
 MultiDatabase memory layout: More...
 

Detailed Description

-

A database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database.

-

Multi-databases are essentially a map from "magic values" to database buffers.

- -

Definition at line 99 of file databases.hpp.

+
+

Definition at line 104 of file databases.hpp.

Constructor & Destructor Documentation

◆ MultiDatabase()

@@ -137,7 +132,7 @@

Definition at line 102 of file databases.hpp.

+

Definition at line 107 of file databases.hpp.

@@ -158,8 +153,8 @@

-

MultiDatabase memory layout:

-

| size | name | description | |---—+-------------—+------------------------------------------—| | 4 | magicValue | unique database identifier | | 4 | databaseLength | length in bytes (32-bit unsigned) | | n | database | the entire database. 8-byte aligned | | ... | ... | More databases (each has value, length, db) | | 4 | caboose | 4 null bytes indicate the end |

+

MultiDatabase memory layout:

+

| size | name | description | |---—+-------------—+------------------------------------------—| | 4 | magicValue | unique database identifier | | 4 | flags | [X, X, X, isDouble?] | | 4 | databaseLength | length in bytes (32-bit unsigned) | | n | database | the entire database. 8-byte aligned | | ... | ... | More databases (each has value, length, db) | | 4 | caboose | 4 null bytes indicate the end |

return a pointer to the start of the database type indicated by the magic value, if such a sub-database is present in the database

Parameters
@@ -168,7 +163,16 @@

Returns
Returns a pointer to the start of the database type indicated by the magic value, null if not found
-

Definition at line 311 of file databases.cpp.

+

Definition at line 316 of file databases.cpp.

+
+Here is the call graph for this function:
+
+
+ + + + +
Here is the caller graph for this function:
@@ -194,7 +198,7 @@

    - +

diff --git a/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.map b/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.map new file mode 100644 index 00000000..0c9f58c4 --- /dev/null +++ b/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.md5 b/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.md5 new file mode 100644 index 00000000..4ce5ee5b --- /dev/null +++ b/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.md5 @@ -0,0 +1 @@ +c3df3115e6c500f970b923c3af19b5b4 \ No newline at end of file diff --git a/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.png b/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.png new file mode 100644 index 00000000..d69e83c1 Binary files /dev/null and b/classlost_1_1_multi_database_ad013d7640b19cb78268c9be5f6c64544_cgraph.png differ diff --git a/classlost_1_1_multi_database_entry-members.html b/classlost_1_1_multi_database_entry-members.html index 8d50ea42..3d316d86 100644 --- a/classlost_1_1_multi_database_entry-members.html +++ b/classlost_1_1_multi_database_entry-members.html @@ -91,14 +91,15 @@

This is the complete list of members for lost::MultiDatabaseEntry, including all inherited members.

magicValue
- - + + +
byteslost::MultiDatabaseEntry
magicValuelost::MultiDatabaseEntry
MultiDatabaseEntry(int32_t magicValue, std::vector< unsigned char > bytes)lost::MultiDatabaseEntryinline
flagslost::MultiDatabaseEntry
magicValuelost::MultiDatabaseEntry
MultiDatabaseEntry(int32_t magicValue, std::vector< unsigned char > bytes)lost::MultiDatabaseEntryinline
diff --git a/classlost_1_1_multi_database_entry.html b/classlost_1_1_multi_database_entry.html index 1784330d..6f144057 100644 --- a/classlost_1_1_multi_database_entry.html +++ b/classlost_1_1_multi_database_entry.html @@ -103,12 +103,14 @@ Public Attributes

int32_t magicValue   +uint32_t flags +  std::vector< unsigned char > bytes  

Detailed Description

-

Definition at line 108 of file databases.hpp.

+

Definition at line 113 of file databases.hpp.

Constructor & Destructor Documentation

◆ MultiDatabaseEntry()

@@ -144,7 +146,7 @@

-

Definition at line 110 of file databases.hpp.

+

Definition at line 115 of file databases.hpp.

@@ -161,7 +163,23 @@

-

Definition at line 114 of file databases.hpp.

+

Definition at line 120 of file databases.hpp.

+ + + + +

◆ flags

+ +
+
+ + + + +
uint32_t lost::MultiDatabaseEntry::flags
+
+ +

Definition at line 119 of file databases.hpp.

@@ -177,7 +195,7 @@

-

Definition at line 113 of file databases.hpp.

+

Definition at line 118 of file databases.hpp.

@@ -190,7 +208,7 @@

    - +
diff --git a/classlost_1_1_multi_database_entry.js b/classlost_1_1_multi_database_entry.js index eacb42af..5ec3caf2 100644 --- a/classlost_1_1_multi_database_entry.js +++ b/classlost_1_1_multi_database_entry.js @@ -2,5 +2,6 @@ var classlost_1_1_multi_database_entry = [ [ "MultiDatabaseEntry", "classlost_1_1_multi_database_entry.html#aaf297d5d21c88124667216df017679f4", null ], [ "bytes", "classlost_1_1_multi_database_entry.html#a4a8d44f79bc1acdbba0aae5ad21c3cbb", null ], + [ "flags", "classlost_1_1_multi_database_entry.html#ace2cf20a17ec8c58e40965438df8df06", null ], [ "magicValue", "classlost_1_1_multi_database_entry.html#aeede63708b59ea0086338286eef438c8", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_pair_distance_involving_iterator-members.html b/classlost_1_1_pair_distance_involving_iterator-members.html index f707e3b3..57fdb35b 100644 --- a/classlost_1_1_pair_distance_involving_iterator-members.html +++ b/classlost_1_1_pair_distance_involving_iterator-members.html @@ -100,7 +100,7 @@ diff --git a/classlost_1_1_pair_distance_involving_iterator.html b/classlost_1_1_pair_distance_involving_iterator.html index a2c049ab..c6710a43 100644 --- a/classlost_1_1_pair_distance_involving_iterator.html +++ b/classlost_1_1_pair_distance_involving_iterator.html @@ -236,9 +236,9 @@

- + - + @@ -321,7 +321,7 @@

diff --git a/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.map b/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.map index e7de1625..9a898185 100644 --- a/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.map +++ b/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.map @@ -1,8 +1,8 @@ - + - + diff --git a/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.md5 b/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.md5 index 861d5c3b..7578cab7 100644 --- a/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.md5 +++ b/classlost_1_1_pair_distance_involving_iterator_a955185950868d30fe8526d84ad4f7062_icgraph.md5 @@ -1 +1 @@ -0d47652c5e583b1d4d9ea91f04afc0a7 \ No newline at end of file +09c707de58d85fe2d9a14942d0226718 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database-members.html b/classlost_1_1_pair_distance_k_vector_database-members.html index bd4dfdec..a520a7dc 100644 --- a/classlost_1_1_pair_distance_k_vector_database-members.html +++ b/classlost_1_1_pair_distance_k_vector_database-members.html @@ -90,20 +90,20 @@

This is the complete list of members for lost::PairDistanceKVectorDatabase, including all inherited members.

- - + + - - + + - +
FindPairsExact(const Catalog &, float min, float max, const int16_t **end) constlost::PairDistanceKVectorDatabase
FindPairsLiberal(float min, float max, const int16_t **end) constlost::PairDistanceKVectorDatabase
FindPairsExact(const Catalog &, decimal min, decimal max, const int16_t **end) constlost::PairDistanceKVectorDatabase
FindPairsLiberal(decimal min, decimal max, const int16_t **end) constlost::PairDistanceKVectorDatabase
kMagicValuelost::PairDistanceKVectorDatabasestatic
MaxDistance() constlost::PairDistanceKVectorDatabaseinline
MinDistance() constlost::PairDistanceKVectorDatabaseinline
MaxDistance() constlost::PairDistanceKVectorDatabaseinline
MinDistance() constlost::PairDistanceKVectorDatabaseinline
NumPairs() constlost::PairDistanceKVectorDatabase
PairDistanceKVectorDatabase(DeserializeContext *des)lost::PairDistanceKVectorDatabaseexplicit
StarDistances(int16_t star, const Catalog &) constlost::PairDistanceKVectorDatabase
StarDistances(int16_t star, const Catalog &) constlost::PairDistanceKVectorDatabase
diff --git a/classlost_1_1_pair_distance_k_vector_database.html b/classlost_1_1_pair_distance_k_vector_database.html index 703359e0..9d8bb51b 100644 --- a/classlost_1_1_pair_distance_k_vector_database.html +++ b/classlost_1_1_pair_distance_k_vector_database.html @@ -102,20 +102,20 @@  PairDistanceKVectorDatabase (DeserializeContext *des)  Create the database from a serialized buffer. More...
  -const int16_t * FindPairsLiberal (float min, float max, const int16_t **end) const - Return at least all the star pairs whose inter-star distance is between min and max. More...
-  -const int16_t * FindPairsExact (const Catalog &, float min, float max, const int16_t **end) const -  -std::vector< float > StarDistances (int16_t star, const Catalog &) const - Return the distances from the given star to each star it's paired with in the database (for debugging). More...
-  -float MaxDistance () const - Upper bound on stored star pair distances. More...
-  -float MinDistance () const - Lower bound on stored star pair distances. More...
-  +const int16_t * FindPairsLiberal (decimal min, decimal max, const int16_t **end) const + Return at least all the star pairs whose inter-star distance is between min and max. More...
+  +const int16_t * FindPairsExact (const Catalog &, decimal min, decimal max, const int16_t **end) const +  +std::vector< decimalStarDistances (int16_t star, const Catalog &) const + Return the distances from the given star to each star it's paired with in the database (for debugging). More...
+  +decimal MaxDistance () const + Upper bound on stored star pair distances. More...
+  +decimal MinDistance () const + Lower bound on stored star pair distances. More...
+  long NumPairs () const  Exact number of stored pairs. More...
  @@ -123,14 +123,14 @@

Static Public Attributes

static const int32_t kMagicValue = 0x2536f009 - Magic value to use when storing inside a MultiDatabase. More...
+ Magic value to use when storing inside a MultiDatabase. More...
 

Detailed Description

A database storing distances between pairs of stars.

Supports fast range queries to find all pairs of stars separated by approximately a certain distance.

Warning
Sensitive to uncalibrated camera parameters
-

Definition at line 52 of file databases.hpp.

+

Definition at line 54 of file databases.hpp.

Constructor & Destructor Documentation

◆ PairDistanceKVectorDatabase()

@@ -158,7 +158,7 @@

Definition at line 217 of file databases.cpp.

+

Definition at line 221 of file databases.cpp.

Here is the call graph for this function:
@@ -172,8 +172,8 @@

Member Function Documentation

- -

◆ FindPairsExact()

+ +

◆ FindPairsExact()

@@ -187,13 +187,13 @@

- float  + decimal  min, - float  + decimal  max, @@ -210,32 +210,32 @@

-

Definition at line 244 of file databases.cpp.

+

Definition at line 248 of file databases.cpp.

Here is the call graph for this function:
-
- +
+ - +
Here is the caller graph for this function:
-
- +
+ - - + +

- -

◆ FindPairsLiberal()

+ +

◆ FindPairsLiberal()

@@ -243,13 +243,13 @@

const int16_t * lost::PairDistanceKVectorDatabase::FindPairsLiberal ( - float  + decimal  minQueryDistance, - float  + decimal  maxQueryDistance, @@ -275,21 +275,21 @@

Returns
A pointer to the start of the matched pairs. Each pair is stored as simply two 16-bit integers, each of which is a catalog index. (you must increment the pointer twice to get to the next pair).
-

Definition at line 233 of file databases.cpp.

+

Definition at line 237 of file databases.cpp.

Here is the call graph for this function:
-
- +
+ - +
Here is the caller graph for this function:
-
- +
+ @@ -298,8 +298,8 @@

-

◆ MaxDistance()

+ +

◆ MaxDistance()

@@ -308,7 +308,7 @@

- + @@ -323,31 +323,31 @@

Definition at line 61 of file databases.hpp.

+

Definition at line 63 of file databases.hpp.

Here is the call graph for this function:
-
- +
+ - +
Here is the caller graph for this function:
-
- +
+ - +
- -

◆ MinDistance()

+ +

◆ MinDistance()

@@ -356,7 +356,7 @@

float lost::PairDistanceKVectorDatabase::MaxDistance decimal lost::PairDistanceKVectorDatabase::MaxDistance ( ) const
- + @@ -371,23 +371,23 @@

Definition at line 63 of file databases.hpp.

+

Definition at line 65 of file databases.hpp.

Here is the call graph for this function:
-
- +
+ - +
Here is the caller graph for this function:
-
- +
+ - +
@@ -412,7 +412,7 @@

Definition at line 278 of file databases.cpp.

+

Definition at line 282 of file databases.cpp.

Here is the call graph for this function:
@@ -428,20 +428,20 @@

- + - -

◆ StarDistances()

+ +

◆ StarDistances()

float lost::PairDistanceKVectorDatabase::MinDistance decimal lost::PairDistanceKVectorDatabase::MinDistance ( ) const
- + @@ -462,14 +462,14 @@

Definition at line 283 of file databases.cpp.

+

Definition at line 287 of file databases.cpp.

Here is the call graph for this function:
-
- +
+ - + @@ -498,9 +498,9 @@

-

Magic value to use when storing inside a MultiDatabase.

+

Magic value to use when storing inside a MultiDatabase.

-

Definition at line 68 of file databases.hpp.

+

Definition at line 70 of file databases.hpp.

@@ -514,7 +514,7 @@

diff --git a/classlost_1_1_pair_distance_k_vector_database.js b/classlost_1_1_pair_distance_k_vector_database.js index 69eaf92e..e20bca58 100644 --- a/classlost_1_1_pair_distance_k_vector_database.js +++ b/classlost_1_1_pair_distance_k_vector_database.js @@ -1,10 +1,10 @@ var classlost_1_1_pair_distance_k_vector_database = [ [ "PairDistanceKVectorDatabase", "classlost_1_1_pair_distance_k_vector_database.html#a63c9e16675f56b66cc3740fb96c55dfc", null ], - [ "FindPairsExact", "classlost_1_1_pair_distance_k_vector_database.html#a892b10b967cbbad63625f807b8a73fa2", null ], - [ "FindPairsLiberal", "classlost_1_1_pair_distance_k_vector_database.html#a8d2180c0b5a9900a967dfadac71e17b6", null ], - [ "MaxDistance", "classlost_1_1_pair_distance_k_vector_database.html#a74b37c794ec625196a5bed9326501332", null ], - [ "MinDistance", "classlost_1_1_pair_distance_k_vector_database.html#af7f18bf54bb9f86d7fc023f71b491178", null ], + [ "FindPairsExact", "classlost_1_1_pair_distance_k_vector_database.html#ad76a05c909ea68d6084f942f3623b8ed", null ], + [ "FindPairsLiberal", "classlost_1_1_pair_distance_k_vector_database.html#ae88622306fc1b554a5c86476b0e815af", null ], + [ "MaxDistance", "classlost_1_1_pair_distance_k_vector_database.html#aec5c08310e5f796a9025300f9d8754e3", null ], + [ "MinDistance", "classlost_1_1_pair_distance_k_vector_database.html#a4db3849497b621317addfb332fd743cc", null ], [ "NumPairs", "classlost_1_1_pair_distance_k_vector_database.html#a0b1b8bf73fa17c88abaf479fa79be96b", null ], - [ "StarDistances", "classlost_1_1_pair_distance_k_vector_database.html#a203c5b10c6490adaf102d016a160b3f9", null ] + [ "StarDistances", "classlost_1_1_pair_distance_k_vector_database.html#a2df6cf629cb564bc9ad47f724cbf10b0", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.map b/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.map index 8bfb8f09..d67718a1 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.md5 index fc8efabd..4714dd47 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.md5 +++ b/classlost_1_1_pair_distance_k_vector_database_a0b1b8bf73fa17c88abaf479fa79be96b_icgraph.md5 @@ -1 +1 @@ -63e6c592e6ba211f2591746b2c321903 \ No newline at end of file +e82552d15ac27f22b3ba33ef4e8dc4be \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.md5 deleted file mode 100644 index af6186b2..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bf39ffbeaa90d99b33df4bb4b49013b5 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.map b/classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.map similarity index 85% rename from classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.map rename to classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.map index 057c3646..abab8f10 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.map @@ -1,6 +1,6 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.md5 new file mode 100644 index 00000000..ca9e795d --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.md5 @@ -0,0 +1 @@ +2f183a03b27fa3739e81d5503d228114 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.png b/classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a203c5b10c6490adaf102d016a160b3f9_cgraph.png rename to classlost_1_1_pair_distance_k_vector_database_a2df6cf629cb564bc9ad47f724cbf10b0_cgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.map b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.map similarity index 83% rename from classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.map rename to classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.map index 71c852f0..ef9bb56f 100644 --- a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.md5 new file mode 100644 index 00000000..b89f3420 --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.md5 @@ -0,0 +1 @@ +5e8b83611394887fe535e58791df8f1e \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.png b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.png rename to classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_cgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.map b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.map similarity index 81% rename from classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.map rename to classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.map index 0b062ed3..139316e4 100644 --- a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.md5 new file mode 100644 index 00000000..4ff608b1 --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.md5 @@ -0,0 +1 @@ +663745b4d780bf4e6371a4f6cd1f2e68 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.png b/classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.png rename to classlost_1_1_pair_distance_k_vector_database_a4db3849497b621317addfb332fd743cc_icgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.md5 deleted file mode 100644 index 4f490ffc..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -da2e740dbfc2dca8c593fd8645509b09 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.md5 deleted file mode 100644 index 0aab83f6..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f5fce2543fe86372aa536dd67c381e80 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.md5 deleted file mode 100644 index e76e6fd5..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -d0057e75a86063e4693398b0a0e20eb7 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.md5 deleted file mode 100644 index 7e8ec4fc..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -bd966b2a99cecda0209301f255154909 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.md5 deleted file mode 100644 index f81d8a26..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -364905f9544c6e7bec236bd7a11839c8 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.map b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.map similarity index 85% rename from classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.map rename to classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.map index 661a0290..14df6a22 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.md5 new file mode 100644 index 00000000..8f1d29d3 --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.md5 @@ -0,0 +1 @@ +92a1ea95319c3e85213e98a369bbec7c \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.png b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_cgraph.png rename to classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_cgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.map b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.map similarity index 71% rename from classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.map rename to classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.map index 30e633d0..5c6de908 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.map @@ -1,6 +1,6 @@ - - + + diff --git a/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.md5 new file mode 100644 index 00000000..475c531b --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.md5 @@ -0,0 +1 @@ +7e9cd339be687c32771f2eec27560b73 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.png b/classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a892b10b967cbbad63625f807b8a73fa2_icgraph.png rename to classlost_1_1_pair_distance_k_vector_database_ad76a05c909ea68d6084f942f3623b8ed_icgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.map b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.map similarity index 87% rename from classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.map rename to classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.map index 6a2994e2..3b5de309 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.md5 new file mode 100644 index 00000000..0ef1500a --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.md5 @@ -0,0 +1 @@ +a98a09c83184fa8fa75afed90cd02844 \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.png b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_cgraph.png rename to classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_cgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_icgraph.map b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_icgraph.map similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_icgraph.map rename to classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_icgraph.map diff --git a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_icgraph.md5 similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_icgraph.md5 rename to classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_icgraph.md5 diff --git a/classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_icgraph.png b/classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_icgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a8d2180c0b5a9900a967dfadac71e17b6_icgraph.png rename to classlost_1_1_pair_distance_k_vector_database_ae88622306fc1b554a5c86476b0e815af_icgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.map b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.map similarity index 84% rename from classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.map rename to classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.map index 6fd6952e..472a9666 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.md5 new file mode 100644 index 00000000..631d6c55 --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.md5 @@ -0,0 +1 @@ +389923bcd4cba50aec865f018476e60f \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.png b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_cgraph.png rename to classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_cgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.map b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.map similarity index 81% rename from classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.map rename to classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.map index bf44f0a7..4da1c5f8 100644 --- a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.map +++ b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.md5 new file mode 100644 index 00000000..af4d8287 --- /dev/null +++ b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.md5 @@ -0,0 +1 @@ +b5de04fd2a959293b28f5a0012f64aae \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.png b/classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.png similarity index 100% rename from classlost_1_1_pair_distance_k_vector_database_a74b37c794ec625196a5bed9326501332_icgraph.png rename to classlost_1_1_pair_distance_k_vector_database_aec5c08310e5f796a9025300f9d8754e3_icgraph.png diff --git a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.md5 deleted file mode 100644 index 518e3208..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e8c2f6069245fceb87a07d83f40d69af \ No newline at end of file diff --git a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.md5 b/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.md5 deleted file mode 100644 index 00f9db39..00000000 --- a/classlost_1_1_pair_distance_k_vector_database_af7f18bf54bb9f86d7fc023f71b491178_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -909fc3e648854041a58307f7e077b335 \ No newline at end of file diff --git a/classlost_1_1_pipeline-members.html b/classlost_1_1_pipeline-members.html index db85938c..f76514f9 100644 --- a/classlost_1_1_pipeline-members.html +++ b/classlost_1_1_pipeline-members.html @@ -100,7 +100,7 @@ diff --git a/classlost_1_1_pipeline.html b/classlost_1_1_pipeline.html index c0118473..b0990ee8 100644 --- a/classlost_1_1_pipeline.html +++ b/classlost_1_1_pipeline.html @@ -121,7 +121,7 @@

A set of algorithms that describes all or part of the star-tracking "pipeline".

A centroiding algorithm identifies the (x,y) pixel coordinates of each star detected in the raw image. The star id algorithm then determines which centroid corresponds to which catalog star. Finally, the attitude estimation algorithm determines the orientation of the camera based on the centroids and identified stars.

-

Definition at line 232 of file io.hpp.

+

Definition at line 233 of file io.hpp.

Constructor & Destructor Documentation

◆ Pipeline() [1/2]

@@ -194,7 +194,7 @@

Definition at line 813 of file io.cpp.

+

Definition at line 821 of file io.cpp.

@@ -218,7 +218,7 @@

PipelineInput will contain only an InputImage. In this case, Go runs each star tracking algorithm in turn, passing the result of each step into the next one. When running on a generated image (or any pipeline input where methods other than InputImage are available), or using a Pipeline where some algorithms are not set, the behavior is more nuanced. Each algorithm will be run on the return value of the corresponding input method from the PipelineInput object, unless an earlier algorithm in the Pipeline returned a result, in which case that intermediate value is used instead of the value from the PipelineInput.

-

Definition at line 900 of file io.cpp.

+

Definition at line 909 of file io.cpp.

Here is the call graph for this function:
@@ -234,6 +234,7 @@

+

@@ -266,7 +267,7 @@

Pipeline::Go function on each input.

-

Definition at line 1002 of file io.cpp.

+

Definition at line 1011 of file io.cpp.

Here is the call graph for this function:
@@ -283,6 +284,7 @@

+

@@ -315,7 +317,7 @@

Definition at line 834 of file io.cpp.

+

Definition at line 842 of file io.cpp.

@@ -329,7 +331,7 @@

    - +
diff --git a/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.map b/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.map index 05be51b3..b33298ed 100644 --- a/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.map +++ b/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.map @@ -10,4 +10,5 @@ + diff --git a/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.md5 b/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.md5 index f511f49d..12aa1815 100644 --- a/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.md5 +++ b/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.md5 @@ -1 +1 @@ -6c43bca0c7b563c9b09b0dd02e9483c4 \ No newline at end of file +acac20223ef072ecf2533e52a5e42f04 \ No newline at end of file diff --git a/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.png b/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.png index 41a41e02..3c210551 100644 Binary files a/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.png and b/classlost_1_1_pipeline_a880d560ff40f68a2bbdc2cacc943e09d_cgraph.png differ diff --git a/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.map b/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.map index 38dd469b..c2b39921 100644 --- a/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.map +++ b/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.map @@ -9,4 +9,5 @@ + diff --git a/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.md5 b/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.md5 index 5b301db6..ce331799 100644 --- a/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.md5 +++ b/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.md5 @@ -1 +1 @@ -f7d7c27cee016b016b28138e146cdeda \ No newline at end of file +fac209f8e05d8f2b110d21a1e1f12c6f \ No newline at end of file diff --git a/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.png b/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.png index 2957e63b..29d4b531 100644 Binary files a/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.png and b/classlost_1_1_pipeline_aea0fe125836ac0c6906886ad320f5210_cgraph.png differ diff --git a/classlost_1_1_pipeline_input-members.html b/classlost_1_1_pipeline_input-members.html index 46f0114d..726b15ca 100644 --- a/classlost_1_1_pipeline_input-members.html +++ b/classlost_1_1_pipeline_input-members.html @@ -106,7 +106,7 @@ diff --git a/classlost_1_1_pipeline_input.html b/classlost_1_1_pipeline_input.html index 0739af91..9ed732db 100644 --- a/classlost_1_1_pipeline_input.html +++ b/classlost_1_1_pipeline_input.html @@ -140,7 +140,7 @@

Represents the input and expected outputs of a pipeline run.

This is all the data about the pipeline we are about to run that can be gathered without actually running the pipeline. The "input" members return the things that will be fed into the pipeline. The "expected" methods return the "correct" outputs, i.e. what a perfect star tracking algorithm would output (this is only meaningful whe the image is generated, otherwise we don't know the correct output!). The "expected" methods are used to evaluate the quality of our algorithms. Some of the methods (both input and expected) may return NULL for certain subclasses. By default, the "expected" methods return the corresponding inputs, which is reasonable behavior unless you are trying to intentionally introduce error into the inputs.

-

Definition at line 93 of file io.hpp.

+

Definition at line 94 of file io.hpp.

Constructor & Destructor Documentation

◆ ~PipelineInput()

@@ -165,7 +165,7 @@

-

Definition at line 95 of file io.hpp.

+

Definition at line 96 of file io.hpp.

@@ -193,7 +193,7 @@

-

Definition at line 117 of file io.hpp.

+

Definition at line 118 of file io.hpp.

Here is the call graph for this function:
@@ -234,7 +234,7 @@

lost::GeneratedPipelineInput.

-

Definition at line 116 of file io.hpp.

+

Definition at line 117 of file io.hpp.

Here is the call graph for this function:
@@ -272,7 +272,7 @@

lost::GeneratedPipelineInput.

-

Definition at line 110 of file io.hpp.

+

Definition at line 111 of file io.hpp.

Here is the call graph for this function:
@@ -351,7 +351,7 @@

lost::GeneratedPipelineInput.

-

Definition at line 105 of file io.hpp.

+

Definition at line 106 of file io.hpp.

Here is the caller graph for this function:
@@ -389,7 +389,7 @@

lost::PngPipelineInput, and lost::GeneratedPipelineInput.

-

Definition at line 106 of file io.hpp.

+

Definition at line 107 of file io.hpp.

Here is the caller graph for this function:
@@ -428,7 +428,7 @@

lost::PngPipelineInput, and lost::GeneratedPipelineInput.

-

Definition at line 97 of file io.hpp.

+

Definition at line 98 of file io.hpp.

Here is the caller graph for this function:
@@ -462,7 +462,7 @@

InputImage() into a cairo surface.

Allocates a new surface, whih must be destroyed with cairo_surface_destroy

-

Definition at line 332 of file io.cpp.

+

Definition at line 340 of file io.cpp.

Here is the call graph for this function:
@@ -503,7 +503,7 @@

lost::GeneratedPipelineInput.

-

Definition at line 103 of file io.hpp.

+

Definition at line 104 of file io.hpp.

Here is the caller graph for this function:
@@ -543,7 +543,7 @@

lost::GeneratedPipelineInput.

-

Definition at line 100 of file io.hpp.

+

Definition at line 101 of file io.hpp.

Here is the caller graph for this function:
@@ -568,7 +568,7 @@

    - +

diff --git a/classlost_1_1_pipeline_options.html b/classlost_1_1_pipeline_options.html index 8bca6562..4e04234b 100644 --- a/classlost_1_1_pipeline_options.html +++ b/classlost_1_1_pipeline_options.html @@ -95,7 +95,7 @@

Detailed Description

The command line options passed when running a pipeline.

-

Definition at line 80 of file io.hpp.

+

Definition at line 81 of file io.hpp.


The documentation for this class was generated from the following file: @@ -105,7 +105,7 @@ diff --git a/classlost_1_1_png_pipeline_input-members.html b/classlost_1_1_png_pipeline_input-members.html index 02f35f78..153941e2 100644 --- a/classlost_1_1_png_pipeline_input-members.html +++ b/classlost_1_1_png_pipeline_input-members.html @@ -108,7 +108,7 @@ diff --git a/classlost_1_1_png_pipeline_input.html b/classlost_1_1_png_pipeline_input.html index 11222a84..becb3548 100644 --- a/classlost_1_1_png_pipeline_input.html +++ b/classlost_1_1_png_pipeline_input.html @@ -153,7 +153,7 @@

Detailed Description

A pipeline input created by reading a PNG from a file on disk.

-

Definition at line 166 of file io.hpp.

+

Definition at line 167 of file io.hpp.

Constructor & Destructor Documentation

◆ PngPipelineInput()

@@ -196,7 +196,7 @@

Todo:
should rename, not specific to PNG.
-

Definition at line 358 of file io.cpp.

+

Definition at line 366 of file io.cpp.

Here is the call graph for this function:
@@ -224,7 +224,7 @@

-

Definition at line 366 of file io.cpp.

+

Definition at line 374 of file io.cpp.

@@ -256,7 +256,7 @@

lost::PipelineInput.

-

Definition at line 173 of file io.hpp.

+

Definition at line 174 of file io.hpp.

@@ -285,7 +285,7 @@

lost::PipelineInput.

-

Definition at line 172 of file io.hpp.

+

Definition at line 173 of file io.hpp.

@@ -314,7 +314,7 @@

lost::PipelineInput.

-

Definition at line 171 of file io.hpp.

+

Definition at line 172 of file io.hpp.

@@ -328,7 +328,7 @@

    - +

diff --git a/classlost_1_1_pyramid_star_id_algorithm-members.html b/classlost_1_1_pyramid_star_id_algorithm-members.html index 68b1287e..8275660d 100644 --- a/classlost_1_1_pyramid_star_id_algorithm-members.html +++ b/classlost_1_1_pyramid_star_id_algorithm-members.html @@ -91,14 +91,14 @@

This is the complete list of members for lost::PyramidStarIdAlgorithm, including all inherited members.

std::vector< float > lost::PairDistanceKVectorDatabase::StarDistances std::vector< decimal > lost::PairDistanceKVectorDatabase::StarDistances ( int16_t  star,
- +
Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) constlost::PyramidStarIdAlgorithmvirtual
PyramidStarIdAlgorithm(float tolerance, int numFalseStars, float maxMismatchProbability, long cutoff)lost::PyramidStarIdAlgorithminline
PyramidStarIdAlgorithm(decimal tolerance, int numFalseStars, decimal maxMismatchProbability, long cutoff)lost::PyramidStarIdAlgorithminline
~StarIdAlgorithm()lost::StarIdAlgorithminlinevirtual

diff --git a/classlost_1_1_pyramid_star_id_algorithm.html b/classlost_1_1_pyramid_star_id_algorithm.html index 08178010..31b599e4 100644 --- a/classlost_1_1_pyramid_star_id_algorithm.html +++ b/classlost_1_1_pyramid_star_id_algorithm.html @@ -119,8 +119,8 @@ 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. More...
  - PyramidStarIdAlgorithm (float tolerance, int numFalseStars, float maxMismatchProbability, long cutoff) -  + PyramidStarIdAlgorithm (decimal tolerance, int numFalseStars, decimal maxMismatchProbability, long cutoff) +  - Public Member Functions inherited from lost::StarIdAlgorithm virtual ~StarIdAlgorithm ()   @@ -131,8 +131,8 @@

Definition at line 52 of file star-id.hpp.

Constructor & Destructor Documentation

- -

◆ PyramidStarIdAlgorithm()

+ +

◆ PyramidStarIdAlgorithm()

@@ -285,7 +286,7 @@

    - +

diff --git a/classlost_1_1_pyramid_star_id_algorithm.js b/classlost_1_1_pyramid_star_id_algorithm.js index b2fbbda9..164ab433 100644 --- a/classlost_1_1_pyramid_star_id_algorithm.js +++ b/classlost_1_1_pyramid_star_id_algorithm.js @@ -1,5 +1,5 @@ var classlost_1_1_pyramid_star_id_algorithm = [ - [ "PyramidStarIdAlgorithm", "classlost_1_1_pyramid_star_id_algorithm.html#af49d0a219e84d31fccdc927aa7476d50", null ], + [ "PyramidStarIdAlgorithm", "classlost_1_1_pyramid_star_id_algorithm.html#a558b3037bf30cd916ce7c2236999912c", null ], [ "Go", "classlost_1_1_pyramid_star_id_algorithm.html#ac4d954f0b508e6b1818f416cbed5c67a", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.map b/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.map index 0203e5de..f8e5c5b1 100644 --- a/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.map +++ b/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.map @@ -1,25 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.md5 b/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.md5 index 0e0d3a46..acef03fc 100644 --- a/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.md5 +++ b/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.md5 @@ -1 +1 @@ -f8646dce65218441bfc4cb655f397d4a \ No newline at end of file +cd78ed5ce3292eb15bdee635abdaae17 \ No newline at end of file diff --git a/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.png b/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.png index 8640caf0..3baa0d7b 100644 Binary files a/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.png and b/classlost_1_1_pyramid_star_id_algorithm_ac4d954f0b508e6b1818f416cbed5c67a_cgraph.png differ diff --git a/classlost_1_1_quaternion-members.html b/classlost_1_1_quaternion-members.html index 647c2594..d498e8d8 100644 --- a/classlost_1_1_quaternion-members.html +++ b/classlost_1_1_quaternion-members.html @@ -90,23 +90,23 @@

This is the complete list of members for lost::Quaternion, including all inherited members.

- + - - - - + + + + - - - + + + - + - +
Angle() constlost::Quaternion
Angle() constlost::Quaternion
Canonicalize() constlost::Quaternion
Conjugate() constlost::Quaternion
ilost::Quaternion
IsUnit(float tolerance) constlost::Quaternion
jlost::Quaternion
klost::Quaternion
ilost::Quaternion
IsUnit(decimal tolerance) constlost::Quaternion
jlost::Quaternion
klost::Quaternion
operator*(const Quaternion &other) constlost::Quaternion
Quaternion()=defaultlost::Quaternion
Quaternion(const Vec3 &)lost::Quaternionexplicit
Quaternion(const Vec3 &, float)lost::Quaternion
Quaternion(float real, float i, float j, float k)lost::Quaternioninline
reallost::Quaternion
Quaternion(const Vec3 &, decimal)lost::Quaternion
Quaternion(decimal real, decimal i, decimal j, decimal k)lost::Quaternioninline
reallost::Quaternion
Rotate(const Vec3 &) constlost::Quaternion
SetAngle(float)lost::Quaternion
SetAngle(decimal)lost::Quaternion
SetVector(const Vec3 &)lost::Quaternion
SmallestAngle() constlost::Quaternion
SmallestAngle() constlost::Quaternion
ToSpherical() constlost::Quaternion
Vector() constlost::Quaternion

@@ -114,7 +114,7 @@ diff --git a/classlost_1_1_quaternion.html b/classlost_1_1_quaternion.html index 78857981..538d9dca 100644 --- a/classlost_1_1_quaternion.html +++ b/classlost_1_1_quaternion.html @@ -104,11 +104,11 @@  Quaternion (const Vec3 &)  Creates a "pure quaternion" with the given vector for imaginary parts and zero for real part. More...
  - Quaternion (const Vec3 &, float) - Create a quaternion which represents a rotation of theta around the axis input. More...
-  - Quaternion (float real, float i, float j, float k) -  + Quaternion (const Vec3 &, decimal) + Create a quaternion which represents a rotation of theta around the axis input. More...
+  + Quaternion (decimal real, decimal i, decimal j, decimal k) +  Quaternion operator* (const Quaternion &other) const  Multiply two quaternions using the usual definition of quaternion multiplication (effectively composes rotations) More...
  @@ -124,38 +124,38 @@ Vec3 Rotate (const Vec3 &) const  Rotate a 3d vector according to the rotation represented by the quaternion. More...
  -float Angle () const - How many radians the rotation represented by this quaternion has. More...
-  -float SmallestAngle () const - Returns the smallest angle that can be used to represent the rotation represented by the quaternion. More...
-  -void SetAngle (float) -  +decimal Angle () const + How many radians the rotation represented by this quaternion has. More...
+  +decimal SmallestAngle () const + Returns the smallest angle that can be used to represent the rotation represented by the quaternion. More...
+  +void SetAngle (decimal) +  EulerAngles ToSpherical () const   -bool IsUnit (float tolerance) const - Whether the quaternion is a unit quaternion. All quaternions representing rotations should be units. More...
-  +bool IsUnit (decimal tolerance) const + Whether the quaternion is a unit quaternion. All quaternions representing rotations should be units. More...
Quaternion Canonicalize () const  Ensure that the quaternion's real part is nonnegative. More...
  - - - - - - - - + + + + + + + +

Public Attributes

float real
 
float i
 
float j
 
float k
 
decimal real
 
decimal i
 
decimal j
 
decimal k
 

Detailed Description

A quaternion is a common way to represent a 3d rotation.

-

Definition at line 97 of file attitude-utils.hpp.

+

Definition at line 98 of file attitude-utils.hpp.

Constructor & Destructor Documentation

◆ Quaternion() [1/4]

@@ -190,7 +190,7 @@

- + @@ -230,7 +230,7 @@

-

Definition at line 38 of file attitude-utils.cpp.

+

Definition at line 40 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -243,8 +243,8 @@

-

◆ Quaternion() [3/4]

+ +

◆ Quaternion() [3/4]

@@ -258,7 +258,7 @@

- float  + decimal  theta  @@ -271,12 +271,12 @@

Definition at line 44 of file attitude-utils.cpp.

+

Definition at line 46 of file attitude-utils.cpp.

- -

◆ Quaternion() [4/4]

+ +

◆ Quaternion() [4/4]

@@ -287,25 +287,25 @@

lost::Quaternion::Quaternion ( - float  + decimal  real, - float  + decimal  i, - float  + decimal  j, - float  + decimal  k  @@ -321,19 +321,19 @@

-

Definition at line 103 of file attitude-utils.hpp.

+

Definition at line 104 of file attitude-utils.hpp.

Member Function Documentation

- -

◆ Angle()

+ +

◆ Angle()

- + @@ -343,15 +343,15 @@

Definition at line 59 of file attitude-utils.cpp.

+

Definition at line 61 of file attitude-utils.cpp.

Here is the caller graph for this function:
-
- +
+ - - + +
@@ -375,7 +375,7 @@

Definition at line 125 of file attitude-utils.cpp.

+

Definition at line 127 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -405,7 +405,7 @@

Definition at line 21 of file attitude-utils.cpp.

+

Definition at line 23 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -423,7 +423,7 @@

- + @@ -437,8 +437,8 @@

-

◆ IsUnit()

+ +

◆ IsUnit()

@@ -446,7 +446,7 @@

bool lost::Quaternion::IsUnit

- + @@ -455,7 +455,7 @@

Definition at line 118 of file attitude-utils.cpp.

+

Definition at line 120 of file attitude-utils.cpp.

@@ -477,7 +477,7 @@

Definition at line 12 of file attitude-utils.cpp.

+

Definition at line 14 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -508,7 +508,7 @@

Definition at line 53 of file attitude-utils.cpp.

+

Definition at line 55 of file attitude-utils.cpp.

Here is the call graph for this function:
@@ -526,7 +526,7 @@

- + @@ -540,8 +540,8 @@

-

◆ SetAngle()

+ +

◆ SetAngle()

@@ -549,19 +549,19 @@

void lost::Quaternion::SetAngle

- +
float lost::Quaternion::Angle decimal lost::Quaternion::Angle ( ) const(float decimal  tolerance) const
(float decimal  newAngle)
-

Definition at line 74 of file attitude-utils.cpp.

+

Definition at line 76 of file attitude-utils.cpp.

Here is the call graph for this function:
-
- +
+ @@ -588,7 +588,7 @@

Definition at line 31 of file attitude-utils.cpp.

+

Definition at line 33 of file attitude-utils.cpp.

Here is the caller graph for this function:
@@ -596,20 +596,20 @@

- +

- -

◆ SmallestAngle()

+ +

◆ SmallestAngle()

- + @@ -620,14 +620,14 @@

Definition at line 67 of file attitude-utils.cpp.

+

Definition at line 69 of file attitude-utils.cpp.

Here is the call graph for this function:
-
- +
+ - +
@@ -648,7 +648,7 @@

-

Definition at line 79 of file attitude-utils.cpp.

+

Definition at line 81 of file attitude-utils.cpp.

Here is the caller graph for this function:
@@ -681,81 +681,81 @@

Definition at line 26 of file attitude-utils.cpp.

+

Definition at line 28 of file attitude-utils.cpp.

Here is the caller graph for this function:
- +

Member Data Documentation

- -

◆ i

+ +

◆ i

float lost::Quaternion::SmallestAngle decimal lost::Quaternion::SmallestAngle ( ) const
- +
float lost::Quaternion::idecimal lost::Quaternion::i
-

Definition at line 121 of file attitude-utils.hpp.

+

Definition at line 122 of file attitude-utils.hpp.

- -

◆ j

+ +

◆ j

- +
float lost::Quaternion::jdecimal lost::Quaternion::j
-

Definition at line 122 of file attitude-utils.hpp.

+

Definition at line 123 of file attitude-utils.hpp.

- -

◆ k

+ +

◆ k

- +
float lost::Quaternion::kdecimal lost::Quaternion::k
-

Definition at line 123 of file attitude-utils.hpp.

+

Definition at line 124 of file attitude-utils.hpp.

- -

◆ real

+ +

◆ real

- +
float lost::Quaternion::realdecimal lost::Quaternion::real
-

Definition at line 120 of file attitude-utils.hpp.

+

Definition at line 121 of file attitude-utils.hpp.

@@ -769,7 +769,7 @@

    - +

diff --git a/classlost_1_1_quaternion.js b/classlost_1_1_quaternion.js index 15f9500c..69f60d29 100644 --- a/classlost_1_1_quaternion.js +++ b/classlost_1_1_quaternion.js @@ -2,21 +2,21 @@ var classlost_1_1_quaternion = [ [ "Quaternion", "classlost_1_1_quaternion.html#a6ff95b8ae5599c94d585bd9842dfa873", null ], [ "Quaternion", "classlost_1_1_quaternion.html#aaf73dff6f30d740ded0ea2be0449b3b2", null ], - [ "Quaternion", "classlost_1_1_quaternion.html#adcebe15481e86e3908caff22865b6742", null ], - [ "Quaternion", "classlost_1_1_quaternion.html#aef18b43911c9bc9ca7bb1590efec9bff", null ], - [ "Angle", "classlost_1_1_quaternion.html#a819b0f409e60886138c0fae47c21e250", null ], + [ "Quaternion", "classlost_1_1_quaternion.html#a017e02bf5ca5630d4469755e3fed0b54", null ], + [ "Quaternion", "classlost_1_1_quaternion.html#a6128486aac9faa766c2605f54dfc3647", null ], + [ "Angle", "classlost_1_1_quaternion.html#a4122fd09cf9e8d1ecf408873881da55e", null ], [ "Canonicalize", "classlost_1_1_quaternion.html#a0df3e917ca129d6a8d608d49ab9e5bbd", null ], [ "Conjugate", "classlost_1_1_quaternion.html#a6436279d8b3bc9a764c10877f810add9", null ], - [ "IsUnit", "classlost_1_1_quaternion.html#ac11be6116bc0db43cb7b84ec01e73e33", null ], + [ "IsUnit", "classlost_1_1_quaternion.html#ac591d4b58b2890bd7f4bb0a331418001", null ], [ "operator*", "classlost_1_1_quaternion.html#a8ebde5fe7f4422ba54775aa7e5d12756", null ], [ "Rotate", "classlost_1_1_quaternion.html#a570198dc9f0669cb34d715fbf9e62578", null ], - [ "SetAngle", "classlost_1_1_quaternion.html#a91c8378b5a2067015553533152bf3327", null ], + [ "SetAngle", "classlost_1_1_quaternion.html#ab302f2d15fb324c68efce001a5757726", null ], [ "SetVector", "classlost_1_1_quaternion.html#a6d8e723c0c49869742c938a0dcb38d2f", null ], - [ "SmallestAngle", "classlost_1_1_quaternion.html#a5d3b137eb8c75c996c3f25a4fdc7bde2", null ], + [ "SmallestAngle", "classlost_1_1_quaternion.html#aec6d6d268e364a2f8cca0346819e4230", null ], [ "ToSpherical", "classlost_1_1_quaternion.html#a565b9cb827d1938fe0b88aaa19093686", null ], [ "Vector", "classlost_1_1_quaternion.html#a2eace9c3a35569109c949b7d8f1bc96e", null ], - [ "i", "classlost_1_1_quaternion.html#af91fd942679a1445421c93c4db9628b2", null ], - [ "j", "classlost_1_1_quaternion.html#a815259d4abdb84d5b3edbededb0764a8", null ], - [ "k", "classlost_1_1_quaternion.html#a94914610eb3c0ef3b32962505585130c", null ], - [ "real", "classlost_1_1_quaternion.html#a93956549b0172d3a198a3100949c5b70", null ] + [ "i", "classlost_1_1_quaternion.html#a29cfd61187f0b99d589d8b7cc46747e1", null ], + [ "j", "classlost_1_1_quaternion.html#a8955013a6ea860afd03c4f7b6c1f7e90", null ], + [ "k", "classlost_1_1_quaternion.html#a5b3471fa3003bd2cfa1ec40dfe75bcca", null ], + [ "real", "classlost_1_1_quaternion.html#aba059c6fa2c2f4df17eecf36d12050d7", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.map b/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.map index 342ca560..ddbf748b 100644 --- a/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.map +++ b/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.md5 b/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.md5 index bdd6cdb0..a3acd0eb 100644 --- a/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.md5 +++ b/classlost_1_1_quaternion_a2eace9c3a35569109c949b7d8f1bc96e_icgraph.md5 @@ -1 +1 @@ -f9c13796ba686c382259841aaafa2121 \ No newline at end of file +4d8aa93322dbebfcf6f1f94964a1b758 \ No newline at end of file diff --git a/classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.map b/classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.map similarity index 80% rename from classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.map rename to classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.map index 2fb43d05..3a58232d 100644 --- a/classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.map +++ b/classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.map @@ -1,5 +1,5 @@ - - + + diff --git a/classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.md5 b/classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.md5 new file mode 100644 index 00000000..47cd0a57 --- /dev/null +++ b/classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.md5 @@ -0,0 +1 @@ +014afc70834898dd1725a30a49a09862 \ No newline at end of file diff --git a/classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.png b/classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.png similarity index 100% rename from classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.png rename to classlost_1_1_quaternion_a4122fd09cf9e8d1ecf408873881da55e_icgraph.png diff --git a/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.map b/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.map index 75fec1ac..71bccc02 100644 --- a/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.map +++ b/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.map @@ -1,7 +1,7 @@ - + diff --git a/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.md5 b/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.md5 index 89d35185..2aed25e6 100644 --- a/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.md5 +++ b/classlost_1_1_quaternion_a570198dc9f0669cb34d715fbf9e62578_icgraph.md5 @@ -1 +1 @@ -058f0abfbcb2eda9c534f2a81692ac7c \ No newline at end of file +9731d76ab6edb17a45244b4e0ea44ec3 \ No newline at end of file diff --git a/classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.md5 b/classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.md5 deleted file mode 100644 index aef45da7..00000000 --- a/classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -76361f77180dd130b946f1c6883fbd8d \ No newline at end of file diff --git a/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.map b/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.map index 3fe11fcc..fda167c2 100644 --- a/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.map +++ b/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.map @@ -2,7 +2,7 @@ - + diff --git a/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.md5 b/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.md5 index 263389b5..cf9fc346 100644 --- a/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.md5 +++ b/classlost_1_1_quaternion_a6436279d8b3bc9a764c10877f810add9_icgraph.md5 @@ -1 +1 @@ -7f737b5829d5f1ba4d9dad1edd9b6ab3 \ No newline at end of file +91f330ec73689ab021543cb15bf7eafc \ No newline at end of file diff --git a/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.map b/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.map index d2b1a858..b0adf598 100644 --- a/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.map +++ b/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.md5 b/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.md5 index b6818ec1..11bcbf48 100644 --- a/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.md5 +++ b/classlost_1_1_quaternion_a6d8e723c0c49869742c938a0dcb38d2f_icgraph.md5 @@ -1 +1 @@ -e93c8ae3660449019f63ab9d11db1c53 \ No newline at end of file +fdbb3b035cf41a8fd0a733164c00c5dd \ No newline at end of file diff --git a/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.map b/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.map index eaae9c96..a80b692e 100644 --- a/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.map +++ b/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.map @@ -5,7 +5,7 @@ - + diff --git a/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.md5 b/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.md5 index 2f2e1b2d..59dd8c62 100644 --- a/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.md5 +++ b/classlost_1_1_quaternion_a6ff95b8ae5599c94d585bd9842dfa873_icgraph.md5 @@ -1 +1 @@ -f13c1a165e35ba352806a8e88bec8bc7 \ No newline at end of file +76dbbaf5144fbe800168c1d4c65e38a4 \ No newline at end of file diff --git a/classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.md5 b/classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.md5 deleted file mode 100644 index 099e82ea..00000000 --- a/classlost_1_1_quaternion_a819b0f409e60886138c0fae47c21e250_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -445923830d46023e16405bfc23e203dc \ No newline at end of file diff --git a/classlost_1_1_quaternion_a91c8378b5a2067015553533152bf3327_cgraph.map b/classlost_1_1_quaternion_ab302f2d15fb324c68efce001a5757726_cgraph.map similarity index 100% rename from classlost_1_1_quaternion_a91c8378b5a2067015553533152bf3327_cgraph.map rename to classlost_1_1_quaternion_ab302f2d15fb324c68efce001a5757726_cgraph.map diff --git a/classlost_1_1_quaternion_a91c8378b5a2067015553533152bf3327_cgraph.md5 b/classlost_1_1_quaternion_ab302f2d15fb324c68efce001a5757726_cgraph.md5 similarity index 100% rename from classlost_1_1_quaternion_a91c8378b5a2067015553533152bf3327_cgraph.md5 rename to classlost_1_1_quaternion_ab302f2d15fb324c68efce001a5757726_cgraph.md5 diff --git a/classlost_1_1_quaternion_a91c8378b5a2067015553533152bf3327_cgraph.png b/classlost_1_1_quaternion_ab302f2d15fb324c68efce001a5757726_cgraph.png similarity index 100% rename from classlost_1_1_quaternion_a91c8378b5a2067015553533152bf3327_cgraph.png rename to classlost_1_1_quaternion_ab302f2d15fb324c68efce001a5757726_cgraph.png diff --git a/classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.map b/classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.map similarity index 86% rename from classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.map rename to classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.map index a27daf44..3b54f4fc 100644 --- a/classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.map +++ b/classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.md5 b/classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.md5 new file mode 100644 index 00000000..637639bd --- /dev/null +++ b/classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.md5 @@ -0,0 +1 @@ +46193b0189b3e322e77a786bd8a2cd86 \ No newline at end of file diff --git a/classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.png b/classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.png similarity index 100% rename from classlost_1_1_quaternion_a5d3b137eb8c75c996c3f25a4fdc7bde2_cgraph.png rename to classlost_1_1_quaternion_aec6d6d268e364a2f8cca0346819e4230_cgraph.png diff --git a/classlost_1_1_quest_algorithm-members.html b/classlost_1_1_quest_algorithm-members.html index a2ccbbbc..2ecb4679 100644 --- a/classlost_1_1_quest_algorithm-members.html +++ b/classlost_1_1_quest_algorithm-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_quest_algorithm.html b/classlost_1_1_quest_algorithm.html index 5d0e72c7..bf7a7504 100644 --- a/classlost_1_1_quest_algorithm.html +++ b/classlost_1_1_quest_algorithm.html @@ -180,25 +180,25 @@

lost::AttitudeEstimationAlgorithm.

-

Definition at line 141 of file attitude-estimators.cpp.

+

Definition at line 184 of file attitude-estimators.cpp.

Here is the call graph for this function:
- + - + - + - - + + - - + +
@@ -214,7 +214,7 @@

    - +

diff --git a/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.map b/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.map index 8c3133e9..0ca28864 100644 --- a/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.map +++ b/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.map @@ -1,15 +1,15 @@ - + - + - + - - + + - - + + diff --git a/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.md5 b/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.md5 index 100d51e9..c1d3cab0 100644 --- a/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.md5 +++ b/classlost_1_1_quest_algorithm_acd9f32ebd3a0873346f752e04e477b23_cgraph.md5 @@ -1 +1 @@ -f6960a67f01d0a2c40d48e0ab65b6f21 \ No newline at end of file +f202b976a5800ef79ab98a4a017d53aa \ No newline at end of file diff --git a/classlost_1_1_serialize_context-members.html b/classlost_1_1_serialize_context-members.html index 4f7a0bfa..9cf237f9 100644 --- a/classlost_1_1_serialize_context-members.html +++ b/classlost_1_1_serialize_context-members.html @@ -91,16 +91,16 @@

This is the complete list of members for lost::SerializeContext, including all inherited members.

- + - +
bufferlost::SerializeContext
SerializeContext(bool swapIntegerEndianness, bool swapFloatEndianness)lost::SerializeContextinline
SerializeContext(bool swapIntegerEndianness, bool swapDecimalEndianness)lost::SerializeContextinline
SerializeContext()lost::SerializeContextinline
swapFloatEndiannesslost::SerializeContext
swapDecimalEndiannesslost::SerializeContext
swapIntegerEndiannesslost::SerializeContext

diff --git a/classlost_1_1_serialize_context.html b/classlost_1_1_serialize_context.html index ba72b9c9..ad04abf5 100644 --- a/classlost_1_1_serialize_context.html +++ b/classlost_1_1_serialize_context.html @@ -96,8 +96,8 @@ - - + +

Public Member Functions

 SerializeContext (bool swapIntegerEndianness, bool swapFloatEndianness)
 
 SerializeContext (bool swapIntegerEndianness, bool swapDecimalEndianness)
 
 SerializeContext ()
 
@@ -105,17 +105,17 @@ Public Attributes - - + +
bool swapIntegerEndianness
 
bool swapFloatEndianness
 
bool swapDecimalEndianness
 
std::vector< unsigned char > buffer
 

Detailed Description

-

Definition at line 28 of file serialize-helpers.hpp.

+

Definition at line 30 of file serialize-helpers.hpp.

Constructor & Destructor Documentation

- -

◆ SerializeContext() [1/2]

+ +

◆ SerializeContext() [1/2]

@@ -175,7 +175,7 @@

-

Definition at line 32 of file serialize-helpers.hpp.

+

Definition at line 34 of file serialize-helpers.hpp.

@@ -192,23 +192,23 @@

-

Definition at line 36 of file serialize-helpers.hpp.

+

Definition at line 38 of file serialize-helpers.hpp.

- -

◆ swapFloatEndianness

+ +

◆ swapDecimalEndianness

- +
bool lost::SerializeContext::swapFloatEndiannessbool lost::SerializeContext::swapDecimalEndianness
-

Definition at line 35 of file serialize-helpers.hpp.

+

Definition at line 37 of file serialize-helpers.hpp.

@@ -224,7 +224,7 @@

-

Definition at line 34 of file serialize-helpers.hpp.

+

Definition at line 36 of file serialize-helpers.hpp.

@@ -237,7 +237,7 @@

    - +
diff --git a/classlost_1_1_serialize_context.js b/classlost_1_1_serialize_context.js index fe4eb32e..16413f84 100644 --- a/classlost_1_1_serialize_context.js +++ b/classlost_1_1_serialize_context.js @@ -1,8 +1,8 @@ var classlost_1_1_serialize_context = [ - [ "SerializeContext", "classlost_1_1_serialize_context.html#a819c635a0a3ac43a4a8c9f351c47e4fd", null ], + [ "SerializeContext", "classlost_1_1_serialize_context.html#aa64d705cf36948edd399ae0081723885", null ], [ "SerializeContext", "classlost_1_1_serialize_context.html#a35da132ef4f4dee819d816b8c3b33536", null ], [ "buffer", "classlost_1_1_serialize_context.html#a927e0e4500eb707c30bf17a67f9128c7", null ], - [ "swapFloatEndianness", "classlost_1_1_serialize_context.html#ae3fb3b0e7864f28aed9403532f676d24", null ], + [ "swapDecimalEndianness", "classlost_1_1_serialize_context.html#a336ba4abc0106fd590f9eae9dbb16f04", null ], [ "swapIntegerEndianness", "classlost_1_1_serialize_context.html#a93856379ded65d82189d464c8a384596", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_star-members.html b/classlost_1_1_star-members.html index 1ff8f22f..89267080 100644 --- a/classlost_1_1_star-members.html +++ b/classlost_1_1_star-members.html @@ -92,17 +92,17 @@ - - - - + + + +
magnitudelost::Star
positionlost::Star
radiusXlost::Star
radiusYlost::Star
Star(float x, float y, float radiusX, float radiusY, int magnitude)lost::Starinline
Star(float x, float y, float radiusX)lost::Starinline
radiusXlost::Star
radiusYlost::Star
Star(decimal x, decimal y, decimal radiusX, decimal radiusY, int magnitude)lost::Starinline
Star(decimal x, decimal y, decimal radiusX)lost::Starinline
Star()lost::Starinline
diff --git a/classlost_1_1_star.html b/classlost_1_1_star.html index 9c3f0447..058a3fd9 100644 --- a/classlost_1_1_star.html +++ b/classlost_1_1_star.html @@ -111,17 +111,17 @@
Collaboration graph
- +
[legend]
- - - - - + + + + + @@ -131,12 +131,12 @@ - - - - - - + + + + + + @@ -147,8 +147,8 @@

Definition at line 49 of file star-utils.hpp.

Constructor & Destructor Documentation

- -

◆ Star() [1/3]

+ +

◆ Star() [1/3]

@@ -159,25 +159,25 @@

lost::Star::Star

- + - + - + - + @@ -203,8 +203,8 @@

-

◆ Star() [2/3]

+ +

◆ Star() [2/3]

@@ -215,19 +215,19 @@

lost::Star::Star

- + - + - + @@ -243,7 +243,7 @@

-

Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0.

+

Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0.

Definition at line 55 of file star-utils.hpp.

@@ -316,14 +316,14 @@

-

◆ radiusX

+ +

◆ radiusX

Public Member Functions

 Star (float x, float y, float radiusX, float radiusY, int magnitude)
 
 Star (float x, float y, float radiusX)
 Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0. More...
 
 Star (decimal x, decimal y, decimal radiusX, decimal radiusY, int magnitude)
 
 Star (decimal x, decimal y, decimal radiusX)
 Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0. More...
 
 Star ()
 Create a zeroed-out star. Fields should be set immediately after construction. More...
 
Vec2 position
 The (x,y) pixel coordinates in the image (top left is 0,0) More...
 
float radiusX
 Approximate horizontal radius of the bright area in pixels. More...
 
float radiusY
 Approximate vertical radius of the bright area in pixels. More...
 
decimal radiusX
 Approximate horizontal radius of the bright area in pixels. More...
 
decimal radiusY
 Approximate vertical radius of the bright area in pixels. More...
 
int magnitude
 A relative measure of magnitude of the star. More...
 
(float decimal  x,
float decimal  y,
float decimal  radiusX,
float decimal  radiusY,
(float decimal  x,
float decimal  y,
float decimal  radiusX 
- +
float lost::Star::radiusXdecimal lost::Star::radiusX
@@ -334,14 +334,14 @@

-

◆ radiusY

+ +

◆ radiusY

- +
float lost::Star::radiusYdecimal lost::Star::radiusY
@@ -361,7 +361,7 @@

    - +

diff --git a/classlost_1_1_star.js b/classlost_1_1_star.js index 05da9d09..9de7db67 100644 --- a/classlost_1_1_star.js +++ b/classlost_1_1_star.js @@ -1,10 +1,10 @@ var classlost_1_1_star = [ - [ "Star", "classlost_1_1_star.html#a609af663e28795ba0ea2752fad193f8b", null ], - [ "Star", "classlost_1_1_star.html#ac68887ed98b387fe4a4f437b847aa09a", null ], + [ "Star", "classlost_1_1_star.html#a34c4cb3833310e0afe4715602210e595", null ], + [ "Star", "classlost_1_1_star.html#a91019f88f47806e59cabb67b014bb55a", null ], [ "Star", "classlost_1_1_star.html#a63e85dbeb2f271e63b2d975cf83ae1b3", null ], [ "magnitude", "classlost_1_1_star.html#aa39328327649f570b9008f08951af7bf", null ], [ "position", "classlost_1_1_star.html#a8e9b2320d742fb5324397ac406c859ea", null ], - [ "radiusX", "classlost_1_1_star.html#ad7bcae53e6ad611b8fb436eeb159da98", null ], - [ "radiusY", "classlost_1_1_star.html#abb1ed64c90d4f6508fdd1e75923175d6", null ] + [ "radiusX", "classlost_1_1_star.html#a9cb9dd9f12c0e538eb55c0775505158a", null ], + [ "radiusY", "classlost_1_1_star.html#a1773623d5ae06132be712c11eaff2844", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_star__coll__graph.map b/classlost_1_1_star__coll__graph.map index 196188b5..d0187ed6 100644 --- a/classlost_1_1_star__coll__graph.map +++ b/classlost_1_1_star__coll__graph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_star__coll__graph.md5 b/classlost_1_1_star__coll__graph.md5 index df006e12..0660960d 100644 --- a/classlost_1_1_star__coll__graph.md5 +++ b/classlost_1_1_star__coll__graph.md5 @@ -1 +1 @@ -d01d81cba053f7411d68a1f465cd02ad \ No newline at end of file +2ad683ee3f84d74f078b914965b93ad7 \ No newline at end of file diff --git a/classlost_1_1_star_id_algorithm-members.html b/classlost_1_1_star_id_algorithm-members.html index 6b0caf73..c95d372d 100644 --- a/classlost_1_1_star_id_algorithm-members.html +++ b/classlost_1_1_star_id_algorithm-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_star_id_algorithm.html b/classlost_1_1_star_id_algorithm.html index 68fa504c..6813b7f3 100644 --- a/classlost_1_1_star_id_algorithm.html +++ b/classlost_1_1_star_id_algorithm.html @@ -210,7 +210,7 @@

    - +

diff --git a/classlost_1_1_star_identifier-members.html b/classlost_1_1_star_identifier-members.html index 4816accf..fecb660f 100644 --- a/classlost_1_1_star_identifier-members.html +++ b/classlost_1_1_star_identifier-members.html @@ -95,13 +95,13 @@ StarIdentifier(int starIndex, int catalogIndex, int weight)lost::StarIdentifierinline StarIdentifier(int starIndex, int catalogIndex)lost::StarIdentifierinline starIndexlost::StarIdentifier - weightlost::StarIdentifier + weightlost::StarIdentifier

diff --git a/classlost_1_1_star_identifier.html b/classlost_1_1_star_identifier.html index 36b920a9..1c3d3277 100644 --- a/classlost_1_1_star_identifier.html +++ b/classlost_1_1_star_identifier.html @@ -99,10 +99,10 @@ - + - + @@ -115,9 +115,9 @@ - - - + + +

Public Member Functions

 StarIdentifier (int starIndex, int catalogIndex, int weight)
 StarIdentifier (int starIndex, int catalogIndex, int weight)
 
 StarIdentifier (int starIndex, int catalogIndex)
 Sets StarIdentifier.weight = 1. More...
 Sets StarIdentifier.weight = 1. More...
 
bool operator== (const StarIdentifier &other) const
 
int catalogIndex
 An index into an array of CatalogStar objects. More...
 
float weight
 A weight indicating the confidence of this idenification. Often just 1. More...
 
decimal weight
 A weight indicating the confidence of this idenification. Often just 1. More...
 

Detailed Description

Records that a certain Star (detected in the image) corresponds to a certain CatalogStar.

@@ -203,7 +203,7 @@

-

Sets StarIdentifier.weight = 1.

+

Sets StarIdentifier.weight = 1.

Definition at line 83 of file star-utils.hpp.

@@ -275,14 +275,14 @@

-

◆ weight

+ +

◆ weight

- +
float lost::StarIdentifier::weightdecimal lost::StarIdentifier::weight
@@ -302,7 +302,7 @@

    - +

diff --git a/classlost_1_1_star_identifier.js b/classlost_1_1_star_identifier.js index a21e3640..5a238f7e 100644 --- a/classlost_1_1_star_identifier.js +++ b/classlost_1_1_star_identifier.js @@ -5,5 +5,5 @@ var classlost_1_1_star_identifier = [ "operator==", "classlost_1_1_star_identifier.html#a643cda988c3a7e9e1dd79ec77e7bb2b2", null ], [ "catalogIndex", "classlost_1_1_star_identifier.html#a9743c39504a863334c5cfb62263f22c8", null ], [ "starIndex", "classlost_1_1_star_identifier.html#afb04c9b116a8a67e31083d50e28cdce2", null ], - [ "weight", "classlost_1_1_star_identifier.html#afaace9db445eee4b7ff239fbb71bba57", null ] + [ "weight", "classlost_1_1_star_identifier.html#a09370ad7bc81de5a82c049d6cc64f0d3", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_triad_algorithm-members.html b/classlost_1_1_triad_algorithm-members.html index 9e1e3e86..61a707b5 100644 --- a/classlost_1_1_triad_algorithm-members.html +++ b/classlost_1_1_triad_algorithm-members.html @@ -97,7 +97,7 @@ diff --git a/classlost_1_1_triad_algorithm.html b/classlost_1_1_triad_algorithm.html index aa6558ce..3aae9f03 100644 --- a/classlost_1_1_triad_algorithm.html +++ b/classlost_1_1_triad_algorithm.html @@ -180,7 +180,7 @@

lost::AttitudeEstimationAlgorithm.

-

Definition at line 91 of file attitude-estimators.cpp.

+

Definition at line 134 of file attitude-estimators.cpp.

Here is the call graph for this function:
@@ -190,7 +190,7 @@

- +

@@ -206,7 +206,7 @@

    - +

diff --git a/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.map b/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.map index c41c1002..14d00030 100644 --- a/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.map +++ b/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.map @@ -3,5 +3,5 @@ - + diff --git a/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.md5 b/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.md5 index 2ecb060c..1954641b 100644 --- a/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.md5 +++ b/classlost_1_1_triad_algorithm_a7c47290a94c74458995f5307e2486fc9_cgraph.md5 @@ -1 +1 @@ -6a3ae29388d4eb8c8bf431629d904d00 \ No newline at end of file +38a481f495a135c3669ac49d97488a15 \ No newline at end of file diff --git a/classlost_1_1_user_specified_output_stream-members.html b/classlost_1_1_user_specified_output_stream-members.html index 168bbcea..56941313 100644 --- a/classlost_1_1_user_specified_output_stream-members.html +++ b/classlost_1_1_user_specified_output_stream-members.html @@ -98,7 +98,7 @@ diff --git a/classlost_1_1_user_specified_output_stream.html b/classlost_1_1_user_specified_output_stream.html index c007d9f8..8769554f 100644 --- a/classlost_1_1_user_specified_output_stream.html +++ b/classlost_1_1_user_specified_output_stream.html @@ -148,7 +148,7 @@

Definition at line 33 of file io.cpp.

+

Definition at line 34 of file io.cpp.

@@ -167,7 +167,7 @@

-

Definition at line 50 of file io.cpp.

+

Definition at line 51 of file io.cpp.

@@ -211,7 +211,7 @@

diff --git a/classlost_1_1_vec3-members.html b/classlost_1_1_vec3-members.html index 753db4be..8c345de7 100644 --- a/classlost_1_1_vec3-members.html +++ b/classlost_1_1_vec3-members.html @@ -91,23 +91,23 @@

This is the complete list of members for lost::Vec3, including all inherited members.

- - + + - - + + - - - + + +
CrossProduct(const Vec3 &) constlost::Vec3
Magnitude() constlost::Vec3
MagnitudeSq() constlost::Vec3
Magnitude() constlost::Vec3
MagnitudeSq() constlost::Vec3
Normalize() constlost::Vec3
operator*(const Vec3 &) constlost::Vec3
operator*(const float &) constlost::Vec3
operator*(const Vec3 &) constlost::Vec3
operator*(const decimal &) constlost::Vec3
operator*(const Mat3 &) constlost::Vec3
operator-(const Vec3 &) constlost::Vec3
OuterProduct(const Vec3 &) constlost::Vec3
xlost::Vec3
ylost::Vec3
zlost::Vec3
xlost::Vec3
ylost::Vec3
zlost::Vec3
diff --git a/classlost_1_1_vec3.html b/classlost_1_1_vec3.html index 9e207b69..4a9a408b 100644 --- a/classlost_1_1_vec3.html +++ b/classlost_1_1_vec3.html @@ -92,27 +92,27 @@
-

Three dimensional vector with floating point components. +

Three dimensional vector with decimaling point components. More...

#include <attitude-utils.hpp>

- - - - - + + + + + - - - - - - + + + + + + @@ -128,17 +128,17 @@

Public Member Functions

float Magnitude () const
 
float MagnitudeSq () const
 The square of the magnitude. More...
 
decimal Magnitude () const
 
decimal MagnitudeSq () const
 The square of the magnitude. More...
 
Vec3 Normalize () const
 Create a vector pointing in the same direction with magnitude 1. More...
 
float operator* (const Vec3 &) const
 Dot product. More...
 
Vec3 operator* (const float &) const
 Vector-Scalar multiplication. More...
 
decimal operator* (const Vec3 &) const
 Dot product. More...
 
Vec3 operator* (const decimal &) const
 Vector-Scalar multiplication. More...
 
Vec3 operator* (const Mat3 &) const
 Vector-matrix multiplication, where the vector is transposed. More...
 
- - - - - - + + + + + +

Public Attributes

float x
 
float y
 
float z
 
decimal x
 
decimal y
 
decimal z
 

Detailed Description

-

Three dimensional vector with floating point components.

+

Three dimensional vector with decimaling point components.

-

Definition at line 34 of file attitude-utils.hpp.

+

Definition at line 35 of file attitude-utils.hpp.

Member Function Documentation

◆ CrossProduct()

@@ -158,7 +158,7 @@

Definition at line 229 of file attitude-utils.cpp.

+

Definition at line 231 of file attitude-utils.cpp.

Here is the caller graph for this function:
@@ -167,10 +167,10 @@

- - + + - + @@ -180,14 +180,14 @@

-

◆ Magnitude()

+ +

◆ Magnitude()

- + @@ -195,40 +195,40 @@

-

Definition at line 182 of file attitude-utils.cpp.

+

Definition at line 184 of file attitude-utils.cpp.

Here is the caller graph for this function:
-
- +
+ - + - - + + - + - +
- -

◆ MagnitudeSq()

+ +

◆ MagnitudeSq()

float lost::Vec3::Magnitude decimal lost::Vec3::Magnitude ( ) const
- + @@ -238,12 +238,12 @@

Definition at line 173 of file attitude-utils.cpp.

+

Definition at line 175 of file attitude-utils.cpp.

Here is the caller graph for this function:
-
- +
+ @@ -268,14 +268,14 @@

Definition at line 191 of file attitude-utils.cpp.

+

Definition at line 193 of file attitude-utils.cpp.

Here is the call graph for this function:
- +
@@ -284,26 +284,26 @@

- + - - + + - + - +

- -

◆ operator*() [1/3]

+ +

◆ operator*() [1/3]

@@ -311,7 +311,7 @@

Vec3 lost::Vec3::operator*

- + @@ -320,7 +320,7 @@

Definition at line 209 of file attitude-utils.cpp.

+

Definition at line 211 of file attitude-utils.cpp.

@@ -342,27 +342,27 @@

Definition at line 247 of file attitude-utils.cpp.

+

Definition at line 249 of file attitude-utils.cpp.

Here is the call graph for this function:
- +
- -

◆ operator*() [3/3]

+ +

◆ operator*() [3/3]

float lost::Vec3::MagnitudeSq decimal lost::Vec3::MagnitudeSq ( ) const(const float & const decimal other) const
- + @@ -373,7 +373,7 @@

Definition at line 199 of file attitude-utils.cpp.

+

Definition at line 201 of file attitude-utils.cpp.

@@ -395,7 +395,7 @@

Definition at line 224 of file attitude-utils.cpp.

+

Definition at line 226 of file attitude-utils.cpp.

@@ -417,7 +417,7 @@

Definition at line 238 of file attitude-utils.cpp.

+

Definition at line 240 of file attitude-utils.cpp.

Here is the caller graph for this function:
@@ -431,51 +431,51 @@

Member Data Documentation

- -

◆ x

+ +

◆ x

float lost::Vec3::operator* decimal lost::Vec3::operator* ( const Vec3 other)
- +
float lost::Vec3::xdecimal lost::Vec3::x
-

Definition at line 36 of file attitude-utils.hpp.

+

Definition at line 37 of file attitude-utils.hpp.

- -

◆ y

+ +

◆ y

- +
float lost::Vec3::ydecimal lost::Vec3::y
-

Definition at line 37 of file attitude-utils.hpp.

+

Definition at line 38 of file attitude-utils.hpp.

- -

◆ z

+ +

◆ z

- +
float lost::Vec3::zdecimal lost::Vec3::z
-

Definition at line 38 of file attitude-utils.hpp.

+

Definition at line 39 of file attitude-utils.hpp.

@@ -489,7 +489,7 @@

    - +

diff --git a/classlost_1_1_vec3.js b/classlost_1_1_vec3.js index a8771d4d..b3a819f4 100644 --- a/classlost_1_1_vec3.js +++ b/classlost_1_1_vec3.js @@ -1,15 +1,15 @@ var classlost_1_1_vec3 = [ [ "CrossProduct", "classlost_1_1_vec3.html#abe2b5a170b77a7b1e17008fa9dca20ba", null ], - [ "Magnitude", "classlost_1_1_vec3.html#a0d3ab5c494dfd3538f1be078c3e3b19e", null ], - [ "MagnitudeSq", "classlost_1_1_vec3.html#a6ea27eb416b9c3475439a29b0e2bf82d", null ], + [ "Magnitude", "classlost_1_1_vec3.html#ad42993980fb53047751b5bb3d26a9f32", null ], + [ "MagnitudeSq", "classlost_1_1_vec3.html#a4e5f7e17cafd3a1184962363f0ee123e", null ], [ "Normalize", "classlost_1_1_vec3.html#a13c75aca8d96b36a1c004f770d3bf55e", null ], - [ "operator*", "classlost_1_1_vec3.html#a8725a72070e4f730e3c0b0ba8aea0c9a", null ], + [ "operator*", "classlost_1_1_vec3.html#a429adb38ed953580c5d319c3405600b5", null ], [ "operator*", "classlost_1_1_vec3.html#a80dad024720f0d4289abeca0e5e21c97", null ], - [ "operator*", "classlost_1_1_vec3.html#a03931f54c9c605a7f2fbc4ba39fe8d61", null ], + [ "operator*", "classlost_1_1_vec3.html#a5a66659f823e2cba96e764bfd8b77d3f", null ], [ "operator-", "classlost_1_1_vec3.html#af2225f16a49cf3755816e22511e1b9a1", null ], [ "OuterProduct", "classlost_1_1_vec3.html#a571a631a6bd21ff61f9111c98f751e5f", null ], - [ "x", "classlost_1_1_vec3.html#a97adb523973ae539a5d8963d78569618", null ], - [ "y", "classlost_1_1_vec3.html#a50ebc2fd588a7ecc8653166d74b4f4b9", null ], - [ "z", "classlost_1_1_vec3.html#a2840bbc8330dd9838f938bf15a2b3c04", null ] + [ "x", "classlost_1_1_vec3.html#adad32f6805cf76e283bfffc7060ea805", null ], + [ "y", "classlost_1_1_vec3.html#a71a736ddded55f18df2e169851e0e130", null ], + [ "z", "classlost_1_1_vec3.html#a69d1b9c2a70b2d46ab94f7fea631d9ad", null ] ]; \ No newline at end of file diff --git a/classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.md5 b/classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.md5 deleted file mode 100644 index 641c1657..00000000 --- a/classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -43fb130f50841e2fc8bdf53fe46ae71f \ No newline at end of file diff --git a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.map b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.map index 06177f5b..3655d19b 100644 --- a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.map +++ b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.md5 b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.md5 index 5eac4191..68b25df7 100644 --- a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.md5 +++ b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_cgraph.md5 @@ -1 +1 @@ -2c54c482b3fa64a0e50be4048a444d03 \ No newline at end of file +cfcc22fa2299fad9cf9c39b9b266f36f \ No newline at end of file diff --git a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.map b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.map index 6c6c6e2f..5e2b4b79 100644 --- a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.map +++ b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.map @@ -1,16 +1,16 @@ - + - - + + - + - + diff --git a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.md5 b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.md5 index 1fde2001..e7e7c5ae 100644 --- a/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.md5 +++ b/classlost_1_1_vec3_a13c75aca8d96b36a1c004f770d3bf55e_icgraph.md5 @@ -1 +1 @@ -17d1a782ff7c261e567fd93ebdc707fd \ No newline at end of file +5db1192e6a5d03b1368ecae51afcba13 \ No newline at end of file diff --git a/classlost_1_1_vec3_a6ea27eb416b9c3475439a29b0e2bf82d_icgraph.map b/classlost_1_1_vec3_a4e5f7e17cafd3a1184962363f0ee123e_icgraph.map similarity index 100% rename from classlost_1_1_vec3_a6ea27eb416b9c3475439a29b0e2bf82d_icgraph.map rename to classlost_1_1_vec3_a4e5f7e17cafd3a1184962363f0ee123e_icgraph.map diff --git a/classlost_1_1_vec3_a6ea27eb416b9c3475439a29b0e2bf82d_icgraph.md5 b/classlost_1_1_vec3_a4e5f7e17cafd3a1184962363f0ee123e_icgraph.md5 similarity index 100% rename from classlost_1_1_vec3_a6ea27eb416b9c3475439a29b0e2bf82d_icgraph.md5 rename to classlost_1_1_vec3_a4e5f7e17cafd3a1184962363f0ee123e_icgraph.md5 diff --git a/classlost_1_1_vec3_a6ea27eb416b9c3475439a29b0e2bf82d_icgraph.png b/classlost_1_1_vec3_a4e5f7e17cafd3a1184962363f0ee123e_icgraph.png similarity index 100% rename from classlost_1_1_vec3_a6ea27eb416b9c3475439a29b0e2bf82d_icgraph.png rename to classlost_1_1_vec3_a4e5f7e17cafd3a1184962363f0ee123e_icgraph.png diff --git a/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.map b/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.map index 3b13b3c1..bdd3a760 100644 --- a/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.map +++ b/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.md5 b/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.md5 index c76b147f..79353acc 100644 --- a/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.md5 +++ b/classlost_1_1_vec3_a80dad024720f0d4289abeca0e5e21c97_cgraph.md5 @@ -1 +1 @@ -4b6e084cdd0a77ba001e6453703bccbc \ No newline at end of file +a9839b8263a299728b80223b8751c253 \ No newline at end of file diff --git a/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.map b/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.map index d25c4f63..9fa49b46 100644 --- a/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.map +++ b/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.map @@ -2,10 +2,10 @@ - - + + - + diff --git a/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.md5 b/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.md5 index 27a27111..36b75e35 100644 --- a/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.md5 +++ b/classlost_1_1_vec3_abe2b5a170b77a7b1e17008fa9dca20ba_icgraph.md5 @@ -1 +1 @@ -31812e64599d2fb24a50a7b52ccf955b \ No newline at end of file +36eb20271c5f53dbf256a78bdd8b1f96 \ No newline at end of file diff --git a/classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.map b/classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.map similarity index 82% rename from classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.map rename to classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.map index dfbbf7e9..c616d0e5 100644 --- a/classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.map +++ b/classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.map @@ -1,17 +1,17 @@ - + - - + + - + - + diff --git a/classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.md5 b/classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.md5 new file mode 100644 index 00000000..f0a3b8ff --- /dev/null +++ b/classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.md5 @@ -0,0 +1 @@ +d7bc2c9e0651fc01ace3393033a8eb59 \ No newline at end of file diff --git a/classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.png b/classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.png similarity index 100% rename from classlost_1_1_vec3_a0d3ab5c494dfd3538f1be078c3e3b19e_icgraph.png rename to classlost_1_1_vec3_ad42993980fb53047751b5bb3d26a9f32_icgraph.png diff --git a/database-options_8hpp.html b/database-options_8hpp.html index ace71f8f..ede752af 100644 --- a/database-options_8hpp.html +++ b/database-options_8hpp.html @@ -88,13 +88,16 @@

#include <string>
+#include "decimal.hpp"
Include dependency graph for database-options.hpp:
- + + +
@@ -116,7 +119,7 @@ diff --git a/database-options_8hpp__incl.map b/database-options_8hpp__incl.map index a2d055d5..8254202f 100644 --- a/database-options_8hpp__incl.map +++ b/database-options_8hpp__incl.map @@ -1,4 +1,6 @@ - + + + diff --git a/database-options_8hpp__incl.md5 b/database-options_8hpp__incl.md5 index 8cb500b9..e7328f5b 100644 --- a/database-options_8hpp__incl.md5 +++ b/database-options_8hpp__incl.md5 @@ -1 +1 @@ -d88cc9a42c4fe3483cb873a38aafd8ab \ No newline at end of file +7f830bc6df04817d93b733050914f5bb \ No newline at end of file diff --git a/database-options_8hpp__incl.png b/database-options_8hpp__incl.png index 46553a2c..823db121 100644 Binary files a/database-options_8hpp__incl.png and b/database-options_8hpp__incl.png differ diff --git a/database-options_8hpp_source.html b/database-options_8hpp_source.html index c7513991..f3e4020c 100644 --- a/database-options_8hpp_source.html +++ b/database-options_8hpp_source.html @@ -90,19 +90,23 @@ Go to the documentation of this file.
1 // see pipeline-options.hpp for more information
2 
3 #include <string>
-
4 
-
5 LOST_CLI_OPTION("min-mag" , float , minMag , 100 , atof(optarg) , kNoDefaultArgument)
-
6 LOST_CLI_OPTION("max-stars" , int , maxStars , 10000 , atoi(optarg) , kNoDefaultArgument)
-
7 LOST_CLI_OPTION("min-separation" , float , minSeparation , 0.08 , atof(optarg) , kNoDefaultArgument)
-
8 LOST_CLI_OPTION("kvector" , bool , kvector , false , atobool(optarg), true)
-
9 LOST_CLI_OPTION("kvector-min-distance" , float , kvectorMinDistance , 0.5 , atof(optarg) , kNoDefaultArgument)
-
10 LOST_CLI_OPTION("kvector-max-distance" , float , kvectorMaxDistance , 15 , atof(optarg) , kNoDefaultArgument)
-
11 LOST_CLI_OPTION("kvector-distance-bins" , long , kvectorNumDistanceBins, 10000 , atol(optarg) , kNoDefaultArgument)
-
12 LOST_CLI_OPTION("swap-integer-endianness", bool , swapIntegerEndianness , false , atobool(optarg), true)
-
13 LOST_CLI_OPTION("swap-float-endianness" , bool , swapFloatEndianness , false , atobool(optarg), true)
-
14 LOST_CLI_OPTION("output" , std::string, outputPath , "-" , optarg , kNoDefaultArgument)
-
#define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg)
Definition: io.hpp:287
-
bool atobool(const char *cstr)
Convert string to boolean.
Definition: main.cpp:97
+
4 #include "decimal.hpp"
+
5 
+
6 LOST_CLI_OPTION("min-mag" , decimal , minMag , 100 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
+
7 LOST_CLI_OPTION("max-stars" , int , maxStars , 10000 , atoi(optarg) , kNoDefaultArgument)
+
8 LOST_CLI_OPTION("min-separation" , decimal , minSeparation , 0.08 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
+
9 LOST_CLI_OPTION("kvector" , bool , kvector , false , atobool(optarg), true)
+
10 LOST_CLI_OPTION("kvector-min-distance" , decimal , kvectorMinDistance , 0.5 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
+
11 LOST_CLI_OPTION("kvector-max-distance" , decimal , kvectorMaxDistance , 15 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
+
12 LOST_CLI_OPTION("kvector-distance-bins" , long , kvectorNumDistanceBins , 10000 , atol(optarg) , kNoDefaultArgument)
+
13 LOST_CLI_OPTION("swap-integer-endianness", bool , swapIntegerEndianness , false , atobool(optarg), true)
+
14 LOST_CLI_OPTION("swap-decimal-endianness", bool , swapDecimalEndianness , false , atobool(optarg), true)
+
15 LOST_CLI_OPTION("output" , std::string, outputPath , "-" , optarg , kNoDefaultArgument)
+ +
double decimal
Definition: decimal.hpp:11
+
#define STR_TO_DECIMAL(x)
Definition: decimal.hpp:12
+
#define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg)
Definition: io.hpp:288
+
bool atobool(const char *cstr)
Convert string to boolean.
Definition: main.cpp:107
const char kNoDefaultArgument
Definition: io.hpp:32
@@ -110,7 +114,7 @@ diff --git a/databases_8cpp.html b/databases_8cpp.html index 19a93fe1..ea0af53f 100644 --- a/databases_8cpp.html +++ b/databases_8cpp.html @@ -96,6 +96,7 @@ #include <assert.h>
#include <math.h>
#include <vector>
+#include <cstdint>
#include <algorithm>
#include <iostream>
#include "attitude-utils.hpp"
@@ -106,21 +107,25 @@
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
@@ -139,22 +144,24 @@ + + - - - - - - - - - - - - - - + + + + + + + + + + + + + +

Functions

bool lost::isFlagSet (uint32_t dbFlags, uint32_t flag)
 
bool lost::CompareKVectorPairs (const KVectorPair &p1, const KVectorPair &p2)
 
void lost::SerializeKVectorIndex (SerializeContext *ser, const std::vector< float > &values, float min, float max, long numBins)
 K-vector index layout. More...
 
std::vector< KVectorPair > lost::CatalogToPairDistances (const Catalog &catalog, float minDistance, float maxDistance)
 pair K-vector database layout. More...
 
void lost::SerializePairDistanceKVector (SerializeContext *ser, const Catalog &catalog, float minDistance, float maxDistance, long numBins)
 Serialize a pair-distance KVector into buffer. More...
 
float lost::Clamp (float num, float low, float high)
 Return the value in the range [low,high] which is closest to num. More...
 
void lost::SerializeMultiDatabase (SerializeContext *ser, const MultiDatabaseDescriptor &dbs)
 
void lost::SerializeKVectorIndex (SerializeContext *ser, const std::vector< decimal > &values, decimal min, decimal max, long numBins)
 K-vector index layout. More...
 
std::vector< KVectorPair > lost::CatalogToPairDistances (const Catalog &catalog, decimal minDistance, decimal maxDistance)
 pair K-vector database layout. More...
 
void lost::SerializePairDistanceKVector (SerializeContext *ser, const Catalog &catalog, decimal minDistance, decimal maxDistance, long numBins)
 Serialize a pair-distance KVector into buffer. More...
 
decimal lost::Clamp (decimal num, decimal low, decimal high)
 Return the value in the range [low,high] which is closest to num. More...
 
void lost::SerializeMultiDatabase (SerializeContext *ser, const MultiDatabaseDescriptor &dbs, uint32_t flags)
 
@@ -162,7 +169,7 @@ diff --git a/databases_8cpp.js b/databases_8cpp.js index 77bee0e2..c2c06486 100644 --- a/databases_8cpp.js +++ b/databases_8cpp.js @@ -1,10 +1,11 @@ var databases_8cpp = [ [ "KVectorPair", "structlost_1_1_k_vector_pair.html", "structlost_1_1_k_vector_pair" ], - [ "CatalogToPairDistances", "databases_8cpp.html#a63bf3cd684687462bda2231e2aa1f14c", null ], - [ "Clamp", "databases_8cpp.html#a4753c4aab04ad2deb202dd8be458e5d8", null ], + [ "CatalogToPairDistances", "databases_8cpp.html#a7df31f0f6e3ed20311231573630124dc", null ], + [ "Clamp", "databases_8cpp.html#ae06c1b87a560fb7d9de673b46ff60d9c", null ], [ "CompareKVectorPairs", "databases_8cpp.html#a68f14b0d645721125203e669cde68358", null ], - [ "SerializeKVectorIndex", "databases_8cpp.html#ac0c0c9865d2c16d74149bf85366cdc18", null ], - [ "SerializeMultiDatabase", "databases_8cpp.html#a56c54ae520919bdd6d87f291e02883d3", null ], - [ "SerializePairDistanceKVector", "databases_8cpp.html#aefdad61aa2dbf38415d0345c1ff2916d", null ] + [ "isFlagSet", "databases_8cpp.html#a9a6ccd2f576c452a68db8152dc2edb24", null ], + [ "SerializeKVectorIndex", "databases_8cpp.html#a0227319e45ff29d6f61b7e083d01e31f", null ], + [ "SerializeMultiDatabase", "databases_8cpp.html#ad14088462298249d31b2c396c3be86f9", null ], + [ "SerializePairDistanceKVector", "databases_8cpp.html#a98d1507ab3e305ab47846133d82e4467", null ] ]; \ No newline at end of file diff --git a/databases_8cpp__incl.map b/databases_8cpp__incl.map index 13970421..ccff37b4 100644 --- a/databases_8cpp__incl.map +++ b/databases_8cpp__incl.map @@ -1,17 +1,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/databases_8cpp__incl.md5 b/databases_8cpp__incl.md5 index ee212d16..fa04e58d 100644 --- a/databases_8cpp__incl.md5 +++ b/databases_8cpp__incl.md5 @@ -1 +1 @@ -f3388f6f02637367ad73b7d3619fbd94 \ No newline at end of file +bf9673107c925f4f2a07d90270954ca6 \ No newline at end of file diff --git a/databases_8cpp__incl.png b/databases_8cpp__incl.png index 7c996c0d..1d9aeb6a 100644 Binary files a/databases_8cpp__incl.png and b/databases_8cpp__incl.png differ diff --git a/databases_8cpp_source.html b/databases_8cpp_source.html index 10b4a870..7e4c563b 100644 --- a/databases_8cpp_source.html +++ b/databases_8cpp_source.html @@ -92,8 +92,8 @@
3 #include <stdlib.h>
4 #include <assert.h>
5 #include <math.h>
-
6 
-
7 #include <vector>
+
6 #include <vector>
+
7 #include <cstdint>
8 #include <algorithm>
9 #include <iostream>
10 
@@ -105,305 +105,332 @@
16 
17 const int32_t PairDistanceKVectorDatabase::kMagicValue = 0x2536f009;
18 
-
19 struct KVectorPair {
-
20  int16_t index1;
-
21  int16_t index2;
-
22  float distance;
-
23 };
-
24 
-
25 bool CompareKVectorPairs(const KVectorPair &p1, const KVectorPair &p2) {
-
26  return p1.distance < p2.distance;
-
27 }
+
19 inline bool isFlagSet(uint32_t dbFlags, uint32_t flag) {
+
20  return (dbFlags & flag) != 0;
+
21 }
+
22 
+
23 struct KVectorPair {
+
24  int16_t index1;
+
25  int16_t index2;
+ +
27 };
28 
-
29 // just the index part of the kvector, doesn't store the sorted list it refers to. This makes it
-
30 // flexible whether used to store star distance angles, an angle of a triangle, etc.
-
44 // apparently there's no easy way to accept an iterator argument. Hate java all you want, but at
-
45 // least it can do that!
-
46 // https://stackoverflow.com/questions/5054087/declare-a-function-accepting-generic-iterator or
-
47 // rather, the correct way is to use a template and just use the ++ and * operators willy-nilly,
-
48 // which will throw an error if the operators are not implemented.
-
49 
-
60 void SerializeKVectorIndex(SerializeContext *ser, const std::vector<float> &values, float min, float max, long numBins) {
-
61  std::vector<int32_t> kVector(numBins+1); // We store sums before and after each bin
-
62  float binWidth = (max - min) / numBins;
-
63 
-
64  // generate the k-vector part
-
65  // Idea: When we find the first star that's across any bin boundary, we want to update all the newly sealed bins
-
66  long lastBin = 0; // first bin the last star belonged to
-
67  for (int32_t i = 0; i < (int32_t)values.size(); i++) {
-
68  if (i > 0) {
-
69  assert(values[i] >= values[i-1]);
-
70  }
-
71  assert(values[i] >= min);
-
72  assert(values[i] <= max);
-
73  long thisBin = (long)ceil((values[i] - min) / binWidth); // first bin we belong to
-
74  assert(thisBin >= 0);
-
75  assert(thisBin <= numBins); // thisBin == numBins is acceptable since kvector length == numBins + 1
-
76  // if thisBin > lastBin, then no more stars can be added to those bins between thisBin and lastBin, so set them.
-
77  for (long bin = lastBin; bin < thisBin; bin++) {
-
78  kVector[bin] = i; // our index is the number of pairs with shorter distance
-
79  }
-
80  lastBin = thisBin;
-
81  }
-
82  for (long bin = lastBin; bin <= numBins; bin++) {
-
83  kVector[bin] = values.size();
-
84  }
-
85 
-
86  // verify kvector
-
87  int32_t lastBinVal = -1;
-
88  for (const int32_t &bin : kVector) {
-
89  assert(bin >= lastBinVal);
-
90  lastBinVal = bin;
-
91  }
-
92 
-
93  // metadata fields
-
94  SerializePrimitive<int32_t>(ser, values.size());
-
95  SerializePrimitive<float>(ser, min);
-
96  SerializePrimitive<float>(ser, max);
-
97  SerializePrimitive<int32_t>(ser, numBins);
-
98 
-
99  // kvector index field
-
100  for (const int32_t &bin : kVector) {
-
101  SerializePrimitive<int32_t>(ser, bin);
-
102  }
-
103 }
-
104 
- -
107 
-
108  numValues = DeserializePrimitive<int32_t>(des);
-
109  min = DeserializePrimitive<float>(des);
-
110  max = DeserializePrimitive<float>(des);
-
111  numBins = DeserializePrimitive<int32_t>(des);
-
112 
-
113  assert(min >= 0.0f);
-
114  assert(max > min);
-
115  binWidth = (max - min) / numBins;
+
29 bool CompareKVectorPairs(const KVectorPair &p1, const KVectorPair &p2) {
+
30  return p1.distance < p2.distance;
+
31 }
+
32 
+
33 // just the index part of the kvector, doesn't store the sorted list it refers to. This makes it
+
34 // flexible whether used to store star distance angles, an angle of a triangle, etc.
+
48 // apparently there's no easy way to accept an iterator argument. Hate java all you want, but at
+
49 // least it can do that!
+
50 // https://stackoverflow.com/questions/5054087/declare-a-function-accepting-generic-iterator or
+
51 // rather, the correct way is to use a template and just use the ++ and * operators willy-nilly,
+
52 // which will throw an error if the operators are not implemented.
+
53 
+
64 void SerializeKVectorIndex(SerializeContext *ser, const std::vector<decimal> &values, decimal min, decimal max, long numBins) {
+
65  std::vector<int32_t> kVector(numBins+1); // We store sums before and after each bin
+
66  decimal binWidth = (max - min) / numBins;
+
67 
+
68  // generate the k-vector part
+
69  // Idea: When we find the first star that's across any bin boundary, we want to update all the newly sealed bins
+
70  long lastBin = 0; // first bin the last star belonged to
+
71  for (int32_t i = 0; i < (int32_t)values.size(); i++) {
+
72  if (i > 0) {
+
73  assert(values[i] >= values[i-1]);
+
74  }
+
75  assert(values[i] >= min);
+
76  assert(values[i] <= max);
+
77  long thisBin = (long)ceil((values[i] - min) / binWidth); // first bin we belong to
+
78  assert(thisBin >= 0);
+
79  assert(thisBin <= numBins); // thisBin == numBins is acceptable since kvector length == numBins + 1
+
80  // if thisBin > lastBin, then no more stars can be added to those bins between thisBin and lastBin, so set them.
+
81  for (long bin = lastBin; bin < thisBin; bin++) {
+
82  kVector[bin] = i; // our index is the number of pairs with shorter distance
+
83  }
+
84  lastBin = thisBin;
+
85  }
+
86  for (long bin = lastBin; bin <= numBins; bin++) {
+
87  kVector[bin] = values.size();
+
88  }
+
89 
+
90  // verify kvector
+
91  int32_t lastBinVal = -1;
+
92  for (const int32_t &bin : kVector) {
+
93  assert(bin >= lastBinVal);
+
94  lastBinVal = bin;
+
95  }
+
96 
+
97  // metadata fields
+
98  SerializePrimitive<int32_t>(ser, values.size());
+
99  SerializePrimitive<decimal>(ser, min);
+
100  SerializePrimitive<decimal>(ser, max);
+
101  SerializePrimitive<int32_t>(ser, numBins);
+
102 
+
103  // kvector index field
+
104  for (const int32_t &bin : kVector) {
+
105  SerializePrimitive<int32_t>(ser, bin);
+
106  }
+
107 }
+
108 
+ +
111 
+
112  numValues = DeserializePrimitive<int32_t>(des);
+
113  min = DeserializePrimitive<decimal>(des);
+
114  max = DeserializePrimitive<decimal>(des);
+
115  numBins = DeserializePrimitive<int32_t>(des);
116 
-
117  bins = DeserializeArray<int32_t>(des, numBins+1);
-
118 }
-
119 
-
125 long KVectorIndex::QueryLiberal(float minQueryDistance, float maxQueryDistance, long *upperIndex) const {
-
126  assert(maxQueryDistance > minQueryDistance);
-
127  if (maxQueryDistance >= max) {
-
128  maxQueryDistance = max - 0.00001; // TODO: better way to avoid hitting the bottom bin
-
129  }
-
130  if (minQueryDistance <= min) {
-
131  minQueryDistance = min + 0.00001;
-
132  }
-
133  if (minQueryDistance > max || maxQueryDistance < min) {
-
134  *upperIndex = 0;
-
135  return 0;
+
117  assert(min >= DECIMAL(0.0));
+
118  assert(max > min);
+
119  binWidth = (max - min) / numBins;
+
120 
+
121  bins = DeserializeArray<int32_t>(des, numBins+1);
+
122 }
+
123 
+
129 long KVectorIndex::QueryLiberal(decimal minQueryDistance, decimal maxQueryDistance, long *upperIndex) const {
+
130  assert(maxQueryDistance > minQueryDistance);
+
131  if (maxQueryDistance >= max) {
+
132  maxQueryDistance = max - DECIMAL(0.00001); // TODO: better way to avoid hitting the bottom bin
+
133  }
+
134  if (minQueryDistance <= min) {
+
135  minQueryDistance = min + DECIMAL(0.00001);
136  }
-
137  long lowerBin = BinFor(minQueryDistance);
-
138  long upperBin = BinFor(maxQueryDistance);
-
139  assert(upperBin >= lowerBin);
-
140  assert(upperBin <= numBins);
-
141  // bins[lowerBin-1]=number of pairs <= r < query distance, so it is the index of the
-
142  // first possible item that might be equal to the query distance
-
143  int lowerIndex = bins[lowerBin-1];
-
144  if (lowerIndex >= numValues) {
-
145  // all pairs have distance less than queried. Return value is irrelevant as long as
-
146  // numReturned=0
-
147  return 0;
-
148  }
-
149  // bins[upperBin]=number of pairs <= r >= query distance
-
150  *upperIndex = bins[upperBin];
-
151  return lowerIndex;
-
152 }
-
153 
-
155 long KVectorIndex::BinFor(float query) const {
-
156  long result = (long)ceil((query - min) / binWidth);
-
157  assert(result >= 0);
-
158  assert(result <= numBins);
-
159  return result;
-
160 }
-
161 
-
171 std::vector<KVectorPair> CatalogToPairDistances(const Catalog &catalog, float minDistance, float maxDistance) {
-
172  std::vector<KVectorPair> result;
-
173  for (int16_t i = 0; i < (int16_t)catalog.size(); i++) {
-
174  for (int16_t k = i+1; k < (int16_t)catalog.size(); k++) {
-
175 
-
176  KVectorPair pair = { i, k, AngleUnit(catalog[i].spatial, catalog[k].spatial) };
-
177  assert(isfinite(pair.distance));
-
178  assert(pair.distance >= 0);
-
179  assert(pair.distance <= M_PI);
-
180 
-
181  if (pair.distance >= minDistance && pair.distance <= maxDistance) {
-
182  // we'll sort later
-
183  result.push_back(pair);
-
184  }
-
185  }
-
186  }
-
187  return result;
-
188 }
-
189 
-
194 void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, float minDistance, float maxDistance, long numBins) {
-
195  std::vector<int32_t> kVector(numBins+1); // numBins = length, all elements zero
-
196  std::vector<KVectorPair> pairs = CatalogToPairDistances(catalog, minDistance, maxDistance);
-
197 
-
198  // sort pairs in increasing order.
-
199  std::sort(pairs.begin(), pairs.end(), CompareKVectorPairs);
-
200  std::vector<float> distances;
+
137  if (minQueryDistance > max || maxQueryDistance < min) {
+
138  *upperIndex = 0;
+
139  return 0;
+
140  }
+
141  long lowerBin = BinFor(minQueryDistance);
+
142  long upperBin = BinFor(maxQueryDistance);
+
143  assert(upperBin >= lowerBin);
+
144  assert(upperBin <= numBins);
+
145  // bins[lowerBin-1]=number of pairs <= r < query distance, so it is the index of the
+
146  // first possible item that might be equal to the query distance
+
147  int lowerIndex = bins[lowerBin-1];
+
148  if (lowerIndex >= numValues) {
+
149  // all pairs have distance less than queried. Return value is irrelevant as long as
+
150  // numReturned=0
+
151  return 0;
+
152  }
+
153  // bins[upperBin]=number of pairs <= r >= query distance
+
154  *upperIndex = bins[upperBin];
+
155  return lowerIndex;
+
156 }
+
157 
+
159 long KVectorIndex::BinFor(decimal query) const {
+
160  long result = (long)ceil((query - min) / binWidth);
+
161  assert(result >= 0);
+
162  assert(result <= numBins);
+
163  return result;
+
164 }
+
165 
+
175 std::vector<KVectorPair> CatalogToPairDistances(const Catalog &catalog, decimal minDistance, decimal maxDistance) {
+
176  std::vector<KVectorPair> result;
+
177  for (int16_t i = 0; i < (int16_t)catalog.size(); i++) {
+
178  for (int16_t k = i+1; k < (int16_t)catalog.size(); k++) {
+
179 
+
180  KVectorPair pair = { i, k, AngleUnit(catalog[i].spatial, catalog[k].spatial) };
+
181  assert(isfinite(pair.distance));
+
182  assert(pair.distance >= 0);
+
183  assert(pair.distance <= DECIMAL_M_PI);
+
184 
+
185  if (pair.distance >= minDistance && pair.distance <= maxDistance) {
+
186  // we'll sort later
+
187  result.push_back(pair);
+
188  }
+
189  }
+
190  }
+
191  return result;
+
192 }
+
193 
+
198 void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, decimal minDistance, decimal maxDistance, long numBins) {
+
199  std::vector<int32_t> kVector(numBins+1); // numBins = length, all elements zero
+
200  std::vector<KVectorPair> pairs = CatalogToPairDistances(catalog, minDistance, maxDistance);
201 
-
202  for (const KVectorPair &pair : pairs) {
-
203  distances.push_back(pair.distance);
-
204  }
+
202  // sort pairs in increasing order.
+
203  std::sort(pairs.begin(), pairs.end(), CompareKVectorPairs);
+
204  std::vector<decimal> distances;
205 
-
206  // index field
-
207  SerializeKVectorIndex(ser, distances, minDistance, maxDistance, numBins);
-
208 
-
209  // bulk pairs field
-
210  for (const KVectorPair &pair : pairs) {
-
211  SerializePrimitive<int16_t>(ser, pair.index1);
-
212  SerializePrimitive<int16_t>(ser, pair.index2);
-
213  }
-
214 }
-
215 
- -
218  : index(KVectorIndex(des)) {
+
206  for (const KVectorPair &pair : pairs) {
+
207  distances.push_back(pair.distance);
+
208  }
+
209 
+
210  // index field
+
211  SerializeKVectorIndex(ser, distances, minDistance, maxDistance, numBins);
+
212 
+
213  // bulk pairs field
+
214  for (const KVectorPair &pair : pairs) {
+
215  SerializePrimitive<int16_t>(ser, pair.index1);
+
216  SerializePrimitive<int16_t>(ser, pair.index2);
+
217  }
+
218 }
219 
-
220  pairs = DeserializeArray<int16_t>(des, 2*index.NumValues());
-
221 }
-
222 
-
224 float Clamp(float num, float low, float high) {
-
225  return num < low ? low : num > high ? high : num;
-
226 }
-
227 
- -
234  float minQueryDistance, float maxQueryDistance, const int16_t **end) const {
-
235 
-
236  assert(maxQueryDistance <= M_PI);
-
237 
-
238  long upperIndex = -1;
-
239  long lowerIndex = index.QueryLiberal(minQueryDistance, maxQueryDistance, &upperIndex);
-
240  *end = &pairs[upperIndex * 2];
-
241  return &pairs[lowerIndex * 2];
-
242 }
-
243 
- -
245  float minQueryDistance, float maxQueryDistance, const int16_t **end) const {
-
246 
-
247  // Instead of computing the angle for every pair in the database, we pre-compute the /cosines/
-
248  // of the min and max query distances so that we can compare against dot products directly! As
-
249  // angle increases, cosine decreases, up to M_PI (and queries larger than that don't really make
-
250  // sense anyway)
-
251  assert(maxQueryDistance <= M_PI);
-
252 
-
253  float maxQueryCos = cos(minQueryDistance);
-
254  float minQueryCos = cos(maxQueryDistance);
-
255 
-
256  long liberalUpperIndex;
-
257  long liberalLowerIndex = index.QueryLiberal(minQueryDistance, maxQueryDistance, &liberalUpperIndex);
-
258  // now we need to find the first and last index that actually matches the query
-
259  // step the lower index forward
-
260  // There's no good reason to be using >= and <= for the comparison against max/min, but the tests fail otherwise (because they use angle, with its acos, instead of forward cos like us). It's an insignificant difference.
-
261  while (liberalLowerIndex < liberalUpperIndex
-
262  && catalog[pairs[liberalLowerIndex*2]].spatial * catalog[pairs[liberalLowerIndex*2+1]].spatial >= maxQueryCos
-
263  )
-
264  { liberalLowerIndex++; }
-
265 
-
266  // step the upper index backward
-
267  while (liberalLowerIndex < liberalUpperIndex
-
268  // the liberalUpperIndex is past the end of the logically returned range, so we need to subtract 1
-
269  && catalog[pairs[(liberalUpperIndex-1)*2]].spatial * catalog[pairs[(liberalUpperIndex-1)*2+1]].spatial <= minQueryCos
-
270  )
-
271  { liberalUpperIndex--; }
-
272 
-
273  *end = &pairs[liberalUpperIndex * 2];
-
274  return &pairs[liberalLowerIndex * 2];
-
275 }
+ +
222  : index(KVectorIndex(des)) {
+
223 
+
224  pairs = DeserializeArray<int16_t>(des, 2*index.NumValues());
+
225 }
+
226 
+ +
229  return num < low ? low : num > high ? high : num;
+
230 }
+
231 
+ +
238  decimal minQueryDistance, decimal maxQueryDistance, const int16_t **end) const {
+
239 
+
240  assert(maxQueryDistance <= DECIMAL_M_PI);
+
241 
+
242  long upperIndex = -1;
+
243  long lowerIndex = index.QueryLiberal(minQueryDistance, maxQueryDistance, &upperIndex);
+
244  *end = &pairs[upperIndex * 2];
+
245  return &pairs[lowerIndex * 2];
+
246 }
+
247 
+ +
249  decimal minQueryDistance, decimal maxQueryDistance, const int16_t **end) const {
+
250 
+
251  // Instead of computing the angle for every pair in the database, we pre-compute the /cosines/
+
252  // of the min and max query distances so that we can compare against dot products directly! As
+
253  // angle increases, cosine decreases, up to DECIMAL_M_PI (and queries larger than that don't really make
+
254  // sense anyway)
+
255  assert(maxQueryDistance <= DECIMAL_M_PI);
+
256 
+
257  decimal maxQueryCos = DECIMAL_COS(minQueryDistance);
+
258  decimal minQueryCos = DECIMAL_COS(maxQueryDistance);
+
259 
+
260  long liberalUpperIndex;
+
261  long liberalLowerIndex = index.QueryLiberal(minQueryDistance, maxQueryDistance, &liberalUpperIndex);
+
262  // now we need to find the first and last index that actually matches the query
+
263  // step the lower index forward
+
264  // There's no good reason to be using >= and <= for the comparison against max/min, but the tests fail otherwise (because they use angle, with its acos, instead of forward cos like us). It's an insignificant difference.
+
265  while (liberalLowerIndex < liberalUpperIndex
+
266  && catalog[pairs[liberalLowerIndex*2]].spatial * catalog[pairs[liberalLowerIndex*2+1]].spatial >= maxQueryCos
+
267  )
+
268  { liberalLowerIndex++; }
+
269 
+
270  // step the upper index backward
+
271  while (liberalLowerIndex < liberalUpperIndex
+
272  // the liberalUpperIndex is past the end of the logically returned range, so we need to subtract 1
+
273  && catalog[pairs[(liberalUpperIndex-1)*2]].spatial * catalog[pairs[(liberalUpperIndex-1)*2+1]].spatial <= minQueryCos
+
274  )
+
275  { liberalUpperIndex--; }
276 
- -
279  return index.NumValues();
-
280 }
-
281 
-
283 std::vector<float> PairDistanceKVectorDatabase::StarDistances(int16_t star, const Catalog &catalog) const {
-
284  std::vector<float> result;
-
285  for (int i = 0; i < NumPairs(); i++) {
-
286  if (pairs[i*2] == star || pairs[i*2+1] == star) {
-
287  result.push_back(AngleUnit(catalog[pairs[i*2]].spatial, catalog[pairs[i*2+1]].spatial));
-
288  }
-
289  }
-
290  return result;
-
291 }
-
292 
-
311 const unsigned char *MultiDatabase::SubDatabasePointer(int32_t magicValue) const {
-
312  DeserializeContext desValue(buffer);
-
313  DeserializeContext *des = &desValue; // just for naming consistency with how we use `des` elsewhere
-
314 
-
315  assert(magicValue != 0);
-
316  while (true) {
-
317  int32_t curMagicValue = DeserializePrimitive<int32_t>(des);
-
318  if (curMagicValue == 0) {
-
319  return nullptr;
-
320  }
-
321  uint32_t dbLength = DeserializePrimitive<uint32_t>(des);
-
322  assert(dbLength > 0);
-
323  DeserializePadding<uint64_t>(des); // align to an 8-byte boundary
-
324  const unsigned char *curSubDatabasePointer = DeserializeArray<unsigned char>(des, dbLength);
-
325  if (curMagicValue == magicValue) {
-
326  return curSubDatabasePointer;
-
327  }
-
328  }
-
329  // shouldn't ever make it here. Compiler should remove this assertion as unreachable.
-
330  assert(false);
-
331 }
-
332 
- -
334  const MultiDatabaseDescriptor &dbs) {
-
335  for (const MultiDatabaseEntry &multiDbEntry : dbs) {
-
336  SerializePrimitive<int32_t>(ser, multiDbEntry.magicValue);
-
337  SerializePrimitive<uint32_t>(ser, multiDbEntry.bytes.size());
-
338  SerializePadding<uint64_t>(ser);
-
339  std::copy(multiDbEntry.bytes.cbegin(), multiDbEntry.bytes.cend(), std::back_inserter(ser->buffer));
-
340  }
-
341  SerializePrimitive<int32_t>(ser, 0); // caboose
-
342 }
-
343 
-
344 }
-
345 
-
346 // TODO: after creating the database, print more statistics, such as average number of pairs per
-
347 // star, stars per bin, space distribution between array and index.
+
277  *end = &pairs[liberalUpperIndex * 2];
+
278  return &pairs[liberalLowerIndex * 2];
+
279 }
+
280 
+ +
283  return index.NumValues();
+
284 }
+
285 
+
287 std::vector<decimal> PairDistanceKVectorDatabase::StarDistances(int16_t star, const Catalog &catalog) const {
+
288  std::vector<decimal> result;
+
289  for (int i = 0; i < NumPairs(); i++) {
+
290  if (pairs[i*2] == star || pairs[i*2+1] == star) {
+
291  result.push_back(AngleUnit(catalog[pairs[i*2]].spatial, catalog[pairs[i*2+1]].spatial));
+
292  }
+
293  }
+
294  return result;
+
295 }
+
296 
+
316 const unsigned char *MultiDatabase::SubDatabasePointer(int32_t magicValue) const {
+
317  DeserializeContext desValue(buffer);
+
318  DeserializeContext *des = &desValue; // just for naming consistency with how we use `des` elsewhere
+
319 
+
320  assert(magicValue != 0);
+
321  while (true) {
+
322  int32_t curMagicValue = DeserializePrimitive<int32_t>(des);
+
323  if (curMagicValue == 0) {
+
324  return nullptr;
+
325  }
+
326  uint32_t dbFlags = DeserializePrimitive<uint32_t>(des);
+
327 
+
328  // Ensure that our database is using the same type as the runtime.
+
329  #ifdef LOST_FLOAT_MODE
+
330  if (!isFlagSet(dbFlags, MULTI_DB_FLOAT_FLAG)) {
+
331  std::cerr << "LOST was compiled in float mode. This database was serialized in double mode and is incompatible." << std::endl;
+
332  exit(1);
+
333  }
+
334  #else
+
335  if (isFlagSet(dbFlags, MULTI_DB_FLOAT_FLAG)) {
+
336  std::cerr << "LOST was compiled in double mode. This database was serialized in float mode and is incompatible." << std::endl;
+
337  exit(1);
+
338  }
+
339  #endif
+
340 
+
341  uint32_t dbLength = DeserializePrimitive<uint32_t>(des);
+
342  assert(dbLength > 0);
+
343  DeserializePadding<uint64_t>(des); // align to an 8-byte boundary
+
344  const unsigned char *curSubDatabasePointer = DeserializeArray<unsigned char>(des, dbLength);
+
345  if (curMagicValue == magicValue) {
+
346  return curSubDatabasePointer;
+
347  }
+
348  }
+
349  // shouldn't ever make it here. Compiler should remove this assertion as unreachable.
+
350  assert(false);
+
351 }
+
352 
+ +
354  const MultiDatabaseDescriptor &dbs,
+
355  uint32_t flags) {
+
356  for (const MultiDatabaseEntry &multiDbEntry : dbs) {
+
357  SerializePrimitive<int32_t>(ser, multiDbEntry.magicValue);
+
358  SerializePrimitive<uint32_t>(ser, flags);
+
359  SerializePrimitive<uint32_t>(ser, multiDbEntry.bytes.size());
+
360  SerializePadding<uint64_t>(ser);
+
361  std::copy(multiDbEntry.bytes.cbegin(), multiDbEntry.bytes.cend(), std::back_inserter(ser->buffer));
+
362  }
+
363  SerializePrimitive<int32_t>(ser, 0); // caboose
+
364 }
+
365 
+
366 }
+
367 
+
368 // TODO: after creating the database, print more statistics, such as average number of pairs per
+
369 // star, stars per bin, space distribution between array and index.
- -
A data structure enabling constant-time range queries into fixed numerical data.
Definition: databases.hpp:21
-
long QueryLiberal(float minQueryDistance, float maxQueryDistance, long *upperIndex) const
Finds all the entries in the given range, and possibly a few just outside the range on the ends.
Definition: databases.cpp:125
-
KVectorIndex(DeserializeContext *des)
Construct from serialized buffer.
Definition: databases.cpp:106
-
long NumValues() const
The number of data points in the data referred to by the kvector.
Definition: databases.hpp:28
-
Definition: databases.hpp:108
-
const unsigned char * SubDatabasePointer(int32_t magicValue) const
MultiDatabase memory layout:
Definition: databases.cpp:311
-
long NumPairs() const
Exact number of stored pairs.
Definition: databases.cpp:278
-
std::vector< float > StarDistances(int16_t star, const Catalog &) const
Return the distances from the given star to each star it's paired with in the database (for debugging...
Definition: databases.cpp:283
-
PairDistanceKVectorDatabase(DeserializeContext *des)
Create the database from a serialized buffer.
Definition: databases.cpp:217
-
static const int32_t kMagicValue
Magic value to use when storing inside a MultiDatabase.
Definition: databases.hpp:68
-
const int16_t * FindPairsExact(const Catalog &, float min, float max, const int16_t **end) const
Definition: databases.cpp:244
-
const int16_t * FindPairsLiberal(float min, float max, const int16_t **end) const
Return at least all the star pairs whose inter-star distance is between min and max.
Definition: databases.cpp:233
- -
std::vector< unsigned char > buffer
+ +
A data structure enabling constant-time range queries into fixed numerical data.
Definition: databases.hpp:23
+
KVectorIndex(DeserializeContext *des)
Construct from serialized buffer.
Definition: databases.cpp:110
+
long QueryLiberal(decimal minQueryDistance, decimal maxQueryDistance, long *upperIndex) const
Finds all the entries in the given range, and possibly a few just outside the range on the ends.
Definition: databases.cpp:129
+
long NumValues() const
The number of data points in the data referred to by the kvector.
Definition: databases.hpp:30
+
Definition: databases.hpp:113
+
const unsigned char * SubDatabasePointer(int32_t magicValue) const
MultiDatabase memory layout:
Definition: databases.cpp:316
+
long NumPairs() const
Exact number of stored pairs.
Definition: databases.cpp:282
+
std::vector< decimal > StarDistances(int16_t star, const Catalog &) const
Return the distances from the given star to each star it's paired with in the database (for debugging...
Definition: databases.cpp:287
+
PairDistanceKVectorDatabase(DeserializeContext *des)
Create the database from a serialized buffer.
Definition: databases.cpp:221
+
static const int32_t kMagicValue
Magic value to use when storing inside a MultiDatabase.
Definition: databases.hpp:70
+
const int16_t * FindPairsExact(const Catalog &, decimal min, decimal max, const int16_t **end) const
Definition: databases.cpp:248
+
const int16_t * FindPairsLiberal(decimal min, decimal max, const int16_t **end) const
Return at least all the star pairs whose inter-star distance is between min and max.
Definition: databases.cpp:237
+ +
std::vector< unsigned char > buffer
-
LOST starting point.
-
float AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two /unit/ vectors.
-
float Clamp(float num, float low, float high)
Return the value in the range [low,high] which is closest to num.
Definition: databases.cpp:224
-
void SerializeMultiDatabase(SerializeContext *ser, const MultiDatabaseDescriptor &dbs)
Definition: databases.cpp:333
-
std::vector< KVectorPair > CatalogToPairDistances(const Catalog &catalog, float minDistance, float maxDistance)
pair K-vector database layout.
Definition: databases.cpp:171
-
bool CompareKVectorPairs(const KVectorPair &p1, const KVectorPair &p2)
Definition: databases.cpp:25
-
std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
Definition: databases.hpp:117
-
void SerializeKVectorIndex(SerializeContext *ser, const std::vector< float > &values, float min, float max, long numBins)
K-vector index layout.
Definition: databases.cpp:60
+
#define MULTI_DB_FLOAT_FLAG
A database that contains multiple databases This is almost always the database that is actually passe...
Definition: databases.hpp:102
+
double decimal
Definition: decimal.hpp:11
+
#define DECIMAL(x)
Definition: decimal.hpp:21
+
#define DECIMAL_M_PI
Definition: decimal.hpp:29
+
#define DECIMAL_COS(x)
Definition: decimal.hpp:53
+
LOST starting point.
+
void SerializeKVectorIndex(SerializeContext *ser, const std::vector< decimal > &values, decimal min, decimal max, long numBins)
K-vector index layout.
Definition: databases.cpp:64
+
decimal AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
Calculate the inner angle, in radians, between two /unit/ vectors.
+
bool CompareKVectorPairs(const KVectorPair &p1, const KVectorPair &p2)
Definition: databases.cpp:29
+
std::vector< KVectorPair > CatalogToPairDistances(const Catalog &catalog, decimal minDistance, decimal maxDistance)
pair K-vector database layout.
Definition: databases.cpp:175
+
void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, decimal minDistance, decimal maxDistance, long numBins)
Serialize a pair-distance KVector into buffer.
Definition: databases.cpp:198
+
bool isFlagSet(uint32_t dbFlags, uint32_t flag)
Definition: databases.cpp:19
+
std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
Definition: databases.hpp:123
+
void SerializeMultiDatabase(SerializeContext *ser, const MultiDatabaseDescriptor &dbs, uint32_t flags)
Definition: databases.cpp:353
+
decimal Clamp(decimal num, decimal low, decimal high)
Return the value in the range [low,high] which is closest to num.
Definition: databases.cpp:228
std::vector< CatalogStar > Catalog
Definition: star-utils.hpp:100
-
void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, float minDistance, float maxDistance, long numBins)
Serialize a pair-distance KVector into buffer.
Definition: databases.cpp:194
- - - - + + + + diff --git a/databases_8hpp.html b/databases_8hpp.html index 360bc392..7b804e1e 100644 --- a/databases_8hpp.html +++ b/databases_8hpp.html @@ -86,6 +86,7 @@ @@ -103,17 +104,20 @@
- - - - - - - - - - - + + + + + + + + + + + + + +
@@ -142,7 +146,6 @@  A database storing distances between pairs of stars. More...
  class  lost::MultiDatabase - A database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database. More...
  class  lost::MultiDatabaseEntry   @@ -153,6 +156,12 @@  LOST starting point.
  + + + + +

+Macros

#define MULTI_DB_FLOAT_FLAG   0x0001
 A database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database. More...
 
@@ -160,24 +169,46 @@

Typedefs

typedef std::vector< MultiDatabaseEntry > lost::MultiDatabaseDescriptor
- - - - - + + + + + + +

Functions

void lost::SerializePairDistanceKVector (SerializeContext *ser, const Catalog &catalog, float minDistance, float maxDistance, long numBins)
 Serialize a pair-distance KVector into buffer. More...
 
void lost::SerializeMultiDatabase (SerializeContext *ser, const MultiDatabaseDescriptor &dbs)
 
bool lost::isFlagSet (uint32_t dbFlags, uint32_t flag)
 
void lost::SerializePairDistanceKVector (SerializeContext *ser, const Catalog &catalog, decimal minDistance, decimal maxDistance, long numBins)
 Serialize a pair-distance KVector into buffer. More...
 
void lost::SerializeMultiDatabase (SerializeContext *ser, const MultiDatabaseDescriptor &dbs, uint32_t flags)
 

Variables

const int32_t lost::kCatalogMagicValue = 0xF9A283BC
 
+

Macro Definition Documentation

+ +

◆ MULTI_DB_FLOAT_FLAG

+ +
+
+ + + + +
#define MULTI_DB_FLOAT_FLAG   0x0001
+
+ +

A database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database.

+

Multi-databases are essentially a map from "magic values" to database buffers.

+ +

Definition at line 102 of file databases.hpp.

+ +
+
diff --git a/databases_8hpp.js b/databases_8hpp.js index 192990d5..42813ba6 100644 --- a/databases_8hpp.js +++ b/databases_8hpp.js @@ -4,8 +4,10 @@ var databases_8hpp = [ "PairDistanceKVectorDatabase", "classlost_1_1_pair_distance_k_vector_database.html", "classlost_1_1_pair_distance_k_vector_database" ], [ "MultiDatabase", "classlost_1_1_multi_database.html", "classlost_1_1_multi_database" ], [ "MultiDatabaseEntry", "classlost_1_1_multi_database_entry.html", "classlost_1_1_multi_database_entry" ], + [ "MULTI_DB_FLOAT_FLAG", "databases_8hpp.html#af8eb463b9b79255956d34ca51d58754f", null ], [ "MultiDatabaseDescriptor", "databases_8hpp.html#aaa2e81369410c8a787ec643333d1a7a8", null ], - [ "SerializeMultiDatabase", "databases_8hpp.html#a56c54ae520919bdd6d87f291e02883d3", null ], - [ "SerializePairDistanceKVector", "databases_8hpp.html#aefdad61aa2dbf38415d0345c1ff2916d", null ], + [ "isFlagSet", "databases_8hpp.html#a9a6ccd2f576c452a68db8152dc2edb24", null ], + [ "SerializeMultiDatabase", "databases_8hpp.html#ad14088462298249d31b2c396c3be86f9", null ], + [ "SerializePairDistanceKVector", "databases_8hpp.html#a98d1507ab3e305ab47846133d82e4467", null ], [ "kCatalogMagicValue", "databases_8hpp.html#a280b11c878f729f878b2968037ccbc3d", null ] ]; \ No newline at end of file diff --git a/databases_8hpp__incl.map b/databases_8hpp__incl.map index b0f6f6c1..d3e9ffdd 100644 --- a/databases_8hpp__incl.map +++ b/databases_8hpp__incl.map @@ -1,13 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/databases_8hpp__incl.md5 b/databases_8hpp__incl.md5 index 957c95be..762cf401 100644 --- a/databases_8hpp__incl.md5 +++ b/databases_8hpp__incl.md5 @@ -1 +1 @@ -bf2de251ce0d3ff96367eb5f4f045581 \ No newline at end of file +cc4e7127a25443269faff4f520e5b2e8 \ No newline at end of file diff --git a/databases_8hpp__incl.png b/databases_8hpp__incl.png index 9c096551..f6c35423 100644 Binary files a/databases_8hpp__incl.png and b/databases_8hpp__incl.png differ diff --git a/databases_8hpp_source.html b/databases_8hpp_source.html index b5326cfe..e2d06ea3 100644 --- a/databases_8hpp_source.html +++ b/databases_8hpp_source.html @@ -101,124 +101,132 @@
12 
13 const int32_t kCatalogMagicValue = 0xF9A283BC;
14 
-
20 // TODO: QueryConservative, QueryExact, QueryTrapezoidal?
-
21 class KVectorIndex {
-
22 public:
-
23  explicit KVectorIndex(DeserializeContext *des);
-
24 
-
25  long QueryLiberal(float minQueryDistance, float maxQueryDistance, long *upperIndex) const;
+
15 inline bool isFlagSet(uint32_t dbFlags, uint32_t flag);
+
16 
+
22 // TODO: QueryConservative, QueryExact, QueryTrapezoidal?
+
23 class KVectorIndex {
+
24 public:
+
25  explicit KVectorIndex(DeserializeContext *des);
26 
-
28  long NumValues() const { return numValues; };
-
29  long NumBins() const { return numBins; };
-
31  float Max() const { return max; };
-
32  // Lower bound on elements
-
33  float Min() const { return min; };
-
34 private:
-
35  long BinFor(float dist) const;
-
36 
-
37  long numValues;
-
38  float min;
-
39  float max;
-
40  float binWidth;
-
41  long numBins;
-
42  const int32_t *bins;
-
43 };
-
44 
-
45 void SerializePairDistanceKVector(SerializeContext *, const Catalog &, float minDistance, float maxDistance, long numBins);
+
27  long QueryLiberal(decimal minQueryDistance, decimal maxQueryDistance, long *upperIndex) const;
+
28 
+
30  long NumValues() const { return numValues; };
+
31  long NumBins() const { return numBins; };
+
33  decimal Max() const { return max; };
+
34  // Lower bound on elements
+
35  decimal Min() const { return min; };
+
36 private:
+
37  long BinFor(decimal dist) const;
+
38 
+
39  long numValues;
+
40  decimal min;
+
41  decimal max;
+
42  decimal binWidth;
+
43  long numBins;
+
44  const int32_t *bins;
+
45 };
46 
- -
53 public:
- -
55 
-
56  const int16_t *FindPairsLiberal(float min, float max, const int16_t **end) const;
-
57  const int16_t *FindPairsExact(const Catalog &, float min, float max, const int16_t **end) const;
-
58  std::vector<float> StarDistances(int16_t star, const Catalog &) const;
-
59 
-
61  float MaxDistance() const { return index.Max(); };
-
63  float MinDistance() const { return index.Min(); };
-
65  long NumPairs() const;
-
66 
-
68  static const int32_t kMagicValue; // 0x2536f009
-
69  // apparently you're supposed to not actually put the value of the static variables here, but
-
70  // rather in a cpp implementation file.
-
71 private:
-
72  KVectorIndex index;
-
73  // TODO: endianness
-
74  const int16_t *pairs;
-
75 };
-
76 
-
77 // /**
-
78 // * @brief Stores "inner angles" between star triples
-
79 // * @details Unsensitive to first-order error in basic camera
-
80 // * parameters (eg, wrong FOV or principal point), can be sensitive to second-order errors (eg,
-
81 // * camera distortion, which may cause the effective FOV or principal point to be different in
-
82 // * different parts of the image). Used for Mortari's Non-Dimensional Star-ID
-
83 // */
-
84 // class TripleInnerKVectorDatabase {
-
85 // public:
-
86 // explicit TripleInnerKVectorDatabase(const unsigned char *databaseBytes);
-
87 
-
88 // void FindTriplesLiberal(float min, float max, long **begin, long **end) const;
-
89 // private:
-
90 // KVectorIndex index;
-
91 // int16_t *triples;
-
92 // };
-
93 
- -
100 public:
-
102  explicit MultiDatabase(const unsigned char *buffer) : buffer(buffer) { };
-
103  const unsigned char *SubDatabasePointer(int32_t magicValue) const;
-
104 private:
-
105  const unsigned char *buffer;
-
106 };
-
107 
- -
109 public:
-
110  MultiDatabaseEntry(int32_t magicValue, std::vector<unsigned char> bytes) // I wonder if making `bytes` a reference would avoid making two copies, or maybe it would be worse by preventing copy-elision
- +
47 void SerializePairDistanceKVector(SerializeContext *, const Catalog &, decimal minDistance, decimal maxDistance, long numBins);
+
48 
+ +
55 public:
+ +
57 
+
58  const int16_t *FindPairsLiberal(decimal min, decimal max, const int16_t **end) const;
+
59  const int16_t *FindPairsExact(const Catalog &, decimal min, decimal max, const int16_t **end) const;
+
60  std::vector<decimal> StarDistances(int16_t star, const Catalog &) const;
+
61 
+
63  decimal MaxDistance() const { return index.Max(); };
+
65  decimal MinDistance() const { return index.Min(); };
+
67  long NumPairs() const;
+
68 
+
70  static const int32_t kMagicValue; // 0x2536f009
+
71  // apparently you're supposed to not actually put the value of the static variables here, but
+
72  // rather in a cpp implementation file.
+
73 private:
+
74  KVectorIndex index;
+
75  // TODO: endianness
+
76  const int16_t *pairs;
+
77 };
+
78 
+
79 // /**
+
80 // * @brief Stores "inner angles" between star triples
+
81 // * @details Unsensitive to first-order error in basic camera
+
82 // * parameters (eg, wrong FOV or principal point), can be sensitive to second-order errors (eg,
+
83 // * camera distortion, which may cause the effective FOV or principal point to be different in
+
84 // * different parts of the image). Used for Mortari's Non-Dimensional Star-ID
+
85 // */
+
86 // class TripleInnerKVectorDatabase {
+
87 // public:
+
88 // explicit TripleInnerKVectorDatabase(const unsigned char *databaseBytes);
+
89 
+
90 // void FindTriplesLiberal(decimal min, decimal max, long **begin, long **end) const;
+
91 // private:
+
92 // KVectorIndex index;
+
93 // int16_t *triples;
+
94 // };
+
95 
+
102 #define MULTI_DB_FLOAT_FLAG 0x0001 // By default, our DB is in double mode.
+
103 
+ +
105 public:
+
107  explicit MultiDatabase(const unsigned char *buffer) : buffer(buffer) { };
+
108  const unsigned char *SubDatabasePointer(int32_t magicValue) const;
+
109 private:
+
110  const unsigned char *buffer;
+
111 };
112 
-
113  int32_t magicValue;
-
114  std::vector<unsigned char> bytes;
-
115 };
-
116 
-
117 typedef std::vector<MultiDatabaseEntry> MultiDatabaseDescriptor;
-
118 
- -
120 
-
121 }
+ +
114 public:
+
115  MultiDatabaseEntry(int32_t magicValue, std::vector<unsigned char> bytes) // I wonder if making `bytes` a reference would avoid making two copies, or maybe it would be worse by preventing copy-elision
+ +
117 
+
118  int32_t magicValue;
+
119  uint32_t flags;
+
120  std::vector<unsigned char> bytes;
+
121 };
122 
-
123 #endif
- -
A data structure enabling constant-time range queries into fixed numerical data.
Definition: databases.hpp:21
-
float Min() const
Definition: databases.hpp:33
-
long QueryLiberal(float minQueryDistance, float maxQueryDistance, long *upperIndex) const
Finds all the entries in the given range, and possibly a few just outside the range on the ends.
Definition: databases.cpp:125
-
KVectorIndex(DeserializeContext *des)
Construct from serialized buffer.
Definition: databases.cpp:106
-
long NumBins() const
Definition: databases.hpp:29
-
float Max() const
Upper bound on elements.
Definition: databases.hpp:31
-
long NumValues() const
The number of data points in the data referred to by the kvector.
Definition: databases.hpp:28
-
Definition: databases.hpp:108
-
std::vector< unsigned char > bytes
Definition: databases.hpp:114
-
MultiDatabaseEntry(int32_t magicValue, std::vector< unsigned char > bytes)
Definition: databases.hpp:110
-
int32_t magicValue
Definition: databases.hpp:113
-
A database that contains multiple databases This is almost always the database that is actually passe...
Definition: databases.hpp:99
-
MultiDatabase(const unsigned char *buffer)
Create a multidatabase from a serialized multidatabase.
Definition: databases.hpp:102
-
const unsigned char * SubDatabasePointer(int32_t magicValue) const
MultiDatabase memory layout:
Definition: databases.cpp:311
-
A database storing distances between pairs of stars.
Definition: databases.hpp:52
-
long NumPairs() const
Exact number of stored pairs.
Definition: databases.cpp:278
-
std::vector< float > StarDistances(int16_t star, const Catalog &) const
Return the distances from the given star to each star it's paired with in the database (for debugging...
Definition: databases.cpp:283
-
PairDistanceKVectorDatabase(DeserializeContext *des)
Create the database from a serialized buffer.
Definition: databases.cpp:217
-
static const int32_t kMagicValue
Magic value to use when storing inside a MultiDatabase.
Definition: databases.hpp:68
-
float MaxDistance() const
Upper bound on stored star pair distances.
Definition: databases.hpp:61
-
const int16_t * FindPairsExact(const Catalog &, float min, float max, const int16_t **end) const
Definition: databases.cpp:244
-
const int16_t * FindPairsLiberal(float min, float max, const int16_t **end) const
Return at least all the star pairs whose inter-star distance is between min and max.
Definition: databases.cpp:233
-
float MinDistance() const
Lower bound on stored star pair distances.
Definition: databases.hpp:63
- -
LOST starting point.
+
123 typedef std::vector<MultiDatabaseEntry> MultiDatabaseDescriptor;
+
124 
+
125 void SerializeMultiDatabase(SerializeContext *, const MultiDatabaseDescriptor &dbs, uint32_t flags);
+
126 
+
127 }
+
128 
+
129 #endif
+ +
A data structure enabling constant-time range queries into fixed numerical data.
Definition: databases.hpp:23
+
decimal Min() const
Definition: databases.hpp:35
+
KVectorIndex(DeserializeContext *des)
Construct from serialized buffer.
Definition: databases.cpp:110
+
long QueryLiberal(decimal minQueryDistance, decimal maxQueryDistance, long *upperIndex) const
Finds all the entries in the given range, and possibly a few just outside the range on the ends.
Definition: databases.cpp:129
+
long NumBins() const
Definition: databases.hpp:31
+
decimal Max() const
Upper bound on elements.
Definition: databases.hpp:33
+
long NumValues() const
The number of data points in the data referred to by the kvector.
Definition: databases.hpp:30
+
Definition: databases.hpp:113
+
std::vector< unsigned char > bytes
Definition: databases.hpp:120
+
MultiDatabaseEntry(int32_t magicValue, std::vector< unsigned char > bytes)
Definition: databases.hpp:115
+
uint32_t flags
Definition: databases.hpp:119
+
int32_t magicValue
Definition: databases.hpp:118
+ +
MultiDatabase(const unsigned char *buffer)
Create a multidatabase from a serialized multidatabase.
Definition: databases.hpp:107
+
const unsigned char * SubDatabasePointer(int32_t magicValue) const
MultiDatabase memory layout:
Definition: databases.cpp:316
+
A database storing distances between pairs of stars.
Definition: databases.hpp:54
+
long NumPairs() const
Exact number of stored pairs.
Definition: databases.cpp:282
+
std::vector< decimal > StarDistances(int16_t star, const Catalog &) const
Return the distances from the given star to each star it's paired with in the database (for debugging...
Definition: databases.cpp:287
+
decimal MinDistance() const
Lower bound on stored star pair distances.
Definition: databases.hpp:65
+
PairDistanceKVectorDatabase(DeserializeContext *des)
Create the database from a serialized buffer.
Definition: databases.cpp:221
+
static const int32_t kMagicValue
Magic value to use when storing inside a MultiDatabase.
Definition: databases.hpp:70
+
const int16_t * FindPairsExact(const Catalog &, decimal min, decimal max, const int16_t **end) const
Definition: databases.cpp:248
+
const int16_t * FindPairsLiberal(decimal min, decimal max, const int16_t **end) const
Return at least all the star pairs whose inter-star distance is between min and max.
Definition: databases.cpp:237
+
decimal MaxDistance() const
Upper bound on stored star pair distances.
Definition: databases.hpp:63
+ +
double decimal
Definition: decimal.hpp:11
+
LOST starting point.
const int32_t kCatalogMagicValue
Definition: databases.hpp:13
-
void SerializeMultiDatabase(SerializeContext *ser, const MultiDatabaseDescriptor &dbs)
Definition: databases.cpp:333
-
std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
Definition: databases.hpp:117
+
void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, decimal minDistance, decimal maxDistance, long numBins)
Serialize a pair-distance KVector into buffer.
Definition: databases.cpp:198
+
bool isFlagSet(uint32_t dbFlags, uint32_t flag)
Definition: databases.cpp:19
+
std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
Definition: databases.hpp:123
+
void SerializeMultiDatabase(SerializeContext *ser, const MultiDatabaseDescriptor &dbs, uint32_t flags)
Definition: databases.cpp:353
std::vector< CatalogStar > Catalog
Definition: star-utils.hpp:100
-
void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, float minDistance, float maxDistance, long numBins)
Serialize a pair-distance KVector into buffer.
Definition: databases.cpp:194
@@ -227,7 +235,7 @@ diff --git a/decimal_8hpp.html b/decimal_8hpp.html new file mode 100644 index 00000000..a3cd26b9 --- /dev/null +++ b/decimal_8hpp.html @@ -0,0 +1,893 @@ + + + + + + + +LOST: src/decimal.hpp File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
LOST +  0.0.1 +
+
LOST: Open-source Star Tracker
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
decimal.hpp File Reference
+
+
+
#include <cmath>
+#include <string>
+
+Include dependency graph for decimal.hpp:
+
+
+ + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define STR_TO_DECIMAL(x)   std::stod(x)
 
#define DECIMAL(x)   ((decimal) x)
 
#define DECIMAL_M_E   ((decimal) M_E) /* e */
 
#define DECIMAL_M_LOG2E   ((decimal) M_LOG2E) /* log_2 e */
 
#define DECIMAL_M_LOG10E   ((decimal) M_LOG10E) /* log_10 e */
 
#define DECIMAL_M_LN2   ((decimal) M_LN2) /* log_e 2 */
 
#define DECIMAL_M_LN10   ((decimal) M_LN10) /* log_e 10 */
 
#define DECIMAL_M_PI   ((decimal) M_PI) /* pi */
 
#define DECIMAL_M_PI_2   ((decimal) M_PI_2) /* pi/2 */
 
#define DECIMAL_M_PI_4   ((decimal) M_PI_4) /* pi/4 */
 
#define DECIMAL_M_1_PI   ((decimal) M_1_PI) /* 1/pi */
 
#define DECIMAL_M_2_PI   ((decimal) M_2_PI) /* 2/pi */
 
#define DECIMAL_M_2_SQRTPI   ((decimal) M_2_SQRTPI) /* 2/sqrt(pi) */
 
#define DECIMAL_M_SQRT2   ((decimal) M_SQRT2) /* sqrt(2) */
 
#define DECIMAL_M_SQRT1_2   ((decimal) M_SQRT1_2) /* 1/sqrt(2) */
 
#define DECIMAL_POW(base, power)   ((decimal) std::pow(base, power))
 
#define DECIMAL_SQRT(x)   ((decimal) std::sqrt(x))
 
#define DECIMAL_LOG(x)   ((decimal) std::log(x))
 
#define DECIMAL_EXP(x)   ((decimal) std::exp(x))
 
#define DECIMAL_ERF(x)   ((decimal) std::erf(x))
 
#define DECIMAL_ROUND(x)   ((decimal) std::round(x))
 
#define DECIMAL_CEIL(x)   ((decimal) std::ceil(x))
 
#define DECIMAL_FLOOR(x)   ((decimal) std::floor(x))
 
#define DECIMAL_ABS(x)   ((decimal) std::abs(x))
 
#define DECIMAL_SIN(x)   ((decimal) std::sin(x))
 
#define DECIMAL_COS(x)   ((decimal) std::cos(x))
 
#define DECIMAL_TAN(x)   ((decimal) std::tan(x))
 
#define DECIMAL_ASIN(x)   ((decimal) std::asin(x))
 
#define DECIMAL_ACOS(x)   ((decimal) std::acos(x))
 
#define DECIMAL_ATAN(x)   ((decimal) std::atan(x))
 
#define DECIMAL_ATAN2(x, y)   ((decimal) std::atan2(x,y))
 
#define DECIMAL_FMA(x, y, z)   ((decimal) std::fma(x,y,z))
 
#define DECIMAL_HYPOT(x, y)   ((decimal) std::hypot(x,y))
 
+ + + +

+Typedefs

typedef double decimal
 
+

Macro Definition Documentation

+ +

◆ DECIMAL

+ +
+
+ + + + + + + + +
#define DECIMAL( x)   ((decimal) x)
+
+ +

Definition at line 21 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_ABS

+ +
+
+ + + + + + + + +
#define DECIMAL_ABS( x)   ((decimal) std::abs(x))
+
+ +

Definition at line 49 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_ACOS

+ +
+
+ + + + + + + + +
#define DECIMAL_ACOS( x)   ((decimal) std::acos(x))
+
+ +

Definition at line 56 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_ASIN

+ +
+
+ + + + + + + + +
#define DECIMAL_ASIN( x)   ((decimal) std::asin(x))
+
+ +

Definition at line 55 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_ATAN

+ +
+
+ + + + + + + + +
#define DECIMAL_ATAN( x)   ((decimal) std::atan(x))
+
+ +

Definition at line 57 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_ATAN2

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define DECIMAL_ATAN2( x,
 
)   ((decimal) std::atan2(x,y))
+
+ +

Definition at line 58 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_CEIL

+ +
+
+ + + + + + + + +
#define DECIMAL_CEIL( x)   ((decimal) std::ceil(x))
+
+ +

Definition at line 47 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_COS

+ +
+
+ + + + + + + + +
#define DECIMAL_COS( x)   ((decimal) std::cos(x))
+
+ +

Definition at line 53 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_ERF

+ +
+
+ + + + + + + + +
#define DECIMAL_ERF( x)   ((decimal) std::erf(x))
+
+ +

Definition at line 43 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_EXP

+ +
+
+ + + + + + + + +
#define DECIMAL_EXP( x)   ((decimal) std::exp(x))
+
+ +

Definition at line 42 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_FLOOR

+ +
+
+ + + + + + + + +
#define DECIMAL_FLOOR( x)   ((decimal) std::floor(x))
+
+ +

Definition at line 48 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_FMA

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define DECIMAL_FMA( x,
 y,
 
)   ((decimal) std::fma(x,y,z))
+
+ +

Definition at line 61 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_HYPOT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define DECIMAL_HYPOT( x,
 
)   ((decimal) std::hypot(x,y))
+
+ +

Definition at line 62 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_LOG

+ +
+
+ + + + + + + + +
#define DECIMAL_LOG( x)   ((decimal) std::log(x))
+
+ +

Definition at line 41 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_1_PI

+ +
+
+ + + + +
#define DECIMAL_M_1_PI   ((decimal) M_1_PI) /* 1/pi */
+
+ +

Definition at line 32 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_2_PI

+ +
+
+ + + + +
#define DECIMAL_M_2_PI   ((decimal) M_2_PI) /* 2/pi */
+
+ +

Definition at line 33 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_2_SQRTPI

+ +
+
+ + + + +
#define DECIMAL_M_2_SQRTPI   ((decimal) M_2_SQRTPI) /* 2/sqrt(pi) */
+
+ +

Definition at line 34 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_E

+ +
+
+ + + + +
#define DECIMAL_M_E   ((decimal) M_E) /* e */
+
+ +

Definition at line 24 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_LN10

+ +
+
+ + + + +
#define DECIMAL_M_LN10   ((decimal) M_LN10) /* log_e 10 */
+
+ +

Definition at line 28 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_LN2

+ +
+
+ + + + +
#define DECIMAL_M_LN2   ((decimal) M_LN2) /* log_e 2 */
+
+ +

Definition at line 27 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_LOG10E

+ +
+
+ + + + +
#define DECIMAL_M_LOG10E   ((decimal) M_LOG10E) /* log_10 e */
+
+ +

Definition at line 26 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_LOG2E

+ +
+
+ + + + +
#define DECIMAL_M_LOG2E   ((decimal) M_LOG2E) /* log_2 e */
+
+ +

Definition at line 25 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_PI

+ +
+
+ + + + +
#define DECIMAL_M_PI   ((decimal) M_PI) /* pi */
+
+ +

Definition at line 29 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_PI_2

+ +
+
+ + + + +
#define DECIMAL_M_PI_2   ((decimal) M_PI_2) /* pi/2 */
+
+ +

Definition at line 30 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_PI_4

+ +
+
+ + + + +
#define DECIMAL_M_PI_4   ((decimal) M_PI_4) /* pi/4 */
+
+ +

Definition at line 31 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_SQRT1_2

+ +
+
+ + + + +
#define DECIMAL_M_SQRT1_2   ((decimal) M_SQRT1_2) /* 1/sqrt(2) */
+
+ +

Definition at line 36 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_M_SQRT2

+ +
+
+ + + + +
#define DECIMAL_M_SQRT2   ((decimal) M_SQRT2) /* sqrt(2) */
+
+ +

Definition at line 35 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_POW

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define DECIMAL_POW( base,
 power 
)   ((decimal) std::pow(base, power))
+
+ +

Definition at line 39 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_ROUND

+ +
+
+ + + + + + + + +
#define DECIMAL_ROUND( x)   ((decimal) std::round(x))
+
+ +

Definition at line 46 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_SIN

+ +
+
+ + + + + + + + +
#define DECIMAL_SIN( x)   ((decimal) std::sin(x))
+
+ +

Definition at line 52 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_SQRT

+ +
+
+ + + + + + + + +
#define DECIMAL_SQRT( x)   ((decimal) std::sqrt(x))
+
+ +

Definition at line 40 of file decimal.hpp.

+ +
+
+ +

◆ DECIMAL_TAN

+ +
+
+ + + + + + + + +
#define DECIMAL_TAN( x)   ((decimal) std::tan(x))
+
+ +

Definition at line 54 of file decimal.hpp.

+ +
+
+ +

◆ STR_TO_DECIMAL

+ +
+
+ + + + + + + + +
#define STR_TO_DECIMAL( x)   std::stod(x)
+
+ +

Definition at line 12 of file decimal.hpp.

+ +
+
+

Typedef Documentation

+ +

◆ decimal

+ +
+
+ + + + +
typedef double decimal
+
+ +

Definition at line 11 of file decimal.hpp.

+ +
+
+
+
+ + + + diff --git a/decimal_8hpp.js b/decimal_8hpp.js new file mode 100644 index 00000000..b4293e61 --- /dev/null +++ b/decimal_8hpp.js @@ -0,0 +1,37 @@ +var decimal_8hpp = +[ + [ "DECIMAL", "decimal_8hpp.html#a261bd8f8874ffe8d498f9c3cb9af7f5c", null ], + [ "DECIMAL_ABS", "decimal_8hpp.html#a9c74c7f21e27343c8a46da2ea345054d", null ], + [ "DECIMAL_ACOS", "decimal_8hpp.html#aee57d54bc1c144bea46cd7e049f50aac", null ], + [ "DECIMAL_ASIN", "decimal_8hpp.html#a09f424203ece4d54fdf0803dae4ef650", null ], + [ "DECIMAL_ATAN", "decimal_8hpp.html#ab83c62825423d139a8fc951417f38f75", null ], + [ "DECIMAL_ATAN2", "decimal_8hpp.html#ab47e1ed4f2b4c9e27bc3eac8692dc0f8", null ], + [ "DECIMAL_CEIL", "decimal_8hpp.html#a9f4f1ed42bca607dbe2a3326f9612ad6", null ], + [ "DECIMAL_COS", "decimal_8hpp.html#aec47c5335165b89764e2d598af713495", null ], + [ "DECIMAL_ERF", "decimal_8hpp.html#ad9ba1d630c8789578b5f7a31b1d22c51", null ], + [ "DECIMAL_EXP", "decimal_8hpp.html#aecfbc39709657fd5eecb522d45a9ab54", null ], + [ "DECIMAL_FLOOR", "decimal_8hpp.html#af8bb135de5573bfe8c0d7d43cacacee9", null ], + [ "DECIMAL_FMA", "decimal_8hpp.html#a36c4a4a57b570617190116b1d05c7229", null ], + [ "DECIMAL_HYPOT", "decimal_8hpp.html#a48c6d79be3f117fa2e9858e923a67d87", null ], + [ "DECIMAL_LOG", "decimal_8hpp.html#a0f5f80288df1dfd2b557bfdb3790dbc6", null ], + [ "DECIMAL_M_1_PI", "decimal_8hpp.html#a89d8e637d15ccbfddbcfbbe06fd0dd70", null ], + [ "DECIMAL_M_2_PI", "decimal_8hpp.html#a15735ad0b5b14da97c2178edd6228edd", null ], + [ "DECIMAL_M_2_SQRTPI", "decimal_8hpp.html#a850856ae2421d80dec62fc6c36d26982", null ], + [ "DECIMAL_M_E", "decimal_8hpp.html#adb7c3a168fb2dae974fd520cbc3aca4d", null ], + [ "DECIMAL_M_LN10", "decimal_8hpp.html#a057efc464c7458a952d79d44bb1a0eec", null ], + [ "DECIMAL_M_LN2", "decimal_8hpp.html#af45501daadddc6b37e8565c1b618803c", null ], + [ "DECIMAL_M_LOG10E", "decimal_8hpp.html#ab0e9ec896c607297069fb48a163a5155", null ], + [ "DECIMAL_M_LOG2E", "decimal_8hpp.html#a7759253b1830f717df4e9956191985f6", null ], + [ "DECIMAL_M_PI", "decimal_8hpp.html#a4239f65c1338d3621c3f5ce50d8ae928", null ], + [ "DECIMAL_M_PI_2", "decimal_8hpp.html#a9eebd6e84e82d7ebb1eb46b3fe0a2679", null ], + [ "DECIMAL_M_PI_4", "decimal_8hpp.html#a5365adec6c470e04e3c3677276bdc280", null ], + [ "DECIMAL_M_SQRT1_2", "decimal_8hpp.html#a83f92097e3d861905cafe34266f2eb85", null ], + [ "DECIMAL_M_SQRT2", "decimal_8hpp.html#a386a0c2d14d7ddeae07a7cc94f323dfb", null ], + [ "DECIMAL_POW", "decimal_8hpp.html#a3e2c08cf2cbb9071d37e64ec0444edad", null ], + [ "DECIMAL_ROUND", "decimal_8hpp.html#a2562bda367ecef5f1c60df62450e23ad", null ], + [ "DECIMAL_SIN", "decimal_8hpp.html#a904c27af59c769840fd8e7fe742affd2", null ], + [ "DECIMAL_SQRT", "decimal_8hpp.html#aadce8b7d5c59d658cb596671b3330d02", null ], + [ "DECIMAL_TAN", "decimal_8hpp.html#a0722894990fe7d0ab7824f52dbbc9b1a", null ], + [ "STR_TO_DECIMAL", "decimal_8hpp.html#a7a155f9188b9b83cd40dafccc0b59b61", null ], + [ "decimal", "decimal_8hpp.html#a0450d7258362349ee7654cefb54aaf57", null ] +]; \ No newline at end of file diff --git a/decimal_8hpp__dep__incl.map b/decimal_8hpp__dep__incl.map new file mode 100644 index 00000000..c2959767 --- /dev/null +++ b/decimal_8hpp__dep__incl.map @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/decimal_8hpp__dep__incl.md5 b/decimal_8hpp__dep__incl.md5 new file mode 100644 index 00000000..b524b1ef --- /dev/null +++ b/decimal_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +34bca64b18b96c079697eed06803aff7 \ No newline at end of file diff --git a/decimal_8hpp__dep__incl.png b/decimal_8hpp__dep__incl.png new file mode 100644 index 00000000..b97524b7 Binary files /dev/null and b/decimal_8hpp__dep__incl.png differ diff --git a/decimal_8hpp__incl.map b/decimal_8hpp__incl.map new file mode 100644 index 00000000..be50a891 --- /dev/null +++ b/decimal_8hpp__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/decimal_8hpp__incl.md5 b/decimal_8hpp__incl.md5 new file mode 100644 index 00000000..84090a24 --- /dev/null +++ b/decimal_8hpp__incl.md5 @@ -0,0 +1 @@ +a4546abbc3d2ba33e8e1f2dba863aeaa \ No newline at end of file diff --git a/decimal_8hpp__incl.png b/decimal_8hpp__incl.png new file mode 100644 index 00000000..5b076de3 Binary files /dev/null and b/decimal_8hpp__incl.png differ diff --git a/decimal_8hpp_source.html b/decimal_8hpp_source.html new file mode 100644 index 00000000..05fd4fd1 --- /dev/null +++ b/decimal_8hpp_source.html @@ -0,0 +1,165 @@ + + + + + + + +LOST: src/decimal.hpp Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
LOST +  0.0.1 +
+
LOST: Open-source Star Tracker
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
decimal.hpp
+
+
+Go to the documentation of this file.
1 #ifndef DECIMAL_H
+
2 #define DECIMAL_H
+
3 
+
4 #include <cmath>
+
5 #include <string>
+
6 
+
7 #ifdef LOST_FLOAT_MODE
+
8  typedef float decimal;
+
9  #define STR_TO_DECIMAL(x) std::stof(x)
+
10 #else
+
11  typedef double decimal;
+
12  #define STR_TO_DECIMAL(x) std::stod(x)
+
13 #endif
+
14 
+
15 // This should only be used sparingly.
+
16 // It's better to verbosely typecast sometimes. Only use these to prevent promotions.
+
17 // The reason why this isn't used everywhere instead of the wrapped macros is
+
18 // because the code becomes hard to read when there are multiple layers of typecasting.
+
19 // With this method, we might have more preprocessing to do BUT the code remains readable
+
20 // as the methods remain relatively the same.
+
21 #define DECIMAL(x) ((decimal) x)
+
22 
+
23 // Math Constants wrapped with Decimal typecast
+
24 #define DECIMAL_M_E ((decimal) M_E) /* e */
+
25 #define DECIMAL_M_LOG2E ((decimal) M_LOG2E) /* log_2 e */
+
26 #define DECIMAL_M_LOG10E ((decimal) M_LOG10E) /* log_10 e */
+
27 #define DECIMAL_M_LN2 ((decimal) M_LN2) /* log_e 2 */
+
28 #define DECIMAL_M_LN10 ((decimal) M_LN10) /* log_e 10 */
+
29 #define DECIMAL_M_PI ((decimal) M_PI) /* pi */
+
30 #define DECIMAL_M_PI_2 ((decimal) M_PI_2) /* pi/2 */
+
31 #define DECIMAL_M_PI_4 ((decimal) M_PI_4) /* pi/4 */
+
32 #define DECIMAL_M_1_PI ((decimal) M_1_PI) /* 1/pi */
+
33 #define DECIMAL_M_2_PI ((decimal) M_2_PI) /* 2/pi */
+
34 #define DECIMAL_M_2_SQRTPI ((decimal) M_2_SQRTPI) /* 2/sqrt(pi) */
+
35 #define DECIMAL_M_SQRT2 ((decimal) M_SQRT2) /* sqrt(2) */
+
36 #define DECIMAL_M_SQRT1_2 ((decimal) M_SQRT1_2) /* 1/sqrt(2) */
+
37 
+
38 // Math Functions wrapped with Decimal typecast
+
39 #define DECIMAL_POW(base,power) ((decimal) std::pow(base, power))
+
40 #define DECIMAL_SQRT(x) ((decimal) std::sqrt(x))
+
41 #define DECIMAL_LOG(x) ((decimal) std::log(x))
+
42 #define DECIMAL_EXP(x) ((decimal) std::exp(x))
+
43 #define DECIMAL_ERF(x) ((decimal) std::erf(x))
+
44 
+
45 // Rouding methods wrapped with Decimal typecast)
+
46 #define DECIMAL_ROUND(x) ((decimal) std::round(x))
+
47 #define DECIMAL_CEIL(x) ((decimal) std::ceil(x))
+
48 #define DECIMAL_FLOOR(x) ((decimal) std::floor(x))
+
49 #define DECIMAL_ABS(x) ((decimal) std::abs(x))
+
50 
+
51 // Trig Methods wrapped with Decimal typecast)
+
52 #define DECIMAL_SIN(x) ((decimal) std::sin(x))
+
53 #define DECIMAL_COS(x) ((decimal) std::cos(x))
+
54 #define DECIMAL_TAN(x) ((decimal) std::tan(x))
+
55 #define DECIMAL_ASIN(x) ((decimal) std::asin(x))
+
56 #define DECIMAL_ACOS(x) ((decimal) std::acos(x))
+
57 #define DECIMAL_ATAN(x) ((decimal) std::atan(x))
+
58 #define DECIMAL_ATAN2(x,y) ((decimal) std::atan2(x,y))
+
59 
+
60 // Float methods wrapped with Decimal typecast)
+
61 #define DECIMAL_FMA(x,y,z) ((decimal) std::fma(x,y,z))
+
62 #define DECIMAL_HYPOT(x,y) ((decimal) std::hypot(x,y))
+
63 
+
64 #endif // decimal.hpp
+
double decimal
Definition: decimal.hpp:11
+
+
+ + + + diff --git a/dir_138aff360eb965c43b94267b8d1ce09e.html b/dir_138aff360eb965c43b94267b8d1ce09e.html index 4b2a6cfb..f29947d9 100644 --- a/dir_138aff360eb965c43b94267b8d1ce09e.html +++ b/dir_138aff360eb965c43b94267b8d1ce09e.html @@ -93,7 +93,7 @@ diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html index fd21501d..de6ed423 100644 --- a/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -112,6 +112,8 @@   file  databases.hpp [code]   +file  decimal.hpp [code] +  file  io.cpp [code]   file  io.hpp [code] @@ -139,7 +141,7 @@ diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/dir_68267d1309a1af8e8297ef4c3efbcdba.js index 687f1697..2fad7fdd 100644 --- a/dir_68267d1309a1af8e8297ef4c3efbcdba.js +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -21,6 +21,7 @@ var dir_68267d1309a1af8e8297ef4c3efbcdba = [ "database-options.hpp", "database-options_8hpp.html", null ], [ "databases.cpp", "databases_8cpp.html", "databases_8cpp" ], [ "databases.hpp", "databases_8hpp.html", "databases_8hpp" ], + [ "decimal.hpp", "decimal_8hpp.html", "decimal_8hpp" ], [ "io.cpp", "io_8cpp.html", "io_8cpp" ], [ "io.hpp", "io_8hpp.html", "io_8hpp" ], [ "main.cpp", "main_8cpp.html", "main_8cpp" ], diff --git a/doxygen__splash_8md.html b/doxygen__splash_8md.html index 2e6a8617..5a8327d7 100644 --- a/doxygen__splash_8md.html +++ b/doxygen__splash_8md.html @@ -93,7 +93,7 @@ diff --git a/files.html b/files.html index a8a2d1f3..a236a92d 100644 --- a/files.html +++ b/files.html @@ -102,16 +102,17 @@  database-options.hpp  databases.cpp  databases.hpp - io.cpp - io.hpp - main.cpp - pipeline-options.hpp - serialize-helpers.hpp - star-id-private.hpp - star-id.cpp - star-id.hpp - star-utils.cpp - star-utils.hpp + decimal.hpp + io.cpp + io.hpp + main.cpp + pipeline-options.hpp + serialize-helpers.hpp + star-id-private.hpp + star-id.cpp + star-id.hpp + star-utils.cpp + star-utils.hpp @@ -119,7 +120,7 @@ diff --git a/functions.html b/functions.html index d46473f3..f8b1ec34 100644 --- a/functions.html +++ b/functions.html @@ -90,10 +90,10 @@

- a -

    : lost::IRUnidentifiedCentroid
  • Angle() -: lost::Quaternion +: lost::Quaternion
  • At() -: lost::Mat3 +: lost::Mat3
  • Attitude() : lost::Attitude @@ -110,7 +110,7 @@

    - a -

      diff --git a/functions_b.html b/functions_b.html index 12072193..41fd41f0 100644 --- a/functions_b.html +++ b/functions_b.html @@ -87,7 +87,7 @@

      - b -

      • bestAngleFrom90 -: lost::IRUnidentifiedCentroid +: lost::IRUnidentifiedCentroid
      • bestStar1 : lost::IRUnidentifiedCentroid @@ -107,7 +107,7 @@

        - b -

          diff --git a/functions_c.html b/functions_c.html index 6062d420..172daa87 100644 --- a/functions_c.html +++ b/functions_c.html @@ -87,7 +87,7 @@

          - c -

          • Camera() -: lost::Camera +: lost::Camera
          • CameraToSpatial() : lost::Camera @@ -136,7 +136,7 @@

            - c -

              diff --git a/functions_d.html b/functions_d.html index 3fdc74cf..b78ffd2f 100644 --- a/functions_d.html +++ b/functions_d.html @@ -87,7 +87,7 @@

              - d -

              • de -: lost::EulerAngles +: lost::EulerAngles
              • delta : lost::GeneratedStar @@ -96,10 +96,10 @@

                - d -

                  : lost::DeserializeContext
                • Det() -: lost::Mat3 +: lost::Mat3
                • distance -: lost::KVectorPair +: lost::KVectorPair
                • DummyCentroidAlgorithm() : lost::DummyCentroidAlgorithm @@ -110,7 +110,7 @@

                  - d -

                    diff --git a/functions_e.html b/functions_e.html index fe1647e0..1db97149 100644 --- a/functions_e.html +++ b/functions_e.html @@ -87,7 +87,7 @@

                    - e -

                    • EulerAngles() -: lost::EulerAngles +: lost::EulerAngles
                    • ExpectedAttitude() : lost::PipelineInput @@ -106,7 +106,7 @@

                      - e -

                        diff --git a/functions_f.html b/functions_f.html index 26fa58d0..6a7b7276 100644 --- a/functions_f.html +++ b/functions_f.html @@ -87,16 +87,19 @@

                        - f -

                        @@ -104,7 +107,7 @@

                        - f -

                          diff --git a/functions_func.html b/functions_func.html index dc8c5779..8825371b 100644 --- a/functions_func.html +++ b/functions_func.html @@ -90,10 +90,10 @@

                          - a -

                            : lost::IRUnidentifiedCentroid
                          • Angle() -: lost::Quaternion +: lost::Quaternion
                          • At() -: lost::Mat3 +: lost::Mat3
                          • Attitude() : lost::Attitude @@ -137,7 +137,7 @@

                            - d -

                              : lost::DeserializeContext
                            • Det() -: lost::Mat3 +: lost::Mat3
                            • DummyCentroidAlgorithm() : lost::DummyCentroidAlgorithm @@ -147,7 +147,7 @@

                              - d -

                                - e -

                                • EulerAngles() -: lost::EulerAngles +: lost::EulerAngles
                                • ExpectedAttitude() : lost::PipelineInput @@ -165,29 +165,29 @@

                                  - e -

                                    - f -

                                    - g -

                                    • GeneratedPipelineInput() -: lost::GeneratedPipelineInput +: lost::GeneratedPipelineInput
                                    • GeneratedStar() -: lost::GeneratedStar +: lost::GeneratedStar
                                    • GeometricVotingStarIdAlgorithm() -: lost::GeometricVotingStarIdAlgorithm +: lost::GeometricVotingStarIdAlgorithm
                                    • GetCatalog() : lost::GeneratedPipelineInput @@ -270,7 +270,7 @@

                                      - i -

                                        : lost::Attitude
                                      • IsUnit() -: lost::Quaternion +: lost::Quaternion
                                      • IterativeWeightedCenterOfGravityAlgorithm() : lost::IterativeWeightedCenterOfGravityAlgorithm @@ -287,24 +287,24 @@

                                        - k -

                                          - m -

                                          • Magnitude() -: lost::Vec2 -, lost::Vec3 +: lost::Vec2 +, lost::Vec3
                                          • MagnitudeSq() -: lost::Vec2 -, lost::Vec3 +: lost::Vec2 +, lost::Vec3
                                          • Max() -: lost::KVectorIndex +: lost::KVectorIndex
                                          • MaxDistance() -: lost::PairDistanceKVectorDatabase +: lost::PairDistanceKVectorDatabase
                                          • Min() -: lost::KVectorIndex +: lost::KVectorIndex
                                          • MinDistance() -: lost::PairDistanceKVectorDatabase +: lost::PairDistanceKVectorDatabase
                                          • MoveForward() : lost::DeserializeContext @@ -337,10 +337,10 @@

                                            - n -

                                              - o -

                                              • operator*() -: lost::Mat3 +: lost::Mat3 , lost::PairDistanceInvolvingIterator , lost::Quaternion -, lost::Vec2 +, lost::Vec2 , lost::Vec3
                                              • operator+() @@ -377,7 +377,7 @@

                                                - p -

                                                @@ -387,7 +387,7 @@

                                                - q -

                                                @@ -405,28 +405,28 @@

                                                - r -

                                                  - s -

                                                  • SerializeContext() -: lost::SerializeContext +: lost::SerializeContext
                                                  • SetAngle() -: lost::Quaternion +: lost::Quaternion
                                                  • SetFocalLength() -: lost::Camera +: lost::Camera
                                                  • SetVector() : lost::Quaternion
                                                  • SmallestAngle() -: lost::Quaternion +: lost::Quaternion
                                                  • SpatialToCamera() : lost::Camera
                                                  • Star() -: lost::Star +: lost::Star
                                                  • StarDistances() -: lost::PairDistanceKVectorDatabase +: lost::PairDistanceKVectorDatabase
                                                  • StarIdentifier() : lost::StarIdentifier @@ -446,7 +446,7 @@

                                                    - t -

                                                      , lost::Quaternion
                                                    • Trace() -: lost::Mat3 +: lost::Mat3
                                                    • Transpose() : lost::Mat3 @@ -507,7 +507,7 @@

                                                      - ~ -

                                                        diff --git a/functions_g.html b/functions_g.html index 023f471a..fbc2ba62 100644 --- a/functions_g.html +++ b/functions_g.html @@ -87,13 +87,13 @@

                                                        - g -

                                                        • GeneratedPipelineInput() -: lost::GeneratedPipelineInput +: lost::GeneratedPipelineInput
                                                        • GeneratedStar() -: lost::GeneratedStar +: lost::GeneratedStar
                                                        • GeometricVotingStarIdAlgorithm() -: lost::GeometricVotingStarIdAlgorithm +: lost::GeometricVotingStarIdAlgorithm
                                                        • GetCatalog() : lost::GeneratedPipelineInput @@ -136,7 +136,7 @@

                                                          - g -

                                                            diff --git a/functions_h.html b/functions_h.html index 3ad14f8f..f04dbb85 100644 --- a/functions_h.html +++ b/functions_h.html @@ -98,7 +98,7 @@

                                                            - h -

                                                              diff --git a/functions_i.html b/functions_i.html index c3f6d5b0..e29f76b6 100644 --- a/functions_i.html +++ b/functions_i.html @@ -87,7 +87,7 @@

                                                              - i -

                                                              • i -: lost::Quaternion +: lost::Quaternion
                                                              • image : lost::Image @@ -139,7 +139,7 @@

                                                                - i -

                                                                  : lost::Attitude
                                                                • IsUnit() -: lost::Quaternion +: lost::Quaternion
                                                                • isValid : lost::CentroidParams @@ -154,7 +154,7 @@

                                                                  - i -

                                                                    diff --git a/functions_j.html b/functions_j.html index 451c9683..00f1b48a 100644 --- a/functions_j.html +++ b/functions_j.html @@ -87,7 +87,7 @@

                                                                    - j -

                                                                    @@ -95,7 +95,7 @@

                                                                    - j -

                                                                      diff --git a/functions_k.html b/functions_k.html index 05642272..5b55eb26 100644 --- a/functions_k.html +++ b/functions_k.html @@ -87,7 +87,7 @@

                                                                      - k -

                                                                      • k -: lost::Quaternion +: lost::Quaternion
                                                                      • kMagicValue : lost::PairDistanceKVectorDatabase @@ -101,7 +101,7 @@

                                                                        - k -

                                                                          diff --git a/functions_m.html b/functions_m.html index 033c594c..4a8ed329 100644 --- a/functions_m.html +++ b/functions_m.html @@ -94,33 +94,33 @@

                                                                          - m -

                                                                            , lost::Star
                                                                          • Magnitude() -: lost::Vec2 -, lost::Vec3 +: lost::Vec2 +, lost::Vec3
                                                                          • MagnitudeSq() -: lost::Vec2 -, lost::Vec3 +: lost::Vec2 +, lost::Vec3
                                                                          • magSum : lost::CentroidParams
                                                                          • Max() -: lost::KVectorIndex +: lost::KVectorIndex
                                                                          • MaxDistance() -: lost::PairDistanceKVectorDatabase +: lost::PairDistanceKVectorDatabase
                                                                          • maxIntensity : lost::IWCoGParams
                                                                          • meanError -: lost::CentroidComparison +: lost::CentroidComparison
                                                                          • Min() -: lost::KVectorIndex +: lost::KVectorIndex
                                                                          • MinDistance() -: lost::PairDistanceKVectorDatabase +: lost::PairDistanceKVectorDatabase
                                                                          • MoveForward() : lost::DeserializeContext @@ -137,7 +137,7 @@

                                                                            - m -

                                                                              diff --git a/functions_n.html b/functions_n.html index 93290e70..cccd36cb 100644 --- a/functions_n.html +++ b/functions_n.html @@ -100,10 +100,10 @@

                                                                              - n -

                                                                                : lost::StarIdComparison
                                                                              • numCorrectCentroids -: lost::CentroidComparison +: lost::CentroidComparison
                                                                              • numExtraCentroids -: lost::CentroidComparison +: lost::CentroidComparison
                                                                              • numIncorrect : lost::StarIdComparison @@ -123,7 +123,7 @@

                                                                                - n -

                                                                                  diff --git a/functions_o.html b/functions_o.html index 6c06e6c2..399f4876 100644 --- a/functions_o.html +++ b/functions_o.html @@ -87,10 +87,10 @@

                                                                                  - o -

                                                                                  • operator*() -: lost::Mat3 +: lost::Mat3 , lost::PairDistanceInvolvingIterator , lost::Quaternion -, lost::Vec2 +, lost::Vec2 , lost::Vec3
                                                                                  • operator+() @@ -116,7 +116,7 @@

                                                                                    - o -

                                                                                      diff --git a/functions_p.html b/functions_p.html index fb6c1f2d..7629d3fe 100644 --- a/functions_p.html +++ b/functions_p.html @@ -93,7 +93,7 @@

                                                                                      - p -

                                                                                        : lost::PairDistanceKVectorDatabase
                                                                                      • peakBrightness -: lost::GeneratedStar +: lost::GeneratedStar
                                                                                      • Pipeline() : lost::Pipeline @@ -105,7 +105,7 @@

                                                                                        - p -

                                                                                        @@ -113,7 +113,7 @@

                                                                                        - p -

                                                                                          diff --git a/functions_q.html b/functions_q.html index 33123319..e1806ccb 100644 --- a/functions_q.html +++ b/functions_q.html @@ -90,7 +90,7 @@

                                                                                          - q -

                                                                                          @@ -98,7 +98,7 @@

                                                                                          - q -

                                                                                            diff --git a/functions_r.html b/functions_r.html index f5aed683..44c47029 100644 --- a/functions_r.html +++ b/functions_r.html @@ -87,19 +87,19 @@

                                                                                            - r -

                                                                                            • ra -: lost::EulerAngles +: lost::EulerAngles
                                                                                            • radiusX -: lost::Star +: lost::Star
                                                                                            • radiusY -: lost::Star +: lost::Star
                                                                                            • real -: lost::Quaternion +: lost::Quaternion
                                                                                            • roll -: lost::EulerAngles +: lost::EulerAngles
                                                                                            • Rotate() : lost::Attitude @@ -114,7 +114,7 @@

                                                                                              - r -

                                                                                                diff --git a/functions_rela.html b/functions_rela.html index 822c9686..15e38546 100644 --- a/functions_rela.html +++ b/functions_rela.html @@ -93,7 +93,7 @@ diff --git a/functions_s.html b/functions_s.html index 69fdd365..6b6f2e0c 100644 --- a/functions_s.html +++ b/functions_s.html @@ -90,10 +90,10 @@

                                                                                                - s -

                                                                                                  : lost::SerializeContext
                                                                                                • SetAngle() -: lost::Quaternion +: lost::Quaternion
                                                                                                • SetFocalLength() -: lost::Camera +: lost::Camera
                                                                                                • SetPipeline : lost::Pipeline @@ -102,7 +102,7 @@

                                                                                                  - s -

                                                                                                    : lost::Quaternion
                                                                                                  • SmallestAngle() -: lost::Quaternion +: lost::Quaternion
                                                                                                  • spatial : lost::CatalogStar @@ -114,10 +114,10 @@

                                                                                                    - s -

                                                                                                      : lost::IRUnidentifiedCentroid
                                                                                                    • Star() -: lost::Star +: lost::Star
                                                                                                    • StarDistances() -: lost::PairDistanceKVectorDatabase +: lost::PairDistanceKVectorDatabase
                                                                                                    • StarIdentifier() : lost::StarIdentifier @@ -140,8 +140,8 @@

                                                                                                      - s -

                                                                                                      • SubDatabasePointer() : lost::MultiDatabase
                                                                                                      • -
                                                                                                      • swapFloatEndianness -: lost::SerializeContext +
                                                                                                      • swapDecimalEndianness +: lost::SerializeContext
                                                                                                      • swapIntegerEndianness : lost::SerializeContext @@ -152,7 +152,7 @@

                                                                                                        - s -

                                                                                                          diff --git a/functions_t.html b/functions_t.html index d89e881a..898540af 100644 --- a/functions_t.html +++ b/functions_t.html @@ -91,7 +91,7 @@

                                                                                                          - t -

                                                                                                            , lost::Quaternion
                                                                                                          • Trace() -: lost::Mat3 +: lost::Mat3
                                                                                                          • Transpose() : lost::Mat3 @@ -102,7 +102,7 @@

                                                                                                            - t -

                                                                                                              diff --git a/functions_u.html b/functions_u.html index d525c57a..de0de101 100644 --- a/functions_u.html +++ b/functions_u.html @@ -95,7 +95,7 @@

                                                                                                              - u -

                                                                                                                diff --git a/functions_v.html b/functions_v.html index d44aff07..99857fd3 100644 --- a/functions_v.html +++ b/functions_v.html @@ -95,7 +95,7 @@

                                                                                                                - v -

                                                                                                                  diff --git a/functions_vars.html b/functions_vars.html index ed596b60..946f9c25 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -97,7 +97,7 @@

                                                                                                                  - a -

                                                                                                                    - b -

                                                                                                                    • bestAngleFrom90 -: lost::IRUnidentifiedCentroid +: lost::IRUnidentifiedCentroid
                                                                                                                    • bestStar1 : lost::IRUnidentifiedCentroid @@ -137,13 +137,20 @@

                                                                                                                      - c -

                                                                                                                        - d -

                                                                                                                        + + +

                                                                                                                        - f -

                                                                                                                        @@ -164,7 +171,7 @@

                                                                                                                        - h -

                                                                                                                          - i -

                                                                                                                          • i -: lost::Quaternion +: lost::Quaternion
                                                                                                                          • image : lost::Image @@ -187,14 +194,14 @@

                                                                                                                            - i -

                                                                                                                              - j -

                                                                                                                              - k -

                                                                                                                              • k -: lost::Quaternion +: lost::Quaternion
                                                                                                                              • kMagicValue : lost::PairDistanceKVectorDatabase @@ -217,7 +224,7 @@

                                                                                                                                - m -

                                                                                                                                @@ -230,10 +237,10 @@

                                                                                                                                - n -

                                                                                                                                  : lost::StarIdComparison
                                                                                                                                • numCorrectCentroids -: lost::CentroidComparison +: lost::CentroidComparison
                                                                                                                                • numExtraCentroids -: lost::CentroidComparison +: lost::CentroidComparison
                                                                                                                                • numIncorrect : lost::StarIdComparison @@ -246,7 +253,7 @@

                                                                                                                                  - n -

                                                                                                                                    - p -

                                                                                                                                    • peakBrightness -: lost::GeneratedStar +: lost::GeneratedStar
                                                                                                                                    • position : lost::Star @@ -256,19 +263,19 @@

                                                                                                                                      - p -

                                                                                                                                        - r -

                                                                                                                                        @@ -292,8 +299,8 @@

                                                                                                                                        - s -

                                                                                                                                        • stars : lost::PipelineOutput
                                                                                                                                        • -
                                                                                                                                        • swapFloatEndianness -: lost::SerializeContext +
                                                                                                                                        • swapDecimalEndianness +: lost::SerializeContext
                                                                                                                                        • swapIntegerEndianness : lost::SerializeContext @@ -303,7 +310,7 @@

                                                                                                                                          - s -

                                                                                                                                            - w -

                                                                                                                                            • weight -: lost::StarIdentifier +: lost::StarIdentifier
                                                                                                                                            • width : lost::Image @@ -313,12 +320,12 @@

                                                                                                                                              - w -

                                                                                                                                                - x -

                                                                                                                                                • x -: lost::Mat3 -, lost::Vec2 -, lost::Vec3 +: lost::Mat3 +, lost::Vec2 +, lost::Vec3
                                                                                                                                                • xCoordMagSum -: lost::CentroidParams +: lost::CentroidParams
                                                                                                                                                • xMax : lost::CentroidParams @@ -333,11 +340,11 @@

                                                                                                                                                  - x -

                                                                                                                                                    - y -

                                                                                                                                                    • y -: lost::Vec2 -, lost::Vec3 +: lost::Vec2 +, lost::Vec3
                                                                                                                                                    • yCoordMagSum -: lost::CentroidParams +: lost::CentroidParams
                                                                                                                                                    • yMax : lost::CentroidParams @@ -352,7 +359,7 @@

                                                                                                                                                      - y -

                                                                                                                                                        - z -

                                                                                                                                                        @@ -360,7 +367,7 @@

                                                                                                                                                        - z -

                                                                                                                                                          diff --git a/functions_w.html b/functions_w.html index d22f2908..9b8335ab 100644 --- a/functions_w.html +++ b/functions_w.html @@ -87,7 +87,7 @@

                                                                                                                                                          - w -

                                                                                                                                                          • weight -: lost::StarIdentifier +: lost::StarIdentifier
                                                                                                                                                          • width : lost::Image @@ -98,7 +98,7 @@

                                                                                                                                                            - w -

                                                                                                                                                              diff --git a/functions_x.html b/functions_x.html index 7687d5c9..94056978 100644 --- a/functions_x.html +++ b/functions_x.html @@ -87,12 +87,12 @@

                                                                                                                                                              - x -

                                                                                                                                                              • x -: lost::Mat3 -, lost::Vec2 -, lost::Vec3 +: lost::Mat3 +, lost::Vec2 +, lost::Vec3
                                                                                                                                                              • xCoordMagSum -: lost::CentroidParams +: lost::CentroidParams
                                                                                                                                                              • xMax : lost::CentroidParams @@ -111,7 +111,7 @@

                                                                                                                                                                - x -

                                                                                                                                                                  diff --git a/functions_y.html b/functions_y.html index 3b267f73..155d8214 100644 --- a/functions_y.html +++ b/functions_y.html @@ -87,11 +87,11 @@

                                                                                                                                                                  - y -

                                                                                                                                                                  • y -: lost::Vec2 -, lost::Vec3 +: lost::Vec2 +, lost::Vec3
                                                                                                                                                                  • yCoordMagSum -: lost::CentroidParams +: lost::CentroidParams
                                                                                                                                                                  • yMax : lost::CentroidParams @@ -110,7 +110,7 @@

                                                                                                                                                                    - y -

                                                                                                                                                                      diff --git a/functions_z.html b/functions_z.html index eff29c18..1be91eda 100644 --- a/functions_z.html +++ b/functions_z.html @@ -87,7 +87,7 @@

                                                                                                                                                                      - z -

                                                                                                                                                                      @@ -95,7 +95,7 @@

                                                                                                                                                                      - z -

                                                                                                                                                                        diff --git a/functions_~.html b/functions_~.html index ea031321..7afc5af8 100644 --- a/functions_~.html +++ b/functions_~.html @@ -110,7 +110,7 @@

                                                                                                                                                                        - ~ -

                                                                                                                                                                          diff --git a/globals.html b/globals.html index 25169fc0..9a9b40c1 100644 --- a/globals.html +++ b/globals.html @@ -83,19 +83,132 @@
                                                                                                                                                                          -
                                                                                                                                                                          Here is a list of all file members with links to the files they belong to:
                                                                                                                                                                          diff --git a/globals_defs.html b/globals_defs.html index 5187a85e..0c8d3ba7 100644 --- a/globals_defs.html +++ b/globals_defs.html @@ -83,19 +83,129 @@
                                                                                                                                                                          diff --git a/globals_func.html b/globals_func.html index 6c622419..e2d62cb4 100644 --- a/globals_func.html +++ b/globals_func.html @@ -93,7 +93,7 @@ diff --git a/globals_type.html b/globals_type.html new file mode 100644 index 00000000..13507cfe --- /dev/null +++ b/globals_type.html @@ -0,0 +1,100 @@ + + + + + + + +LOST: File Members + + + + + + + + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          LOST +  0.0.1 +
                                                                                                                                                                          +
                                                                                                                                                                          LOST: Open-source Star Tracker
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + +
                                                                                                                                                                          + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + diff --git a/graph_legend.html b/graph_legend.html index f88ee490..2571234d 100644 --- a/graph_legend.html +++ b/graph_legend.html @@ -152,7 +152,7 @@ diff --git a/hierarchy.html b/hierarchy.html index 7f5c9715..afbf0d9d 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -112,8 +112,8 @@  Clost::IWCoGParams  Clost::KVectorIndexA data structure enabling constant-time range queries into fixed numerical data  Clost::KVectorPair - Clost::Mat33x3 vector with floating point components - Clost::MultiDatabaseA database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database + Clost::Mat33x3 vector with decimaling point components + Clost::MultiDatabase  Clost::MultiDatabaseEntry  Clost::PairDistanceInvolvingIteratorGiven a list of star pairs, finds all those pairs which involve a certain star  Clost::PairDistanceKVectorDatabaseA database storing distances between pairs of stars @@ -134,8 +134,8 @@  Clost::StarIdComparisonThe result of comparing an actual star identification with the true star idenification, used for testing and benchmarking  Clost::StarIdentifierRecords that a certain Star (detected in the image) corresponds to a certain CatalogStar  Clost::UserSpecifiedOutputStreamAn output stream which might be a file or stdout - Clost::Vec2A two dimensional vector with floating point components - Clost::Vec3Three dimensional vector with floating point components + Clost::Vec2A two dimensional vector with decimaling point components + Clost::Vec3Three dimensional vector with decimaling point components @@ -143,7 +143,7 @@ diff --git a/index.html b/index.html index 11166c3b..bbbb9af6 100644 --- a/index.html +++ b/index.html @@ -111,7 +111,7 @@

                                                                                                                                                                          diff --git a/inherit_graph_15.map b/inherit_graph_15.map index 88518660..9fb16925 100644 --- a/inherit_graph_15.map +++ b/inherit_graph_15.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_15.md5 b/inherit_graph_15.md5 index 7cbd3ad9..7df77c8b 100644 --- a/inherit_graph_15.md5 +++ b/inherit_graph_15.md5 @@ -1 +1 @@ -739c1494f8162dda3c714d00cf39fc27 \ No newline at end of file +3f90597f10f2a935aa2f8c9fd9292dc5 \ No newline at end of file diff --git a/inherit_graph_16.map b/inherit_graph_16.map index 1568faec..76c42aaa 100644 --- a/inherit_graph_16.map +++ b/inherit_graph_16.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_16.md5 b/inherit_graph_16.md5 index becefda9..589ee0d8 100644 --- a/inherit_graph_16.md5 +++ b/inherit_graph_16.md5 @@ -1 +1 @@ -2099db44c9257103e6c76db1086ce362 \ No newline at end of file +a8879ae403edf03bab00bfbe8d8dcb3d \ No newline at end of file diff --git a/inherit_graph_31.map b/inherit_graph_31.map index fd9cb44d..02d596d1 100644 --- a/inherit_graph_31.map +++ b/inherit_graph_31.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_31.md5 b/inherit_graph_31.md5 index 3209c653..1ee8f289 100644 --- a/inherit_graph_31.md5 +++ b/inherit_graph_31.md5 @@ -1 +1 @@ -f4dbcc9205185debaeefa0baaba76ce5 \ No newline at end of file +5625cd049eb048bd2f1224b7177dfb99 \ No newline at end of file diff --git a/inherit_graph_32.map b/inherit_graph_32.map index 1346bd38..27f02b93 100644 --- a/inherit_graph_32.map +++ b/inherit_graph_32.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_32.md5 b/inherit_graph_32.md5 index 4dcf651e..afc74254 100644 --- a/inherit_graph_32.md5 +++ b/inherit_graph_32.md5 @@ -1 +1 @@ -3892453bbc98e4e28929c80fc8cb78b4 \ No newline at end of file +fa75bebd6c6e37e500ccfc61971ba267 \ No newline at end of file diff --git a/inherits.html b/inherits.html index abaa9f9b..2aa68ff2 100644 --- a/inherits.html +++ b/inherits.html @@ -173,12 +173,12 @@ - + - + @@ -259,12 +259,12 @@ - + - + @@ -273,7 +273,7 @@ diff --git a/io_8cpp.html b/io_8cpp.html index 8dd73b09..78240ccb 100644 --- a/io_8cpp.html +++ b/io_8cpp.html @@ -117,6 +117,7 @@ #include "attitude-estimators.hpp"
                                                                                                                                                                          #include "attitude-utils.hpp"
                                                                                                                                                                          #include "databases.hpp"
                                                                                                                                                                          +#include "decimal.hpp"
                                                                                                                                                                          #include "star-id.hpp"
                                                                                                                                                                          #include "star-utils.hpp"
                                                                                                                                                                          @@ -124,41 +125,43 @@
                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                          @@ -223,9 +226,9 @@ std::ostream & lost::operator<< (std::ostream &os, const Camera &camera)  Print information about the camera in machine and human-readable form. More...
                                                                                                                                                                            -float lost::FocalLengthFromOptions (const PipelineOptions &values, int xResolution) - Calculate the focal length, in pixels, based on the given command line options. More...
                                                                                                                                                                          -  +decimal lost::FocalLengthFromOptions (const PipelineOptions &values, int xResolution) + Calculate the focal length, in pixels, based on the given command line options. More...
                                                                                                                                                                          +  PipelineInputList lost::GetPngPipelineInput (const PipelineOptions &values)  Create a PngPipelineInput using command line options. More...
                                                                                                                                                                            @@ -238,14 +241,14 @@ Pipeline lost::SetPipeline (const PipelineOptions &values)  Create a pipeline from command line options. More...
                                                                                                                                                                            -CentroidComparison lost::CentroidsCompare (float threshold, const Stars &expected, const Stars &actual) - Compare expected and actual centroids. More...
                                                                                                                                                                          -  +CentroidComparison lost::CentroidsCompare (decimal threshold, const Stars &expected, const Stars &actual) + Compare expected and actual centroids. More...
                                                                                                                                                                          +  CentroidComparison lost::CentroidComparisonsCombine (std::vector< CentroidComparison > comparisons)   -StarIdComparison lost::StarIdsCompare (const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, float centroidThreshold, const Stars &expectedStars, const Stars &inputStars) - Compare expected and actual star identifications. More...
                                                                                                                                                                          -  +StarIdComparison lost::StarIdsCompare (const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, decimal centroidThreshold, const Stars &expectedStars, const Stars &inputStars) + Compare expected and actual star identifications. More...
                                                                                                                                                                          +  void lost::PipelineComparatorPlotCentroidIndices (std::ostream &os, const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &)  Plot an annotated image where centroids are annotated with their centroid index. More...
                                                                                                                                                                            @@ -271,7 +274,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 87 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 95 of file io.cpp.

                                                                                                                                                                          @@ -336,7 +339,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/io_8cpp.js b/io_8cpp.js index 83fe31fe..3faf1f7e 100644 --- a/io_8cpp.js +++ b/io_8cpp.js @@ -12,8 +12,8 @@ var io_8cpp = [ "BscParse", "io_8cpp.html#a2de388cdf7e0c6b9c572903605480568", null ], [ "CatalogRead", "io_8cpp.html#a41f5bb669129790c12bd70e1d641441f", null ], [ "CentroidComparisonsCombine", "io_8cpp.html#a0fe01051c958fa8ced02e772aefdc991", null ], - [ "CentroidsCompare", "io_8cpp.html#afd017fba4090829c28c431509c4cfc1c", null ], - [ "FocalLengthFromOptions", "io_8cpp.html#a9eaa81a9fc5f13a447e4209b5b230308", null ], + [ "CentroidsCompare", "io_8cpp.html#ae28fabb74b772e447140deee8de524f0", null ], + [ "FocalLengthFromOptions", "io_8cpp.html#a2788319f0c0f74fbd29f5249501482be", null ], [ "GenerateDatabases", "io_8cpp.html#ac0ac19dd0e9f2f1ce471617d9c837949", null ], [ "GetGeneratedPipelineInput", "io_8cpp.html#aec3a2012bf028c749ba53a46a50ad172", null ], [ "GetPipelineInput", "io_8cpp.html#ad01d904e4a6bf5aed4a1b8f97f1416c5", null ], @@ -24,7 +24,7 @@ var io_8cpp = [ "PipelineComparison", "io_8cpp.html#ad2caa7f022ed5c5dba03ab479414dafc", null ], [ "serFromDbValues", "io_8cpp.html#aca0350641c0c62bbf6ff900634e92b8e", null ], [ "SetPipeline", "io_8cpp.html#ad4bb00e632a9200a8e42f620e460dd60", null ], - [ "StarIdsCompare", "io_8cpp.html#ab6f75e99dbde3eede31e0b3a7c56878e", null ], + [ "StarIdsCompare", "io_8cpp.html#a863cf60540007697be2b6572e6a2e614", null ], [ "SurfacePlot", "io_8cpp.html#a8298f03c0d1b408401e4200d17305018", null ], [ "SurfaceToGrayscaleImage", "io_8cpp.html#a1c3caf3f02508df448ec6c761a2d764e", null ], [ "kMaxBrightness", "io_8cpp.html#a9b3311f3ebda1282ad7bf650de30cf45", null ] diff --git a/io_8cpp__incl.map b/io_8cpp__incl.map index 92d61d93..2efcf01d 100644 --- a/io_8cpp__incl.map +++ b/io_8cpp__incl.map @@ -1,37 +1,39 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/io_8cpp__incl.md5 b/io_8cpp__incl.md5 index 5d9bafde..a336fc46 100644 --- a/io_8cpp__incl.md5 +++ b/io_8cpp__incl.md5 @@ -1 +1 @@ -7f9fe4e8198451fd582fb5fd16b288f7 \ No newline at end of file +c9271eb6e9e0be1db9c1fd85a8d0799a \ No newline at end of file diff --git a/io_8cpp__incl.png b/io_8cpp__incl.png index a58d1ea6..f5a9bfa9 100644 Binary files a/io_8cpp__incl.png and b/io_8cpp__incl.png differ diff --git a/io_8cpp_source.html b/io_8cpp_source.html index f3c95a81..855a928c 100644 --- a/io_8cpp_source.html +++ b/io_8cpp_source.html @@ -113,1919 +113,1940 @@
                                                                                                                                                                          24 #include "attitude-estimators.hpp"
                                                                                                                                                                          25 #include "attitude-utils.hpp"
                                                                                                                                                                          26 #include "databases.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          27 #include "star-id.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          28 #include "star-utils.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          29 
                                                                                                                                                                          -
                                                                                                                                                                          30 namespace lost {
                                                                                                                                                                          -
                                                                                                                                                                          31 
                                                                                                                                                                          -
                                                                                                                                                                          33 UserSpecifiedOutputStream::UserSpecifiedOutputStream(std::string filePath, bool isBinary) {
                                                                                                                                                                          -
                                                                                                                                                                          34  if (isBinary && isatty(fileno(stdout)) && (filePath == "stdout" || filePath == "-")) {
                                                                                                                                                                          -
                                                                                                                                                                          35  std::cerr << "WARNING: output contains binary contents. Not printed to terminal." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          36  filePath = "/dev/null";
                                                                                                                                                                          -
                                                                                                                                                                          37  }
                                                                                                                                                                          -
                                                                                                                                                                          38 
                                                                                                                                                                          -
                                                                                                                                                                          39  if (filePath == "stdout" || filePath == "-") {
                                                                                                                                                                          -
                                                                                                                                                                          40  stream = &std::cout;
                                                                                                                                                                          -
                                                                                                                                                                          41  isFstream = false;
                                                                                                                                                                          -
                                                                                                                                                                          42  } else {
                                                                                                                                                                          -
                                                                                                                                                                          43  std::fstream *fs = new std::fstream();
                                                                                                                                                                          -
                                                                                                                                                                          44  fs->open(filePath, std::fstream::out);
                                                                                                                                                                          -
                                                                                                                                                                          45  stream = fs;
                                                                                                                                                                          -
                                                                                                                                                                          46  isFstream = true;
                                                                                                                                                                          -
                                                                                                                                                                          47  }
                                                                                                                                                                          -
                                                                                                                                                                          48 }
                                                                                                                                                                          -
                                                                                                                                                                          49 
                                                                                                                                                                          - -
                                                                                                                                                                          51  if (isFstream) {
                                                                                                                                                                          -
                                                                                                                                                                          52  delete stream;
                                                                                                                                                                          -
                                                                                                                                                                          53  }
                                                                                                                                                                          -
                                                                                                                                                                          54 }
                                                                                                                                                                          -
                                                                                                                                                                          55 
                                                                                                                                                                          -
                                                                                                                                                                          57 std::vector<CatalogStar> BscParse(std::string tsvPath) {
                                                                                                                                                                          -
                                                                                                                                                                          58  std::vector<CatalogStar> result;
                                                                                                                                                                          -
                                                                                                                                                                          59  FILE *file;
                                                                                                                                                                          -
                                                                                                                                                                          60  double raj2000, dej2000;
                                                                                                                                                                          -
                                                                                                                                                                          61  int magnitudeHigh, magnitudeLow, name;
                                                                                                                                                                          -
                                                                                                                                                                          62  char weird;
                                                                                                                                                                          -
                                                                                                                                                                          63 
                                                                                                                                                                          -
                                                                                                                                                                          64  file = fopen(tsvPath.c_str(), "r");
                                                                                                                                                                          -
                                                                                                                                                                          65  if (file == NULL) {
                                                                                                                                                                          -
                                                                                                                                                                          66  printf("Error opening file: %s\n", strerror(errno));
                                                                                                                                                                          -
                                                                                                                                                                          67  exit(1); // TODO: do we want any other error handling?
                                                                                                                                                                          -
                                                                                                                                                                          68  return result;
                                                                                                                                                                          -
                                                                                                                                                                          69  }
                                                                                                                                                                          -
                                                                                                                                                                          70 
                                                                                                                                                                          -
                                                                                                                                                                          71  while (EOF != fscanf(file, "%lf|%lf|%d|%c|%d.%d",
                                                                                                                                                                          -
                                                                                                                                                                          72  &raj2000, &dej2000,
                                                                                                                                                                          -
                                                                                                                                                                          73  &name, &weird,
                                                                                                                                                                          -
                                                                                                                                                                          74  &magnitudeHigh, &magnitudeLow)) {
                                                                                                                                                                          -
                                                                                                                                                                          75  result.push_back(CatalogStar(DegToRad(raj2000),
                                                                                                                                                                          -
                                                                                                                                                                          76  DegToRad(dej2000),
                                                                                                                                                                          -
                                                                                                                                                                          77  magnitudeHigh*100 + (magnitudeHigh < 0 ? -magnitudeLow : magnitudeLow),
                                                                                                                                                                          -
                                                                                                                                                                          78  name));
                                                                                                                                                                          -
                                                                                                                                                                          79  }
                                                                                                                                                                          -
                                                                                                                                                                          80 
                                                                                                                                                                          -
                                                                                                                                                                          81  fclose(file);
                                                                                                                                                                          -
                                                                                                                                                                          82  assert(result.size() > 9000); // basic sanity check
                                                                                                                                                                          -
                                                                                                                                                                          83  return result;
                                                                                                                                                                          -
                                                                                                                                                                          84 }
                                                                                                                                                                          -
                                                                                                                                                                          85 
                                                                                                                                                                          -
                                                                                                                                                                          86 #ifndef DEFAULT_BSC_PATH
                                                                                                                                                                          -
                                                                                                                                                                          87 #define DEFAULT_BSC_PATH "bright-star-catalog.tsv"
                                                                                                                                                                          -
                                                                                                                                                                          88 #endif
                                                                                                                                                                          -
                                                                                                                                                                          89 
                                                                                                                                                                          -
                                                                                                                                                                          91 const Catalog &CatalogRead() {
                                                                                                                                                                          -
                                                                                                                                                                          92  static bool readYet = false;
                                                                                                                                                                          -
                                                                                                                                                                          93  static std::vector<CatalogStar> catalog;
                                                                                                                                                                          -
                                                                                                                                                                          94 
                                                                                                                                                                          -
                                                                                                                                                                          95  if (!readYet) {
                                                                                                                                                                          -
                                                                                                                                                                          96  readYet = true;
                                                                                                                                                                          -
                                                                                                                                                                          97  char *tsvPath = getenv("LOST_BSC_PATH");
                                                                                                                                                                          -
                                                                                                                                                                          98  catalog = BscParse(tsvPath ? tsvPath : DEFAULT_BSC_PATH);
                                                                                                                                                                          -
                                                                                                                                                                          99  // perform essential narrowing
                                                                                                                                                                          -
                                                                                                                                                                          100  // remove all stars with exactly the same position as another, keeping the one with brighter magnitude
                                                                                                                                                                          -
                                                                                                                                                                          101  std::sort(catalog.begin(), catalog.end(), [](const CatalogStar &a, const CatalogStar &b) {
                                                                                                                                                                          -
                                                                                                                                                                          102  return a.spatial.x < b.spatial.x;
                                                                                                                                                                          -
                                                                                                                                                                          103  });
                                                                                                                                                                          -
                                                                                                                                                                          104  for (int i = catalog.size(); i > 0; i--) {
                                                                                                                                                                          -
                                                                                                                                                                          105  if ((catalog[i].spatial - catalog[i-1].spatial).Magnitude() < 5e-5) { // 70 stars removed at this threshold.
                                                                                                                                                                          -
                                                                                                                                                                          106  if (catalog[i].magnitude > catalog[i-1].magnitude) {
                                                                                                                                                                          -
                                                                                                                                                                          107  catalog.erase(catalog.begin() + i);
                                                                                                                                                                          -
                                                                                                                                                                          108  } else {
                                                                                                                                                                          -
                                                                                                                                                                          109  catalog.erase(catalog.begin() + i - 1);
                                                                                                                                                                          -
                                                                                                                                                                          110  }
                                                                                                                                                                          -
                                                                                                                                                                          111  }
                                                                                                                                                                          -
                                                                                                                                                                          112  }
                                                                                                                                                                          -
                                                                                                                                                                          113  }
                                                                                                                                                                          -
                                                                                                                                                                          114  return catalog;
                                                                                                                                                                          -
                                                                                                                                                                          115 }
                                                                                                                                                                          -
                                                                                                                                                                          116 
                                                                                                                                                                          -
                                                                                                                                                                          119 unsigned char *SurfaceToGrayscaleImage(cairo_surface_t *cairoSurface) {
                                                                                                                                                                          -
                                                                                                                                                                          120  int width, height;
                                                                                                                                                                          -
                                                                                                                                                                          121  unsigned char *result;
                                                                                                                                                                          -
                                                                                                                                                                          122  uint32_t *cairoImage, pixel;
                                                                                                                                                                          -
                                                                                                                                                                          123 
                                                                                                                                                                          -
                                                                                                                                                                          124  if (cairo_image_surface_get_format(cairoSurface) != CAIRO_FORMAT_ARGB32 &&
                                                                                                                                                                          -
                                                                                                                                                                          125  cairo_image_surface_get_format(cairoSurface) != CAIRO_FORMAT_RGB24) {
                                                                                                                                                                          -
                                                                                                                                                                          126  puts("Can't convert weird image formats to grayscale.");
                                                                                                                                                                          -
                                                                                                                                                                          127  return NULL;
                                                                                                                                                                          -
                                                                                                                                                                          128  }
                                                                                                                                                                          -
                                                                                                                                                                          129 
                                                                                                                                                                          -
                                                                                                                                                                          130  width = cairo_image_surface_get_width(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          131  height = cairo_image_surface_get_height(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          132 
                                                                                                                                                                          -
                                                                                                                                                                          133  result = new unsigned char[width*height];
                                                                                                                                                                          -
                                                                                                                                                                          134  cairoImage = (uint32_t *)cairo_image_surface_get_data(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          135 
                                                                                                                                                                          -
                                                                                                                                                                          136  for (int i = 0; i < height * width; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          137  pixel = cairoImage[i];
                                                                                                                                                                          -
                                                                                                                                                                          138  // use "luminosity" method of grayscaling
                                                                                                                                                                          -
                                                                                                                                                                          139  result[i] = round(
                                                                                                                                                                          -
                                                                                                                                                                          140  (pixel>>16 &0xFF) *0.21 +
                                                                                                                                                                          -
                                                                                                                                                                          141  (pixel>>8 &0xFF) *0.71 +
                                                                                                                                                                          -
                                                                                                                                                                          142  (pixel &0xFF) *0.07);
                                                                                                                                                                          -
                                                                                                                                                                          143  }
                                                                                                                                                                          -
                                                                                                                                                                          144 
                                                                                                                                                                          -
                                                                                                                                                                          145  return result;
                                                                                                                                                                          -
                                                                                                                                                                          146 }
                                                                                                                                                                          -
                                                                                                                                                                          147 
                                                                                                                                                                          -
                                                                                                                                                                          148 cairo_surface_t *GrayscaleImageToSurface(const unsigned char *image,
                                                                                                                                                                          -
                                                                                                                                                                          149  const int width, const int height) {
                                                                                                                                                                          -
                                                                                                                                                                          150  // cairo's 8-bit type isn't BW, it's an alpha channel only, which would look a bit weird lol
                                                                                                                                                                          -
                                                                                                                                                                          151  cairo_surface_t *result = cairo_image_surface_create(CAIRO_FORMAT_RGB24, width, height);
                                                                                                                                                                          -
                                                                                                                                                                          152  uint32_t *resultData = (uint32_t *)cairo_image_surface_get_data(result);
                                                                                                                                                                          -
                                                                                                                                                                          153  // hopefully unnecessary
                                                                                                                                                                          -
                                                                                                                                                                          154  cairo_surface_flush(result);
                                                                                                                                                                          -
                                                                                                                                                                          155  for (long i = 0; i < width * height; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          156  // equal r, g, and b components
                                                                                                                                                                          -
                                                                                                                                                                          157  resultData[i] = (image[i] << 16) + (image[i] << 8) + (image[i]);
                                                                                                                                                                          -
                                                                                                                                                                          158  }
                                                                                                                                                                          -
                                                                                                                                                                          159  cairo_surface_mark_dirty(result);
                                                                                                                                                                          -
                                                                                                                                                                          160  return result;
                                                                                                                                                                          -
                                                                                                                                                                          161 }
                                                                                                                                                                          -
                                                                                                                                                                          162 
                                                                                                                                                                          -
                                                                                                                                                                          170 void SurfacePlot(std::string description,
                                                                                                                                                                          -
                                                                                                                                                                          171  cairo_surface_t *cairoSurface,
                                                                                                                                                                          -
                                                                                                                                                                          172  const Stars &stars,
                                                                                                                                                                          -
                                                                                                                                                                          173  const StarIdentifiers *starIds,
                                                                                                                                                                          -
                                                                                                                                                                          174  const Catalog *catalog,
                                                                                                                                                                          -
                                                                                                                                                                          175  const Attitude *attitude,
                                                                                                                                                                          -
                                                                                                                                                                          176  double red,
                                                                                                                                                                          -
                                                                                                                                                                          177  double green,
                                                                                                                                                                          -
                                                                                                                                                                          178  double blue,
                                                                                                                                                                          -
                                                                                                                                                                          179  double alpha,
                                                                                                                                                                          -
                                                                                                                                                                          180  // if true, don't use catalog name
                                                                                                                                                                          -
                                                                                                                                                                          181  bool rawStarIndexes = false) {
                                                                                                                                                                          -
                                                                                                                                                                          182  cairo_t *cairoCtx;
                                                                                                                                                                          -
                                                                                                                                                                          183  std::string metadata = description + " ";
                                                                                                                                                                          -
                                                                                                                                                                          184 
                                                                                                                                                                          -
                                                                                                                                                                          185  cairoCtx = cairo_create(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          186  cairo_set_source_rgba(cairoCtx, red, green, blue, alpha);
                                                                                                                                                                          -
                                                                                                                                                                          187  cairo_set_line_width(cairoCtx, 1.0);
                                                                                                                                                                          -
                                                                                                                                                                          188  cairo_set_antialias(cairoCtx, CAIRO_ANTIALIAS_NONE);
                                                                                                                                                                          -
                                                                                                                                                                          189  cairo_font_options_t *cairoFontOptions = cairo_font_options_create();
                                                                                                                                                                          -
                                                                                                                                                                          190  cairo_font_options_set_antialias(cairoFontOptions, CAIRO_ANTIALIAS_NONE);
                                                                                                                                                                          -
                                                                                                                                                                          191  cairo_set_font_options(cairoCtx, cairoFontOptions);
                                                                                                                                                                          -
                                                                                                                                                                          192  cairo_text_extents_t cairoTextExtents;
                                                                                                                                                                          -
                                                                                                                                                                          193  cairo_text_extents(cairoCtx, "1234567890", &cairoTextExtents);
                                                                                                                                                                          -
                                                                                                                                                                          194  double textHeight = cairoTextExtents.height;
                                                                                                                                                                          -
                                                                                                                                                                          195 
                                                                                                                                                                          -
                                                                                                                                                                          196  for (const Star &centroid : stars) {
                                                                                                                                                                          -
                                                                                                                                                                          197  // plot the box around the star
                                                                                                                                                                          -
                                                                                                                                                                          198  if (centroid.radiusX > 0.0f) {
                                                                                                                                                                          -
                                                                                                                                                                          199  float radiusX = centroid.radiusX;
                                                                                                                                                                          -
                                                                                                                                                                          200  float radiusY = centroid.radiusY > 0.0f ?
                                                                                                                                                                          -
                                                                                                                                                                          201  centroid.radiusY : radiusX;
                                                                                                                                                                          -
                                                                                                                                                                          202 
                                                                                                                                                                          -
                                                                                                                                                                          203  // Rectangles should be entirely /outside/ the radius of the star, so the star is
                                                                                                                                                                          -
                                                                                                                                                                          204  // fully visible.
                                                                                                                                                                          -
                                                                                                                                                                          205  cairo_rectangle(cairoCtx,
                                                                                                                                                                          -
                                                                                                                                                                          206  centroid.position.x - radiusX,
                                                                                                                                                                          -
                                                                                                                                                                          207  centroid.position.y - radiusY,
                                                                                                                                                                          -
                                                                                                                                                                          208  radiusX * 2,
                                                                                                                                                                          -
                                                                                                                                                                          209  radiusY * 2);
                                                                                                                                                                          -
                                                                                                                                                                          210  cairo_stroke(cairoCtx);
                                                                                                                                                                          -
                                                                                                                                                                          211  } else {
                                                                                                                                                                          -
                                                                                                                                                                          212  cairo_rectangle(cairoCtx,
                                                                                                                                                                          -
                                                                                                                                                                          213  floor(centroid.position.x),
                                                                                                                                                                          -
                                                                                                                                                                          214  floor(centroid.position.y),
                                                                                                                                                                          -
                                                                                                                                                                          215  1, 1);
                                                                                                                                                                          -
                                                                                                                                                                          216  cairo_fill(cairoCtx);
                                                                                                                                                                          -
                                                                                                                                                                          217  }
                                                                                                                                                                          -
                                                                                                                                                                          218  }
                                                                                                                                                                          -
                                                                                                                                                                          219 
                                                                                                                                                                          -
                                                                                                                                                                          220  metadata += std::to_string(stars.size()) + " centroids ";
                                                                                                                                                                          -
                                                                                                                                                                          221 
                                                                                                                                                                          -
                                                                                                                                                                          222  if (starIds != NULL) {
                                                                                                                                                                          -
                                                                                                                                                                          223  assert(catalog != NULL);
                                                                                                                                                                          -
                                                                                                                                                                          224 
                                                                                                                                                                          -
                                                                                                                                                                          225  for (const StarIdentifier &starId : *starIds) {
                                                                                                                                                                          -
                                                                                                                                                                          226  const Star &centroid = stars[starId.starIndex];
                                                                                                                                                                          -
                                                                                                                                                                          227  cairo_move_to(cairoCtx,
                                                                                                                                                                          -
                                                                                                                                                                          228 
                                                                                                                                                                          -
                                                                                                                                                                          229  centroid.radiusX > 0.0f
                                                                                                                                                                          -
                                                                                                                                                                          230  ? centroid.position.x + centroid.radiusX + 3
                                                                                                                                                                          -
                                                                                                                                                                          231  : centroid.position.x + 8,
                                                                                                                                                                          +
                                                                                                                                                                          27 #include "decimal.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          28 #include "star-id.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          29 #include "star-utils.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          30 
                                                                                                                                                                          +
                                                                                                                                                                          31 namespace lost {
                                                                                                                                                                          +
                                                                                                                                                                          32 
                                                                                                                                                                          +
                                                                                                                                                                          34 UserSpecifiedOutputStream::UserSpecifiedOutputStream(std::string filePath, bool isBinary) {
                                                                                                                                                                          +
                                                                                                                                                                          35  if (isBinary && isatty(fileno(stdout)) && (filePath == "stdout" || filePath == "-")) {
                                                                                                                                                                          +
                                                                                                                                                                          36  std::cerr << "WARNING: output contains binary contents. Not printed to terminal." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          37  filePath = "/dev/null";
                                                                                                                                                                          +
                                                                                                                                                                          38  }
                                                                                                                                                                          +
                                                                                                                                                                          39 
                                                                                                                                                                          +
                                                                                                                                                                          40  if (filePath == "stdout" || filePath == "-") {
                                                                                                                                                                          +
                                                                                                                                                                          41  stream = &std::cout;
                                                                                                                                                                          +
                                                                                                                                                                          42  isFstream = false;
                                                                                                                                                                          +
                                                                                                                                                                          43  } else {
                                                                                                                                                                          +
                                                                                                                                                                          44  std::fstream *fs = new std::fstream();
                                                                                                                                                                          +
                                                                                                                                                                          45  fs->open(filePath, std::fstream::out);
                                                                                                                                                                          +
                                                                                                                                                                          46  stream = fs;
                                                                                                                                                                          +
                                                                                                                                                                          47  isFstream = true;
                                                                                                                                                                          +
                                                                                                                                                                          48  }
                                                                                                                                                                          +
                                                                                                                                                                          49 }
                                                                                                                                                                          +
                                                                                                                                                                          50 
                                                                                                                                                                          + +
                                                                                                                                                                          52  if (isFstream) {
                                                                                                                                                                          +
                                                                                                                                                                          53  delete stream;
                                                                                                                                                                          +
                                                                                                                                                                          54  }
                                                                                                                                                                          +
                                                                                                                                                                          55 }
                                                                                                                                                                          +
                                                                                                                                                                          56 
                                                                                                                                                                          +
                                                                                                                                                                          58 std::vector<CatalogStar> BscParse(std::string tsvPath) {
                                                                                                                                                                          +
                                                                                                                                                                          59  std::vector<CatalogStar> result;
                                                                                                                                                                          +
                                                                                                                                                                          60  FILE *file;
                                                                                                                                                                          +
                                                                                                                                                                          61  decimal raj2000, dej2000;
                                                                                                                                                                          +
                                                                                                                                                                          62  int magnitudeHigh, magnitudeLow, name;
                                                                                                                                                                          +
                                                                                                                                                                          63  char weird;
                                                                                                                                                                          +
                                                                                                                                                                          64 
                                                                                                                                                                          +
                                                                                                                                                                          65  file = fopen(tsvPath.c_str(), "r");
                                                                                                                                                                          +
                                                                                                                                                                          66 
                                                                                                                                                                          +
                                                                                                                                                                          67  if (file == NULL) {
                                                                                                                                                                          +
                                                                                                                                                                          68  printf("Error opening file: %s\n", strerror(errno));
                                                                                                                                                                          +
                                                                                                                                                                          69  exit(1); // TODO: do we want any other error handling?
                                                                                                                                                                          +
                                                                                                                                                                          70  return result;
                                                                                                                                                                          +
                                                                                                                                                                          71  }
                                                                                                                                                                          +
                                                                                                                                                                          72 
                                                                                                                                                                          +
                                                                                                                                                                          73  #ifdef LOST_FLOAT_MODE
                                                                                                                                                                          +
                                                                                                                                                                          74  std::string format = "%f|%f|%d|%c|%d.%d";
                                                                                                                                                                          +
                                                                                                                                                                          75  #else
                                                                                                                                                                          +
                                                                                                                                                                          76  std::string format = "%lf|%lf|%d|%c|%d.%d";
                                                                                                                                                                          +
                                                                                                                                                                          77  #endif
                                                                                                                                                                          +
                                                                                                                                                                          78 
                                                                                                                                                                          +
                                                                                                                                                                          79  while (EOF != fscanf(file, format.c_str(),
                                                                                                                                                                          +
                                                                                                                                                                          80  &raj2000, &dej2000,
                                                                                                                                                                          +
                                                                                                                                                                          81  &name, &weird,
                                                                                                                                                                          +
                                                                                                                                                                          82  &magnitudeHigh, &magnitudeLow)) {
                                                                                                                                                                          +
                                                                                                                                                                          83  result.push_back(CatalogStar(DegToRad(raj2000),
                                                                                                                                                                          +
                                                                                                                                                                          84  DegToRad(dej2000),
                                                                                                                                                                          +
                                                                                                                                                                          85  magnitudeHigh*100 + (magnitudeHigh < 0 ? -magnitudeLow : magnitudeLow),
                                                                                                                                                                          +
                                                                                                                                                                          86  name));
                                                                                                                                                                          +
                                                                                                                                                                          87  }
                                                                                                                                                                          +
                                                                                                                                                                          88 
                                                                                                                                                                          +
                                                                                                                                                                          89  fclose(file);
                                                                                                                                                                          +
                                                                                                                                                                          90  assert(result.size() > 9000); // basic sanity check
                                                                                                                                                                          +
                                                                                                                                                                          91  return result;
                                                                                                                                                                          +
                                                                                                                                                                          92 }
                                                                                                                                                                          +
                                                                                                                                                                          93 
                                                                                                                                                                          +
                                                                                                                                                                          94 #ifndef DEFAULT_BSC_PATH
                                                                                                                                                                          +
                                                                                                                                                                          95 #define DEFAULT_BSC_PATH "bright-star-catalog.tsv"
                                                                                                                                                                          +
                                                                                                                                                                          96 #endif
                                                                                                                                                                          +
                                                                                                                                                                          97 
                                                                                                                                                                          +
                                                                                                                                                                          99 const Catalog &CatalogRead() {
                                                                                                                                                                          +
                                                                                                                                                                          100  static bool readYet = false;
                                                                                                                                                                          +
                                                                                                                                                                          101  static std::vector<CatalogStar> catalog;
                                                                                                                                                                          +
                                                                                                                                                                          102 
                                                                                                                                                                          +
                                                                                                                                                                          103  if (!readYet) {
                                                                                                                                                                          +
                                                                                                                                                                          104  readYet = true;
                                                                                                                                                                          +
                                                                                                                                                                          105  char *tsvPath = getenv("LOST_BSC_PATH");
                                                                                                                                                                          +
                                                                                                                                                                          106  catalog = BscParse(tsvPath ? tsvPath : DEFAULT_BSC_PATH);
                                                                                                                                                                          +
                                                                                                                                                                          107  // perform essential narrowing
                                                                                                                                                                          +
                                                                                                                                                                          108  // remove all stars with exactly the same position as another, keeping the one with brighter magnitude
                                                                                                                                                                          +
                                                                                                                                                                          109  std::sort(catalog.begin(), catalog.end(), [](const CatalogStar &a, const CatalogStar &b) {
                                                                                                                                                                          +
                                                                                                                                                                          110  return a.spatial.x < b.spatial.x;
                                                                                                                                                                          +
                                                                                                                                                                          111  });
                                                                                                                                                                          +
                                                                                                                                                                          112  for (int i = catalog.size(); i > 0; i--) {
                                                                                                                                                                          +
                                                                                                                                                                          113  if ((catalog[i].spatial - catalog[i-1].spatial).Magnitude() < DECIMAL(5e-5)) { // 70 stars removed at this threshold.
                                                                                                                                                                          +
                                                                                                                                                                          114  if (catalog[i].magnitude > catalog[i-1].magnitude) {
                                                                                                                                                                          +
                                                                                                                                                                          115  catalog.erase(catalog.begin() + i);
                                                                                                                                                                          +
                                                                                                                                                                          116  } else {
                                                                                                                                                                          +
                                                                                                                                                                          117  catalog.erase(catalog.begin() + i - 1);
                                                                                                                                                                          +
                                                                                                                                                                          118  }
                                                                                                                                                                          +
                                                                                                                                                                          119  }
                                                                                                                                                                          +
                                                                                                                                                                          120  }
                                                                                                                                                                          +
                                                                                                                                                                          121  }
                                                                                                                                                                          +
                                                                                                                                                                          122  return catalog;
                                                                                                                                                                          +
                                                                                                                                                                          123 }
                                                                                                                                                                          +
                                                                                                                                                                          124 
                                                                                                                                                                          +
                                                                                                                                                                          127 unsigned char *SurfaceToGrayscaleImage(cairo_surface_t *cairoSurface) {
                                                                                                                                                                          +
                                                                                                                                                                          128  int width, height;
                                                                                                                                                                          +
                                                                                                                                                                          129  unsigned char *result;
                                                                                                                                                                          +
                                                                                                                                                                          130  uint32_t *cairoImage, pixel;
                                                                                                                                                                          +
                                                                                                                                                                          131 
                                                                                                                                                                          +
                                                                                                                                                                          132  if (cairo_image_surface_get_format(cairoSurface) != CAIRO_FORMAT_ARGB32 &&
                                                                                                                                                                          +
                                                                                                                                                                          133  cairo_image_surface_get_format(cairoSurface) != CAIRO_FORMAT_RGB24) {
                                                                                                                                                                          +
                                                                                                                                                                          134  puts("Can't convert weird image formats to grayscale.");
                                                                                                                                                                          +
                                                                                                                                                                          135  return NULL;
                                                                                                                                                                          +
                                                                                                                                                                          136  }
                                                                                                                                                                          +
                                                                                                                                                                          137 
                                                                                                                                                                          +
                                                                                                                                                                          138  width = cairo_image_surface_get_width(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          139  height = cairo_image_surface_get_height(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          140 
                                                                                                                                                                          +
                                                                                                                                                                          141  result = new unsigned char[width*height];
                                                                                                                                                                          +
                                                                                                                                                                          142  cairoImage = (uint32_t *)cairo_image_surface_get_data(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          143 
                                                                                                                                                                          +
                                                                                                                                                                          144  for (int i = 0; i < height * width; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          145  pixel = cairoImage[i];
                                                                                                                                                                          +
                                                                                                                                                                          146  // use "luminosity" method of grayscaling
                                                                                                                                                                          +
                                                                                                                                                                          147  result[i] = round(
                                                                                                                                                                          +
                                                                                                                                                                          148  (pixel>>16 &0xFF) *0.21 +
                                                                                                                                                                          +
                                                                                                                                                                          149  (pixel>>8 &0xFF) *0.71 +
                                                                                                                                                                          +
                                                                                                                                                                          150  (pixel &0xFF) *0.07);
                                                                                                                                                                          +
                                                                                                                                                                          151  }
                                                                                                                                                                          +
                                                                                                                                                                          152 
                                                                                                                                                                          +
                                                                                                                                                                          153  return result;
                                                                                                                                                                          +
                                                                                                                                                                          154 }
                                                                                                                                                                          +
                                                                                                                                                                          155 
                                                                                                                                                                          +
                                                                                                                                                                          156 cairo_surface_t *GrayscaleImageToSurface(const unsigned char *image,
                                                                                                                                                                          +
                                                                                                                                                                          157  const int width, const int height) {
                                                                                                                                                                          +
                                                                                                                                                                          158  // cairo's 8-bit type isn't BW, it's an alpha channel only, which would look a bit weird lol
                                                                                                                                                                          +
                                                                                                                                                                          159  cairo_surface_t *result = cairo_image_surface_create(CAIRO_FORMAT_RGB24, width, height);
                                                                                                                                                                          +
                                                                                                                                                                          160  uint32_t *resultData = (uint32_t *)cairo_image_surface_get_data(result);
                                                                                                                                                                          +
                                                                                                                                                                          161  // hopefully unnecessary
                                                                                                                                                                          +
                                                                                                                                                                          162  cairo_surface_flush(result);
                                                                                                                                                                          +
                                                                                                                                                                          163  for (long i = 0; i < width * height; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          164  // equal r, g, and b components
                                                                                                                                                                          +
                                                                                                                                                                          165  resultData[i] = (image[i] << 16) + (image[i] << 8) + (image[i]);
                                                                                                                                                                          +
                                                                                                                                                                          166  }
                                                                                                                                                                          +
                                                                                                                                                                          167  cairo_surface_mark_dirty(result);
                                                                                                                                                                          +
                                                                                                                                                                          168  return result;
                                                                                                                                                                          +
                                                                                                                                                                          169 }
                                                                                                                                                                          +
                                                                                                                                                                          170 
                                                                                                                                                                          +
                                                                                                                                                                          178 void SurfacePlot(std::string description,
                                                                                                                                                                          +
                                                                                                                                                                          179  cairo_surface_t *cairoSurface,
                                                                                                                                                                          +
                                                                                                                                                                          180  const Stars &stars,
                                                                                                                                                                          +
                                                                                                                                                                          181  const StarIdentifiers *starIds,
                                                                                                                                                                          +
                                                                                                                                                                          182  const Catalog *catalog,
                                                                                                                                                                          +
                                                                                                                                                                          183  const Attitude *attitude,
                                                                                                                                                                          +
                                                                                                                                                                          184  double red,
                                                                                                                                                                          +
                                                                                                                                                                          185  double green,
                                                                                                                                                                          +
                                                                                                                                                                          186  double blue,
                                                                                                                                                                          +
                                                                                                                                                                          187  double alpha,
                                                                                                                                                                          +
                                                                                                                                                                          188  // if true, don't use catalog name
                                                                                                                                                                          +
                                                                                                                                                                          189  bool rawStarIndexes = false) {
                                                                                                                                                                          +
                                                                                                                                                                          190  cairo_t *cairoCtx;
                                                                                                                                                                          +
                                                                                                                                                                          191  std::string metadata = description + " ";
                                                                                                                                                                          +
                                                                                                                                                                          192 
                                                                                                                                                                          +
                                                                                                                                                                          193  cairoCtx = cairo_create(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          194  cairo_set_source_rgba(cairoCtx, red, green, blue, alpha);
                                                                                                                                                                          +
                                                                                                                                                                          195  cairo_set_line_width(cairoCtx, 1.0);
                                                                                                                                                                          +
                                                                                                                                                                          196  cairo_set_antialias(cairoCtx, CAIRO_ANTIALIAS_NONE);
                                                                                                                                                                          +
                                                                                                                                                                          197  cairo_font_options_t *cairoFontOptions = cairo_font_options_create();
                                                                                                                                                                          +
                                                                                                                                                                          198  cairo_font_options_set_antialias(cairoFontOptions, CAIRO_ANTIALIAS_NONE);
                                                                                                                                                                          +
                                                                                                                                                                          199  cairo_set_font_options(cairoCtx, cairoFontOptions);
                                                                                                                                                                          +
                                                                                                                                                                          200  cairo_text_extents_t cairoTextExtents;
                                                                                                                                                                          +
                                                                                                                                                                          201  cairo_text_extents(cairoCtx, "1234567890", &cairoTextExtents);
                                                                                                                                                                          +
                                                                                                                                                                          202  decimal textHeight = cairoTextExtents.height;
                                                                                                                                                                          +
                                                                                                                                                                          203 
                                                                                                                                                                          +
                                                                                                                                                                          204  for (const Star &centroid : stars) {
                                                                                                                                                                          +
                                                                                                                                                                          205  // plot the box around the star
                                                                                                                                                                          +
                                                                                                                                                                          206  if (centroid.radiusX > DECIMAL(0.0)) {
                                                                                                                                                                          +
                                                                                                                                                                          207  decimal radiusX = centroid.radiusX;
                                                                                                                                                                          +
                                                                                                                                                                          208  decimal radiusY = centroid.radiusY > DECIMAL(0.0) ?
                                                                                                                                                                          +
                                                                                                                                                                          209  centroid.radiusY : radiusX;
                                                                                                                                                                          +
                                                                                                                                                                          210 
                                                                                                                                                                          +
                                                                                                                                                                          211  // Rectangles should be entirely /outside/ the radius of the star, so the star is
                                                                                                                                                                          +
                                                                                                                                                                          212  // fully visible.
                                                                                                                                                                          +
                                                                                                                                                                          213  cairo_rectangle(cairoCtx,
                                                                                                                                                                          +
                                                                                                                                                                          214  centroid.position.x - radiusX,
                                                                                                                                                                          +
                                                                                                                                                                          215  centroid.position.y - radiusY,
                                                                                                                                                                          +
                                                                                                                                                                          216  radiusX * 2,
                                                                                                                                                                          +
                                                                                                                                                                          217  radiusY * 2);
                                                                                                                                                                          +
                                                                                                                                                                          218  cairo_stroke(cairoCtx);
                                                                                                                                                                          +
                                                                                                                                                                          219  } else {
                                                                                                                                                                          +
                                                                                                                                                                          220  cairo_rectangle(cairoCtx,
                                                                                                                                                                          +
                                                                                                                                                                          221  DECIMAL_FLOOR(centroid.position.x),
                                                                                                                                                                          +
                                                                                                                                                                          222  DECIMAL_FLOOR(centroid.position.y),
                                                                                                                                                                          +
                                                                                                                                                                          223  1, 1);
                                                                                                                                                                          +
                                                                                                                                                                          224  cairo_fill(cairoCtx);
                                                                                                                                                                          +
                                                                                                                                                                          225  }
                                                                                                                                                                          +
                                                                                                                                                                          226  }
                                                                                                                                                                          +
                                                                                                                                                                          227 
                                                                                                                                                                          +
                                                                                                                                                                          228  metadata += std::to_string(stars.size()) + " centroids ";
                                                                                                                                                                          +
                                                                                                                                                                          229 
                                                                                                                                                                          +
                                                                                                                                                                          230  if (starIds != NULL) {
                                                                                                                                                                          +
                                                                                                                                                                          231  assert(catalog != NULL);
                                                                                                                                                                          232 
                                                                                                                                                                          -
                                                                                                                                                                          233  centroid.radiusY > 0.0f
                                                                                                                                                                          -
                                                                                                                                                                          234  ? centroid.position.y - centroid.radiusY + textHeight
                                                                                                                                                                          -
                                                                                                                                                                          235  : centroid.position.y + 10);
                                                                                                                                                                          +
                                                                                                                                                                          233  for (const StarIdentifier &starId : *starIds) {
                                                                                                                                                                          +
                                                                                                                                                                          234  const Star &centroid = stars[starId.starIndex];
                                                                                                                                                                          +
                                                                                                                                                                          235  cairo_move_to(cairoCtx,
                                                                                                                                                                          236 
                                                                                                                                                                          -
                                                                                                                                                                          237  int plotName = rawStarIndexes ? starId.catalogIndex : (*catalog)[starId.catalogIndex].name;
                                                                                                                                                                          -
                                                                                                                                                                          238  cairo_show_text(cairoCtx, std::to_string(plotName).c_str());
                                                                                                                                                                          -
                                                                                                                                                                          239  }
                                                                                                                                                                          -
                                                                                                                                                                          240  metadata += std::to_string(starIds->size()) + " identified ";
                                                                                                                                                                          -
                                                                                                                                                                          241  }
                                                                                                                                                                          -
                                                                                                                                                                          242 
                                                                                                                                                                          -
                                                                                                                                                                          243  if (attitude != NULL) {
                                                                                                                                                                          -
                                                                                                                                                                          244  EulerAngles spherical = attitude->ToSpherical();
                                                                                                                                                                          -
                                                                                                                                                                          245  metadata +=
                                                                                                                                                                          -
                                                                                                                                                                          246  "RA: " + std::to_string(RadToDeg(spherical.ra)) + " " +
                                                                                                                                                                          -
                                                                                                                                                                          247  "DE: " + std::to_string(RadToDeg(spherical.de)) + " " +
                                                                                                                                                                          -
                                                                                                                                                                          248  "Roll: " + std::to_string(RadToDeg(spherical.roll)) + " ";
                                                                                                                                                                          +
                                                                                                                                                                          237  centroid.radiusX > DECIMAL(0.0)
                                                                                                                                                                          +
                                                                                                                                                                          238  ? centroid.position.x + centroid.radiusX + 3
                                                                                                                                                                          +
                                                                                                                                                                          239  : centroid.position.x + 8,
                                                                                                                                                                          +
                                                                                                                                                                          240 
                                                                                                                                                                          +
                                                                                                                                                                          241  centroid.radiusY > DECIMAL(0.0)
                                                                                                                                                                          +
                                                                                                                                                                          242  ? centroid.position.y - centroid.radiusY + textHeight
                                                                                                                                                                          +
                                                                                                                                                                          243  : centroid.position.y + 10);
                                                                                                                                                                          +
                                                                                                                                                                          244 
                                                                                                                                                                          +
                                                                                                                                                                          245  int plotName = rawStarIndexes ? starId.catalogIndex : (*catalog)[starId.catalogIndex].name;
                                                                                                                                                                          +
                                                                                                                                                                          246  cairo_show_text(cairoCtx, std::to_string(plotName).c_str());
                                                                                                                                                                          +
                                                                                                                                                                          247  }
                                                                                                                                                                          +
                                                                                                                                                                          248  metadata += std::to_string(starIds->size()) + " identified ";
                                                                                                                                                                          249  }
                                                                                                                                                                          250 
                                                                                                                                                                          -
                                                                                                                                                                          251  // plot metadata
                                                                                                                                                                          -
                                                                                                                                                                          252  cairo_move_to(cairoCtx, 3, 3 + textHeight);
                                                                                                                                                                          -
                                                                                                                                                                          253  cairo_show_text(cairoCtx, metadata.c_str());
                                                                                                                                                                          -
                                                                                                                                                                          254 
                                                                                                                                                                          -
                                                                                                                                                                          255  cairo_font_options_destroy(cairoFontOptions);
                                                                                                                                                                          -
                                                                                                                                                                          256  cairo_destroy(cairoCtx);
                                                                                                                                                                          -
                                                                                                                                                                          257 }
                                                                                                                                                                          +
                                                                                                                                                                          251  if (attitude != NULL) {
                                                                                                                                                                          +
                                                                                                                                                                          252  EulerAngles spherical = attitude->ToSpherical();
                                                                                                                                                                          +
                                                                                                                                                                          253  metadata +=
                                                                                                                                                                          +
                                                                                                                                                                          254  "RA: " + std::to_string(RadToDeg(spherical.ra)) + " " +
                                                                                                                                                                          +
                                                                                                                                                                          255  "DE: " + std::to_string(RadToDeg(spherical.de)) + " " +
                                                                                                                                                                          +
                                                                                                                                                                          256  "Roll: " + std::to_string(RadToDeg(spherical.roll)) + " ";
                                                                                                                                                                          +
                                                                                                                                                                          257  }
                                                                                                                                                                          258 
                                                                                                                                                                          -
                                                                                                                                                                          259 // ALGORITHM PROMPTERS
                                                                                                                                                                          -
                                                                                                                                                                          260 typedef CentroidAlgorithm *(*CentroidAlgorithmFactory)();
                                                                                                                                                                          -
                                                                                                                                                                          261 typedef StarIdAlgorithm *(*StarIdAlgorithmFactory)();
                                                                                                                                                                          -
                                                                                                                                                                          262 typedef AttitudeEstimationAlgorithm *(*AttitudeEstimationAlgorithmFactory)();
                                                                                                                                                                          -
                                                                                                                                                                          263 
                                                                                                                                                                          -
                                                                                                                                                                          264 typedef StarIdAlgorithm *(*StarIdAlgorithmFactory)();
                                                                                                                                                                          -
                                                                                                                                                                          265 
                                                                                                                                                                          -
                                                                                                                                                                          266 typedef AttitudeEstimationAlgorithm *(*AttitudeEstimationAlgorithmFactory)();
                                                                                                                                                                          -
                                                                                                                                                                          267 
                                                                                                                                                                          - -
                                                                                                                                                                          269  return SerializeContext(values.swapIntegerEndianness, values.swapFloatEndianness);
                                                                                                                                                                          -
                                                                                                                                                                          270 }
                                                                                                                                                                          +
                                                                                                                                                                          259  // plot metadata
                                                                                                                                                                          +
                                                                                                                                                                          260  cairo_move_to(cairoCtx, 3, 3 + textHeight);
                                                                                                                                                                          +
                                                                                                                                                                          261  cairo_show_text(cairoCtx, metadata.c_str());
                                                                                                                                                                          +
                                                                                                                                                                          262 
                                                                                                                                                                          +
                                                                                                                                                                          263  cairo_font_options_destroy(cairoFontOptions);
                                                                                                                                                                          +
                                                                                                                                                                          264  cairo_destroy(cairoCtx);
                                                                                                                                                                          +
                                                                                                                                                                          265 }
                                                                                                                                                                          +
                                                                                                                                                                          266 
                                                                                                                                                                          +
                                                                                                                                                                          267 // ALGORITHM PROMPTERS
                                                                                                                                                                          +
                                                                                                                                                                          268 typedef CentroidAlgorithm *(*CentroidAlgorithmFactory)();
                                                                                                                                                                          +
                                                                                                                                                                          269 typedef StarIdAlgorithm *(*StarIdAlgorithmFactory)();
                                                                                                                                                                          +
                                                                                                                                                                          270 typedef AttitudeEstimationAlgorithm *(*AttitudeEstimationAlgorithmFactory)();
                                                                                                                                                                          271 
                                                                                                                                                                          - -
                                                                                                                                                                          273  MultiDatabaseDescriptor dbEntries;
                                                                                                                                                                          -
                                                                                                                                                                          274 
                                                                                                                                                                          -
                                                                                                                                                                          275  SerializeContext catalogSer = serFromDbValues(values);
                                                                                                                                                                          -
                                                                                                                                                                          276  // TODO decide why we have this inclMagnitude and inclName and if we should change that
                                                                                                                                                                          -
                                                                                                                                                                          277  SerializeCatalog(&catalogSer, catalog, false, true);
                                                                                                                                                                          -
                                                                                                                                                                          278  dbEntries.emplace_back(kCatalogMagicValue, catalogSer.buffer);
                                                                                                                                                                          +
                                                                                                                                                                          272 typedef StarIdAlgorithm *(*StarIdAlgorithmFactory)();
                                                                                                                                                                          +
                                                                                                                                                                          273 
                                                                                                                                                                          +
                                                                                                                                                                          274 typedef AttitudeEstimationAlgorithm *(*AttitudeEstimationAlgorithmFactory)();
                                                                                                                                                                          +
                                                                                                                                                                          275 
                                                                                                                                                                          + +
                                                                                                                                                                          277  return SerializeContext(values.swapIntegerEndianness, values.swapDecimalEndianness);
                                                                                                                                                                          +
                                                                                                                                                                          278 }
                                                                                                                                                                          279 
                                                                                                                                                                          -
                                                                                                                                                                          280  if (values.kvector) {
                                                                                                                                                                          -
                                                                                                                                                                          281  float minDistance = DegToRad(values.kvectorMinDistance);
                                                                                                                                                                          -
                                                                                                                                                                          282  float maxDistance = DegToRad(values.kvectorMaxDistance);
                                                                                                                                                                          -
                                                                                                                                                                          283  long numBins = values.kvectorNumDistanceBins;
                                                                                                                                                                          -
                                                                                                                                                                          284  SerializeContext ser = serFromDbValues(values);
                                                                                                                                                                          -
                                                                                                                                                                          285  SerializePairDistanceKVector(&ser, catalog, minDistance, maxDistance, numBins);
                                                                                                                                                                          -
                                                                                                                                                                          286  dbEntries.emplace_back(PairDistanceKVectorDatabase::kMagicValue, ser.buffer);
                                                                                                                                                                          -
                                                                                                                                                                          287  } else {
                                                                                                                                                                          -
                                                                                                                                                                          288  std::cerr << "No database builder selected -- no database generated." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          289  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          290  }
                                                                                                                                                                          -
                                                                                                                                                                          291 
                                                                                                                                                                          -
                                                                                                                                                                          292  return dbEntries;
                                                                                                                                                                          -
                                                                                                                                                                          293 }
                                                                                                                                                                          -
                                                                                                                                                                          294 
                                                                                                                                                                          -
                                                                                                                                                                          296 std::ostream &operator<<(std::ostream &os, const Camera &camera) {
                                                                                                                                                                          -
                                                                                                                                                                          297  os << "camera_focal_length " << camera.FocalLength() << std::endl
                                                                                                                                                                          -
                                                                                                                                                                          298  << "camera_fov " << camera.Fov() << std::endl
                                                                                                                                                                          -
                                                                                                                                                                          299  << "camera_resolution_x " << camera.XResolution() << std::endl
                                                                                                                                                                          -
                                                                                                                                                                          300  << "camera_resolution_y " << camera.YResolution() << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          301  // TODO: principal point
                                                                                                                                                                          -
                                                                                                                                                                          302  return os;
                                                                                                                                                                          -
                                                                                                                                                                          303 }
                                                                                                                                                                          -
                                                                                                                                                                          304 
                                                                                                                                                                          -
                                                                                                                                                                          305 // PIPELINE INPUT STUFF
                                                                                                                                                                          -
                                                                                                                                                                          306 
                                                                                                                                                                          -
                                                                                                                                                                          311 float FocalLengthFromOptions(const PipelineOptions &values, int xResolution) {
                                                                                                                                                                          -
                                                                                                                                                                          312  if ((values.pixelSize != -1) ^ (values.focalLength != 0)) {
                                                                                                                                                                          -
                                                                                                                                                                          313  std::cerr << "ERROR: Exactly one of --pixel-size or --focal-length were set." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          314  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          315  }
                                                                                                                                                                          -
                                                                                                                                                                          316 
                                                                                                                                                                          -
                                                                                                                                                                          317  // no surefire way to see if the fov was set on command line, so we just check if it was changed from default.
                                                                                                                                                                          -
                                                                                                                                                                          318  if (values.pixelSize != -1 && values.fov != 20) {
                                                                                                                                                                          -
                                                                                                                                                                          319  std::cerr << "ERROR: Both focal length and FOV were provided. We only need one of the two methods (pixel size + focal length, or fov) to determine fov, please only provide one." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          320  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          321  }
                                                                                                                                                                          -
                                                                                                                                                                          322 
                                                                                                                                                                          -
                                                                                                                                                                          323  if (values.pixelSize == -1) {
                                                                                                                                                                          -
                                                                                                                                                                          324  return FovToFocalLength(DegToRad(values.fov), xResolution);
                                                                                                                                                                          -
                                                                                                                                                                          325  } else {
                                                                                                                                                                          -
                                                                                                                                                                          326  return values.focalLength * 1000 / values.pixelSize;
                                                                                                                                                                          -
                                                                                                                                                                          327  }
                                                                                                                                                                          -
                                                                                                                                                                          328 }
                                                                                                                                                                          -
                                                                                                                                                                          329 
                                                                                                                                                                          -
                                                                                                                                                                          332 cairo_surface_t *PipelineInput::InputImageSurface() const {
                                                                                                                                                                          -
                                                                                                                                                                          333  const Image *inputImage = InputImage();
                                                                                                                                                                          -
                                                                                                                                                                          334  return GrayscaleImageToSurface(inputImage->image, inputImage->width, inputImage->height);
                                                                                                                                                                          -
                                                                                                                                                                          335 }
                                                                                                                                                                          -
                                                                                                                                                                          336 
                                                                                                                                                                          -
                                                                                                                                                                          337 // /**
                                                                                                                                                                          -
                                                                                                                                                                          338 // * Pipeline input for an image that's already been identified using Astrometry.net.
                                                                                                                                                                          -
                                                                                                                                                                          339 // * @todo Not implemented yet.
                                                                                                                                                                          -
                                                                                                                                                                          340 // */
                                                                                                                                                                          -
                                                                                                                                                                          341 // class AstrometryPipelineInput : public PipelineInput {
                                                                                                                                                                          -
                                                                                                                                                                          342 // public:
                                                                                                                                                                          -
                                                                                                                                                                          343 // explicit AstrometryPipelineInput(const std::string &path);
                                                                                                                                                                          + +
                                                                                                                                                                          281  MultiDatabaseDescriptor dbEntries;
                                                                                                                                                                          +
                                                                                                                                                                          282 
                                                                                                                                                                          +
                                                                                                                                                                          283  SerializeContext catalogSer = serFromDbValues(values);
                                                                                                                                                                          +
                                                                                                                                                                          284  // TODO decide why we have this inclMagnitude and inclName and if we should change that
                                                                                                                                                                          +
                                                                                                                                                                          285  SerializeCatalog(&catalogSer, catalog, false, true);
                                                                                                                                                                          +
                                                                                                                                                                          286  dbEntries.emplace_back(kCatalogMagicValue, catalogSer.buffer);
                                                                                                                                                                          +
                                                                                                                                                                          287 
                                                                                                                                                                          +
                                                                                                                                                                          288  if (values.kvector) {
                                                                                                                                                                          +
                                                                                                                                                                          289  decimal minDistance = DegToRad(values.kvectorMinDistance);
                                                                                                                                                                          +
                                                                                                                                                                          290  decimal maxDistance = DegToRad(values.kvectorMaxDistance);
                                                                                                                                                                          +
                                                                                                                                                                          291  long numBins = values.kvectorNumDistanceBins;
                                                                                                                                                                          +
                                                                                                                                                                          292  SerializeContext ser = serFromDbValues(values);
                                                                                                                                                                          +
                                                                                                                                                                          293  SerializePairDistanceKVector(&ser, catalog, minDistance, maxDistance, numBins);
                                                                                                                                                                          +
                                                                                                                                                                          294  dbEntries.emplace_back(PairDistanceKVectorDatabase::kMagicValue, ser.buffer);
                                                                                                                                                                          +
                                                                                                                                                                          295  } else {
                                                                                                                                                                          +
                                                                                                                                                                          296  std::cerr << "No database builder selected -- no database generated." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          297  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          298  }
                                                                                                                                                                          +
                                                                                                                                                                          299 
                                                                                                                                                                          +
                                                                                                                                                                          300  return dbEntries;
                                                                                                                                                                          +
                                                                                                                                                                          301 }
                                                                                                                                                                          +
                                                                                                                                                                          302 
                                                                                                                                                                          +
                                                                                                                                                                          304 std::ostream &operator<<(std::ostream &os, const Camera &camera) {
                                                                                                                                                                          +
                                                                                                                                                                          305  os << "camera_focal_length " << camera.FocalLength() << std::endl
                                                                                                                                                                          +
                                                                                                                                                                          306  << "camera_fov " << camera.Fov() << std::endl
                                                                                                                                                                          +
                                                                                                                                                                          307  << "camera_resolution_x " << camera.XResolution() << std::endl
                                                                                                                                                                          +
                                                                                                                                                                          308  << "camera_resolution_y " << camera.YResolution() << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          309  // TODO: principal point
                                                                                                                                                                          +
                                                                                                                                                                          310  return os;
                                                                                                                                                                          +
                                                                                                                                                                          311 }
                                                                                                                                                                          +
                                                                                                                                                                          312 
                                                                                                                                                                          +
                                                                                                                                                                          313 // PIPELINE INPUT STUFF
                                                                                                                                                                          +
                                                                                                                                                                          314 
                                                                                                                                                                          +
                                                                                                                                                                          319 decimal FocalLengthFromOptions(const PipelineOptions &values, int xResolution) {
                                                                                                                                                                          +
                                                                                                                                                                          320  if ((values.pixelSize != -1) ^ (values.focalLength != 0)) {
                                                                                                                                                                          +
                                                                                                                                                                          321  std::cerr << "ERROR: Exactly one of --pixel-size or --focal-length were set." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          322  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          323  }
                                                                                                                                                                          +
                                                                                                                                                                          324 
                                                                                                                                                                          +
                                                                                                                                                                          325  // no surefire way to see if the fov was set on command line, so we just check if it was changed from default.
                                                                                                                                                                          +
                                                                                                                                                                          326  if (values.pixelSize != -1 && values.fov != 20) {
                                                                                                                                                                          +
                                                                                                                                                                          327  std::cerr << "ERROR: Both focal length and FOV were provided. We only need one of the two methods (pixel size + focal length, or fov) to determine fov, please only provide one." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          328  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          329  }
                                                                                                                                                                          +
                                                                                                                                                                          330 
                                                                                                                                                                          +
                                                                                                                                                                          331  if (values.pixelSize == -1) {
                                                                                                                                                                          +
                                                                                                                                                                          332  return FovToFocalLength(DegToRad(values.fov), xResolution);
                                                                                                                                                                          +
                                                                                                                                                                          333  } else {
                                                                                                                                                                          +
                                                                                                                                                                          334  return values.focalLength * 1000 / values.pixelSize;
                                                                                                                                                                          +
                                                                                                                                                                          335  }
                                                                                                                                                                          +
                                                                                                                                                                          336 }
                                                                                                                                                                          +
                                                                                                                                                                          337 
                                                                                                                                                                          +
                                                                                                                                                                          340 cairo_surface_t *PipelineInput::InputImageSurface() const {
                                                                                                                                                                          +
                                                                                                                                                                          341  const Image *inputImage = InputImage();
                                                                                                                                                                          +
                                                                                                                                                                          342  return GrayscaleImageToSurface(inputImage->image, inputImage->width, inputImage->height);
                                                                                                                                                                          +
                                                                                                                                                                          343 }
                                                                                                                                                                          344 
                                                                                                                                                                          -
                                                                                                                                                                          345 // const Image *InputImage() const { return &image; };
                                                                                                                                                                          -
                                                                                                                                                                          346 // const Attitude *InputAttitude() const { return &attitude; };
                                                                                                                                                                          -
                                                                                                                                                                          347 // private:
                                                                                                                                                                          -
                                                                                                                                                                          348 // Image image;
                                                                                                                                                                          -
                                                                                                                                                                          349 // Attitude attitude;
                                                                                                                                                                          -
                                                                                                                                                                          350 // };
                                                                                                                                                                          -
                                                                                                                                                                          351 
                                                                                                                                                                          -
                                                                                                                                                                          358 PngPipelineInput::PngPipelineInput(cairo_surface_t *cairoSurface, Camera camera, const Catalog &catalog)
                                                                                                                                                                          -
                                                                                                                                                                          359  : camera(camera), catalog(catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          360 
                                                                                                                                                                          -
                                                                                                                                                                          361  image.image = SurfaceToGrayscaleImage(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          362  image.width = cairo_image_surface_get_width(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          363  image.height = cairo_image_surface_get_height(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          364 }
                                                                                                                                                                          -
                                                                                                                                                                          365 
                                                                                                                                                                          - -
                                                                                                                                                                          367  delete[] image.image;
                                                                                                                                                                          -
                                                                                                                                                                          368 }
                                                                                                                                                                          -
                                                                                                                                                                          369 
                                                                                                                                                                          - -
                                                                                                                                                                          372  // I'm not sure why, but i can't get an initializer list to work here. Probably something to do
                                                                                                                                                                          -
                                                                                                                                                                          373  // with copying unique ptrs
                                                                                                                                                                          -
                                                                                                                                                                          374  PipelineInputList result;
                                                                                                                                                                          -
                                                                                                                                                                          375  cairo_surface_t *cairoSurface = NULL;
                                                                                                                                                                          -
                                                                                                                                                                          376  std::string pngPath = values.png;
                                                                                                                                                                          +
                                                                                                                                                                          345 // /**
                                                                                                                                                                          +
                                                                                                                                                                          346 // * Pipeline input for an image that's already been identified using Astrometry.net.
                                                                                                                                                                          +
                                                                                                                                                                          347 // * @todo Not implemented yet.
                                                                                                                                                                          +
                                                                                                                                                                          348 // */
                                                                                                                                                                          +
                                                                                                                                                                          349 // class AstrometryPipelineInput : public PipelineInput {
                                                                                                                                                                          +
                                                                                                                                                                          350 // public:
                                                                                                                                                                          +
                                                                                                                                                                          351 // explicit AstrometryPipelineInput(const std::string &path);
                                                                                                                                                                          +
                                                                                                                                                                          352 
                                                                                                                                                                          +
                                                                                                                                                                          353 // const Image *InputImage() const { return &image; };
                                                                                                                                                                          +
                                                                                                                                                                          354 // const Attitude *InputAttitude() const { return &attitude; };
                                                                                                                                                                          +
                                                                                                                                                                          355 // private:
                                                                                                                                                                          +
                                                                                                                                                                          356 // Image image;
                                                                                                                                                                          +
                                                                                                                                                                          357 // Attitude attitude;
                                                                                                                                                                          +
                                                                                                                                                                          358 // };
                                                                                                                                                                          +
                                                                                                                                                                          359 
                                                                                                                                                                          +
                                                                                                                                                                          366 PngPipelineInput::PngPipelineInput(cairo_surface_t *cairoSurface, Camera camera, const Catalog &catalog)
                                                                                                                                                                          +
                                                                                                                                                                          367  : camera(camera), catalog(catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          368 
                                                                                                                                                                          +
                                                                                                                                                                          369  image.image = SurfaceToGrayscaleImage(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          370  image.width = cairo_image_surface_get_width(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          371  image.height = cairo_image_surface_get_height(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          372 }
                                                                                                                                                                          +
                                                                                                                                                                          373 
                                                                                                                                                                          + +
                                                                                                                                                                          375  delete[] image.image;
                                                                                                                                                                          +
                                                                                                                                                                          376 }
                                                                                                                                                                          377 
                                                                                                                                                                          -
                                                                                                                                                                          378  cairoSurface = cairo_image_surface_create_from_png(pngPath.c_str());
                                                                                                                                                                          -
                                                                                                                                                                          379  std::cerr << "PNG Read status: " << cairo_status_to_string(cairo_surface_status(cairoSurface)) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          380  if (cairoSurface == NULL || cairo_surface_status(cairoSurface) != CAIRO_STATUS_SUCCESS) {
                                                                                                                                                                          -
                                                                                                                                                                          381  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          382  }
                                                                                                                                                                          -
                                                                                                                                                                          383 
                                                                                                                                                                          -
                                                                                                                                                                          384  int xResolution = cairo_image_surface_get_width(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          385  int yResolution = cairo_image_surface_get_height(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          386  float focalLengthPixels = FocalLengthFromOptions(values, xResolution);
                                                                                                                                                                          -
                                                                                                                                                                          387  Camera cam = Camera(focalLengthPixels, xResolution, yResolution);
                                                                                                                                                                          -
                                                                                                                                                                          388 
                                                                                                                                                                          -
                                                                                                                                                                          389  result.push_back(std::unique_ptr<PipelineInput>(new PngPipelineInput(cairoSurface, cam, CatalogRead())));
                                                                                                                                                                          -
                                                                                                                                                                          390  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          391  return result;
                                                                                                                                                                          -
                                                                                                                                                                          392 }
                                                                                                                                                                          -
                                                                                                                                                                          393 
                                                                                                                                                                          -
                                                                                                                                                                          394 // AstrometryPipelineInput::AstrometryPipelineInput(const std::string &path) {
                                                                                                                                                                          -
                                                                                                                                                                          395 // // create from path, TODO
                                                                                                                                                                          -
                                                                                                                                                                          396 // }
                                                                                                                                                                          -
                                                                                                                                                                          397 
                                                                                                                                                                          -
                                                                                                                                                                          398 // PipelineInputList PromptAstrometryPipelineInput() {
                                                                                                                                                                          -
                                                                                                                                                                          399 // // TODO: why does it let us do a reference to an ephemeral return value?
                                                                                                                                                                          -
                                                                                                                                                                          400 // std::string path = Prompt<std::string>("Astrometry download directory");
                                                                                                                                                                          -
                                                                                                                                                                          401 // PipelineInputList result;
                                                                                                                                                                          -
                                                                                                                                                                          402 // result.push_back(std::unique_ptr<PipelineInput>(new AstrometryPipelineInput(path)));
                                                                                                                                                                          -
                                                                                                                                                                          403 // return result;
                                                                                                                                                                          + +
                                                                                                                                                                          380  // I'm not sure why, but i can't get an initializer list to work here. Probably something to do
                                                                                                                                                                          +
                                                                                                                                                                          381  // with copying unique ptrs
                                                                                                                                                                          +
                                                                                                                                                                          382  PipelineInputList result;
                                                                                                                                                                          +
                                                                                                                                                                          383  cairo_surface_t *cairoSurface = NULL;
                                                                                                                                                                          +
                                                                                                                                                                          384  std::string pngPath = values.png;
                                                                                                                                                                          +
                                                                                                                                                                          385 
                                                                                                                                                                          +
                                                                                                                                                                          386  cairoSurface = cairo_image_surface_create_from_png(pngPath.c_str());
                                                                                                                                                                          +
                                                                                                                                                                          387  std::cerr << "PNG Read status: " << cairo_status_to_string(cairo_surface_status(cairoSurface)) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          388  if (cairoSurface == NULL || cairo_surface_status(cairoSurface) != CAIRO_STATUS_SUCCESS) {
                                                                                                                                                                          +
                                                                                                                                                                          389  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          390  }
                                                                                                                                                                          +
                                                                                                                                                                          391 
                                                                                                                                                                          +
                                                                                                                                                                          392  int xResolution = cairo_image_surface_get_width(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          393  int yResolution = cairo_image_surface_get_height(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          394  decimal focalLengthPixels = FocalLengthFromOptions(values, xResolution);
                                                                                                                                                                          +
                                                                                                                                                                          395  Camera cam = Camera(focalLengthPixels, xResolution, yResolution);
                                                                                                                                                                          +
                                                                                                                                                                          396 
                                                                                                                                                                          +
                                                                                                                                                                          397  result.push_back(std::unique_ptr<PipelineInput>(new PngPipelineInput(cairoSurface, cam, CatalogRead())));
                                                                                                                                                                          +
                                                                                                                                                                          398  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          399  return result;
                                                                                                                                                                          +
                                                                                                                                                                          400 }
                                                                                                                                                                          +
                                                                                                                                                                          401 
                                                                                                                                                                          +
                                                                                                                                                                          402 // AstrometryPipelineInput::AstrometryPipelineInput(const std::string &path) {
                                                                                                                                                                          +
                                                                                                                                                                          403 // // create from path, TODO
                                                                                                                                                                          404 // }
                                                                                                                                                                          405 
                                                                                                                                                                          -
                                                                                                                                                                          407 class GeneratedStar : public Star {
                                                                                                                                                                          -
                                                                                                                                                                          408 public:
                                                                                                                                                                          -
                                                                                                                                                                          409  GeneratedStar(Star star, float peakBrightness, Vec2 motionBlurDelta)
                                                                                                                                                                          -
                                                                                                                                                                          410  : Star(star), peakBrightness(peakBrightness), delta(motionBlurDelta) { };
                                                                                                                                                                          -
                                                                                                                                                                          411 
                                                                                                                                                                          - -
                                                                                                                                                                          414 
                                                                                                                                                                          - -
                                                                                                                                                                          417 };
                                                                                                                                                                          -
                                                                                                                                                                          418 
                                                                                                                                                                          -
                                                                                                                                                                          419 // In the equations for pixel brightness both with motion blur enabled and disabled, we don't need
                                                                                                                                                                          -
                                                                                                                                                                          420 // any constant scaling factor outside the integral because when d0=0, the brightness at the center
                                                                                                                                                                          -
                                                                                                                                                                          421 // will be zero without any scaling. The scaling factor you usually see on a Normal distribution is
                                                                                                                                                                          -
                                                                                                                                                                          422 // so that the Normal distribution integrates to one over the real line, making it a probability
                                                                                                                                                                          -
                                                                                                                                                                          423 // distribution. But we want the /peak/ to be one, not the integral. motion blur enabled
                                                                                                                                                                          -
                                                                                                                                                                          424 
                                                                                                                                                                          -
                                                                                                                                                                          435 static float MotionBlurredPixelBrightness(const Vec2 &pixel, const GeneratedStar &generatedStar,
                                                                                                                                                                          -
                                                                                                                                                                          436  float t, float stddev) {
                                                                                                                                                                          -
                                                                                                                                                                          437  const Vec2 &p0 = generatedStar.position;
                                                                                                                                                                          -
                                                                                                                                                                          438  const Vec2 &delta = generatedStar.delta;
                                                                                                                                                                          -
                                                                                                                                                                          439  const Vec2 d0 = p0 - pixel;
                                                                                                                                                                          -
                                                                                                                                                                          440  return generatedStar.peakBrightness
                                                                                                                                                                          -
                                                                                                                                                                          441  * stddev*sqrt(M_PI) / (sqrt(2)*delta.Magnitude())
                                                                                                                                                                          -
                                                                                                                                                                          442  * exp(pow(d0.x*delta.x + d0.y*delta.y, 2) / (2*stddev*stddev*delta.MagnitudeSq())
                                                                                                                                                                          -
                                                                                                                                                                          443  - d0.MagnitudeSq() / (2*stddev*stddev))
                                                                                                                                                                          -
                                                                                                                                                                          444  * erf((t*delta.MagnitudeSq() + d0.x*delta.x + d0.y*delta.y) / (stddev*sqrt(2)*delta.Magnitude()));
                                                                                                                                                                          -
                                                                                                                                                                          445 }
                                                                                                                                                                          -
                                                                                                                                                                          446 
                                                                                                                                                                          -
                                                                                                                                                                          448 static float StaticPixelBrightness(const Vec2 &pixel, const GeneratedStar &generatedStar,
                                                                                                                                                                          -
                                                                                                                                                                          449  float t, float stddev) {
                                                                                                                                                                          -
                                                                                                                                                                          450  const Vec2 d0 = generatedStar.position - pixel;
                                                                                                                                                                          -
                                                                                                                                                                          451  return generatedStar.peakBrightness * t * exp(-d0.MagnitudeSq() / (2 * stddev * stddev));
                                                                                                                                                                          -
                                                                                                                                                                          452 }
                                                                                                                                                                          -
                                                                                                                                                                          453 
                                                                                                                                                                          -
                                                                                                                                                                          463 static float CentroidImagingProbability(float mag, float cutoffMag) {
                                                                                                                                                                          -
                                                                                                                                                                          464  float brightness = MagToBrightness(mag);
                                                                                                                                                                          -
                                                                                                                                                                          465  float cutoffBrightness = MagToBrightness(cutoffMag);
                                                                                                                                                                          -
                                                                                                                                                                          466  float stddev = cutoffBrightness/5.0;
                                                                                                                                                                          -
                                                                                                                                                                          467  // CDF of Normal distribution with given mean and stddev
                                                                                                                                                                          -
                                                                                                                                                                          468  return 1 - (0.5 * (1 + erf((cutoffBrightness-brightness)/(stddev*sqrt(2.0)))));
                                                                                                                                                                          -
                                                                                                                                                                          469 }
                                                                                                                                                                          -
                                                                                                                                                                          470 
                                                                                                                                                                          -
                                                                                                                                                                          471 const int kMaxBrightness = 255;
                                                                                                                                                                          -
                                                                                                                                                                          472 
                                                                                                                                                                          - -
                                                                                                                                                                          478  Attitude attitude,
                                                                                                                                                                          -
                                                                                                                                                                          479  Camera camera,
                                                                                                                                                                          -
                                                                                                                                                                          480  std::default_random_engine *rng,
                                                                                                                                                                          -
                                                                                                                                                                          481 
                                                                                                                                                                          -
                                                                                                                                                                          482  bool centroidsOnly,
                                                                                                                                                                          -
                                                                                                                                                                          483  float zeroMagTotalPhotons,
                                                                                                                                                                          -
                                                                                                                                                                          484  float starSpreadStdDev,
                                                                                                                                                                          -
                                                                                                                                                                          485  float saturationPhotons,
                                                                                                                                                                          -
                                                                                                                                                                          486  float darkCurrent,
                                                                                                                                                                          -
                                                                                                                                                                          487  float readNoiseStdDev,
                                                                                                                                                                          -
                                                                                                                                                                          488  Attitude motionBlurDirection, // applied on top of the attitude
                                                                                                                                                                          -
                                                                                                                                                                          489  float exposureTime,
                                                                                                                                                                          -
                                                                                                                                                                          490  float readoutTime, // zero for no rolling shutter
                                                                                                                                                                          -
                                                                                                                                                                          491  bool shotNoise,
                                                                                                                                                                          -
                                                                                                                                                                          492  int oversampling,
                                                                                                                                                                          -
                                                                                                                                                                          493  int numFalseStars,
                                                                                                                                                                          -
                                                                                                                                                                          494  int falseStarMinMagnitude,
                                                                                                                                                                          -
                                                                                                                                                                          495  int falseStarMaxMagnitude,
                                                                                                                                                                          -
                                                                                                                                                                          496  int cutoffMag,
                                                                                                                                                                          -
                                                                                                                                                                          497  float perturbationStddev)
                                                                                                                                                                          -
                                                                                                                                                                          498  : camera(camera), attitude(attitude), catalog(catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          499 
                                                                                                                                                                          -
                                                                                                                                                                          500  assert(falseStarMaxMagnitude <= falseStarMinMagnitude);
                                                                                                                                                                          -
                                                                                                                                                                          501  assert(perturbationStddev >= 0.0);
                                                                                                                                                                          -
                                                                                                                                                                          502 
                                                                                                                                                                          -
                                                                                                                                                                          503  image.width = camera.XResolution();
                                                                                                                                                                          -
                                                                                                                                                                          504  image.height = camera.YResolution();
                                                                                                                                                                          -
                                                                                                                                                                          505  // number of true photons each pixel receives.
                                                                                                                                                                          -
                                                                                                                                                                          506 
                                                                                                                                                                          -
                                                                                                                                                                          507  assert(oversampling >= 1);
                                                                                                                                                                          -
                                                                                                                                                                          508  int oversamplingPerAxis = ceil(sqrt(oversampling));
                                                                                                                                                                          -
                                                                                                                                                                          509  if (oversamplingPerAxis*oversamplingPerAxis != oversampling) {
                                                                                                                                                                          -
                                                                                                                                                                          510  std::cerr << "WARNING: oversampling was not a perfect square. Rounding up to "
                                                                                                                                                                          -
                                                                                                                                                                          511  << oversamplingPerAxis*oversamplingPerAxis << "." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          512  }
                                                                                                                                                                          -
                                                                                                                                                                          513  assert(exposureTime > 0);
                                                                                                                                                                          -
                                                                                                                                                                          514  bool motionBlurEnabled = abs(motionBlurDirection.GetQuaternion().Angle()) > 0.001;
                                                                                                                                                                          -
                                                                                                                                                                          515  Quaternion motionBlurDirectionQ = motionBlurDirection.GetQuaternion();
                                                                                                                                                                          -
                                                                                                                                                                          516  // attitude at the middle of exposure time
                                                                                                                                                                          -
                                                                                                                                                                          517  Quaternion currentAttitude = attitude.GetQuaternion();
                                                                                                                                                                          -
                                                                                                                                                                          518  // attitude 1 time unit after middle of exposure
                                                                                                                                                                          -
                                                                                                                                                                          519  Quaternion futureAttitude = motionBlurDirectionQ*currentAttitude;
                                                                                                                                                                          -
                                                                                                                                                                          520  std::vector<GeneratedStar> generatedStars;
                                                                                                                                                                          -
                                                                                                                                                                          521 
                                                                                                                                                                          -
                                                                                                                                                                          522  // a star with 1 photon has peak density 1/(2pi sigma^2), because 2d gaussian formula. Then just
                                                                                                                                                                          -
                                                                                                                                                                          523  // multiply up proportionally!
                                                                                                                                                                          -
                                                                                                                                                                          524  float zeroMagPeakPhotonDensity = zeroMagTotalPhotons / (2*M_PI * starSpreadStdDev*starSpreadStdDev);
                                                                                                                                                                          -
                                                                                                                                                                          525 
                                                                                                                                                                          -
                                                                                                                                                                          526  // TODO: Is it 100% correct to just copy the standard deviation in both dimensions?
                                                                                                                                                                          -
                                                                                                                                                                          527  std::normal_distribution<float> perturbation1DDistribution(0.0, perturbationStddev);
                                                                                                                                                                          -
                                                                                                                                                                          528 
                                                                                                                                                                          -
                                                                                                                                                                          529  Catalog catalogWithFalse = catalog;
                                                                                                                                                                          -
                                                                                                                                                                          530 
                                                                                                                                                                          -
                                                                                                                                                                          531  std::uniform_real_distribution<float> uniformDistribution(0.0, 1.0);
                                                                                                                                                                          -
                                                                                                                                                                          532  std::uniform_int_distribution<int> magnitudeDistribution(falseStarMaxMagnitude, falseStarMinMagnitude);
                                                                                                                                                                          -
                                                                                                                                                                          533  for (int i = 0; i < numFalseStars; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          534  float ra = uniformDistribution(*rng) * 2*M_PI;
                                                                                                                                                                          -
                                                                                                                                                                          535  // to be uniform around sphere. Borel-Kolmogorov paradox is calling
                                                                                                                                                                          -
                                                                                                                                                                          536  float de = asin(uniformDistribution(*rng)*2 - 1);
                                                                                                                                                                          -
                                                                                                                                                                          537  float magnitude = magnitudeDistribution(*rng);
                                                                                                                                                                          +
                                                                                                                                                                          406 // PipelineInputList PromptAstrometryPipelineInput() {
                                                                                                                                                                          +
                                                                                                                                                                          407 // // TODO: why does it let us do a reference to an ephemeral return value?
                                                                                                                                                                          +
                                                                                                                                                                          408 // std::string path = Prompt<std::string>("Astrometry download directory");
                                                                                                                                                                          +
                                                                                                                                                                          409 // PipelineInputList result;
                                                                                                                                                                          +
                                                                                                                                                                          410 // result.push_back(std::unique_ptr<PipelineInput>(new AstrometryPipelineInput(path)));
                                                                                                                                                                          +
                                                                                                                                                                          411 // return result;
                                                                                                                                                                          +
                                                                                                                                                                          412 // }
                                                                                                                                                                          +
                                                                                                                                                                          413 
                                                                                                                                                                          +
                                                                                                                                                                          415 class GeneratedStar : public Star {
                                                                                                                                                                          +
                                                                                                                                                                          416 public:
                                                                                                                                                                          +
                                                                                                                                                                          417  GeneratedStar(Star star, decimal peakBrightness, Vec2 motionBlurDelta)
                                                                                                                                                                          +
                                                                                                                                                                          418  : Star(star), peakBrightness(peakBrightness), delta(motionBlurDelta) { };
                                                                                                                                                                          +
                                                                                                                                                                          419 
                                                                                                                                                                          + +
                                                                                                                                                                          422 
                                                                                                                                                                          + +
                                                                                                                                                                          425 };
                                                                                                                                                                          +
                                                                                                                                                                          426 
                                                                                                                                                                          +
                                                                                                                                                                          427 // In the equations for pixel brightness both with motion blur enabled and disabled, we don't need
                                                                                                                                                                          +
                                                                                                                                                                          428 // any constant scaling factor outside the integral because when d0=0, the brightness at the center
                                                                                                                                                                          +
                                                                                                                                                                          429 // will be zero without any scaling. The scaling factor you usually see on a Normal distribution is
                                                                                                                                                                          +
                                                                                                                                                                          430 // so that the Normal distribution integrates to one over the real line, making it a probability
                                                                                                                                                                          +
                                                                                                                                                                          431 // distribution. But we want the /peak/ to be one, not the integral. motion blur enabled
                                                                                                                                                                          +
                                                                                                                                                                          432 
                                                                                                                                                                          +
                                                                                                                                                                          443 static decimal MotionBlurredPixelBrightness(const Vec2 &pixel, const GeneratedStar &generatedStar,
                                                                                                                                                                          +
                                                                                                                                                                          444  decimal t, decimal stddev) {
                                                                                                                                                                          +
                                                                                                                                                                          445  const Vec2 &p0 = generatedStar.position;
                                                                                                                                                                          +
                                                                                                                                                                          446  const Vec2 &delta = generatedStar.delta;
                                                                                                                                                                          +
                                                                                                                                                                          447  const Vec2 d0 = p0 - pixel;
                                                                                                                                                                          +
                                                                                                                                                                          448  return generatedStar.peakBrightness
                                                                                                                                                                          +
                                                                                                                                                                          449  * stddev*DECIMAL_SQRT(DECIMAL_M_PI) / (DECIMAL_SQRT(2)*delta.Magnitude())
                                                                                                                                                                          +
                                                                                                                                                                          450  * DECIMAL_EXP(DECIMAL_POW(d0.x*delta.x + d0.y*delta.y, 2) / (2*stddev*stddev*delta.MagnitudeSq())
                                                                                                                                                                          +
                                                                                                                                                                          451  - d0.MagnitudeSq() / (2*stddev*stddev))
                                                                                                                                                                          +
                                                                                                                                                                          452  * DECIMAL_ERF((t*delta.MagnitudeSq() + d0.x*delta.x + d0.y*delta.y) / (stddev*DECIMAL_SQRT(2)*delta.Magnitude()));
                                                                                                                                                                          +
                                                                                                                                                                          453 }
                                                                                                                                                                          +
                                                                                                                                                                          454 
                                                                                                                                                                          +
                                                                                                                                                                          456 static decimal StaticPixelBrightness(const Vec2 &pixel, const GeneratedStar &generatedStar,
                                                                                                                                                                          +
                                                                                                                                                                          457  decimal t, decimal stddev) {
                                                                                                                                                                          +
                                                                                                                                                                          458  const Vec2 d0 = generatedStar.position - pixel;
                                                                                                                                                                          +
                                                                                                                                                                          459  return generatedStar.peakBrightness * t * DECIMAL_EXP(-d0.MagnitudeSq() / (2 * stddev * stddev));
                                                                                                                                                                          +
                                                                                                                                                                          460 }
                                                                                                                                                                          +
                                                                                                                                                                          461 
                                                                                                                                                                          +
                                                                                                                                                                          471 static decimal CentroidImagingProbability(decimal mag, decimal cutoffMag) {
                                                                                                                                                                          +
                                                                                                                                                                          472  decimal brightness = MagToBrightness(mag);
                                                                                                                                                                          +
                                                                                                                                                                          473  decimal cutoffBrightness = MagToBrightness(cutoffMag);
                                                                                                                                                                          +
                                                                                                                                                                          474  decimal stddev = cutoffBrightness/DECIMAL(5.0);
                                                                                                                                                                          +
                                                                                                                                                                          475  // CDF of Normal distribution with given mean and stddev
                                                                                                                                                                          +
                                                                                                                                                                          476  return 1 - (DECIMAL(0.5) * (1 + DECIMAL_ERF((cutoffBrightness-brightness)/(stddev*DECIMAL_SQRT(2.0)))));
                                                                                                                                                                          +
                                                                                                                                                                          477 }
                                                                                                                                                                          +
                                                                                                                                                                          478 
                                                                                                                                                                          +
                                                                                                                                                                          479 const int kMaxBrightness = 255;
                                                                                                                                                                          +
                                                                                                                                                                          480 
                                                                                                                                                                          + +
                                                                                                                                                                          486  Attitude attitude,
                                                                                                                                                                          +
                                                                                                                                                                          487  Camera camera,
                                                                                                                                                                          +
                                                                                                                                                                          488  std::default_random_engine *rng,
                                                                                                                                                                          +
                                                                                                                                                                          489 
                                                                                                                                                                          +
                                                                                                                                                                          490  bool centroidsOnly,
                                                                                                                                                                          +
                                                                                                                                                                          491  decimal zeroMagTotalPhotons,
                                                                                                                                                                          +
                                                                                                                                                                          492  decimal starSpreadStdDev,
                                                                                                                                                                          +
                                                                                                                                                                          493  decimal saturationPhotons,
                                                                                                                                                                          +
                                                                                                                                                                          494  decimal darkCurrent,
                                                                                                                                                                          +
                                                                                                                                                                          495  decimal readNoiseStdDev,
                                                                                                                                                                          +
                                                                                                                                                                          496  Attitude motionBlurDirection, // applied on top of the attitude
                                                                                                                                                                          +
                                                                                                                                                                          497  decimal exposureTime,
                                                                                                                                                                          +
                                                                                                                                                                          498  decimal readoutTime, // zero for no rolling shutter
                                                                                                                                                                          +
                                                                                                                                                                          499  bool shotNoise,
                                                                                                                                                                          +
                                                                                                                                                                          500  int oversampling,
                                                                                                                                                                          +
                                                                                                                                                                          501  int numFalseStars,
                                                                                                                                                                          +
                                                                                                                                                                          502  int falseStarMinMagnitude,
                                                                                                                                                                          +
                                                                                                                                                                          503  int falseStarMaxMagnitude,
                                                                                                                                                                          +
                                                                                                                                                                          504  int cutoffMag,
                                                                                                                                                                          +
                                                                                                                                                                          505  decimal perturbationStddev)
                                                                                                                                                                          +
                                                                                                                                                                          506  : camera(camera), attitude(attitude), catalog(catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          507 
                                                                                                                                                                          +
                                                                                                                                                                          508  assert(falseStarMaxMagnitude <= falseStarMinMagnitude);
                                                                                                                                                                          +
                                                                                                                                                                          509  assert(perturbationStddev >= DECIMAL(0.0));
                                                                                                                                                                          +
                                                                                                                                                                          510 
                                                                                                                                                                          +
                                                                                                                                                                          511  image.width = camera.XResolution();
                                                                                                                                                                          +
                                                                                                                                                                          512  image.height = camera.YResolution();
                                                                                                                                                                          +
                                                                                                                                                                          513  // number of true photons each pixel receives.
                                                                                                                                                                          +
                                                                                                                                                                          514 
                                                                                                                                                                          +
                                                                                                                                                                          515  assert(oversampling >= 1);
                                                                                                                                                                          +
                                                                                                                                                                          516  int oversamplingPerAxis = DECIMAL_CEIL(DECIMAL_SQRT(oversampling));
                                                                                                                                                                          +
                                                                                                                                                                          517  if (oversamplingPerAxis*oversamplingPerAxis != oversampling) {
                                                                                                                                                                          +
                                                                                                                                                                          518  std::cerr << "WARNING: oversampling was not a perfect square. Rounding up to "
                                                                                                                                                                          +
                                                                                                                                                                          519  << oversamplingPerAxis*oversamplingPerAxis << "." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          520  }
                                                                                                                                                                          +
                                                                                                                                                                          521  assert(exposureTime > 0);
                                                                                                                                                                          +
                                                                                                                                                                          522  bool motionBlurEnabled = abs(motionBlurDirection.GetQuaternion().Angle()) > DECIMAL(0.001);
                                                                                                                                                                          +
                                                                                                                                                                          523  Quaternion motionBlurDirectionQ = motionBlurDirection.GetQuaternion();
                                                                                                                                                                          +
                                                                                                                                                                          524  // attitude at the middle of exposure time
                                                                                                                                                                          +
                                                                                                                                                                          525  Quaternion currentAttitude = attitude.GetQuaternion();
                                                                                                                                                                          +
                                                                                                                                                                          526  // attitude 1 time unit after middle of exposure
                                                                                                                                                                          +
                                                                                                                                                                          527  Quaternion futureAttitude = motionBlurDirectionQ*currentAttitude;
                                                                                                                                                                          +
                                                                                                                                                                          528  std::vector<GeneratedStar> generatedStars;
                                                                                                                                                                          +
                                                                                                                                                                          529 
                                                                                                                                                                          +
                                                                                                                                                                          530  // a star with 1 photon has peak density 1/(2pi sigma^2), because 2d gaussian formula. Then just
                                                                                                                                                                          +
                                                                                                                                                                          531  // multiply up proportionally!
                                                                                                                                                                          +
                                                                                                                                                                          532  decimal zeroMagPeakPhotonDensity = zeroMagTotalPhotons / (2*DECIMAL_M_PI * starSpreadStdDev*starSpreadStdDev);
                                                                                                                                                                          +
                                                                                                                                                                          533 
                                                                                                                                                                          +
                                                                                                                                                                          534  // TODO: Is it 100% correct to just copy the standard deviation in both dimensions?
                                                                                                                                                                          +
                                                                                                                                                                          535  std::normal_distribution<decimal> perturbation1DDistribution(DECIMAL(0.0), perturbationStddev);
                                                                                                                                                                          +
                                                                                                                                                                          536 
                                                                                                                                                                          +
                                                                                                                                                                          537  Catalog catalogWithFalse = catalog;
                                                                                                                                                                          538 
                                                                                                                                                                          -
                                                                                                                                                                          539  catalogWithFalse.push_back(CatalogStar(ra, de, magnitude, -1));
                                                                                                                                                                          -
                                                                                                                                                                          540  }
                                                                                                                                                                          -
                                                                                                                                                                          541 
                                                                                                                                                                          -
                                                                                                                                                                          542  for (int i = 0; i < (int)catalogWithFalse.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          543  bool isTrueStar = i < (int)catalog.size();
                                                                                                                                                                          -
                                                                                                                                                                          544 
                                                                                                                                                                          -
                                                                                                                                                                          545  const CatalogStar &catalogStar = catalogWithFalse[i];
                                                                                                                                                                          -
                                                                                                                                                                          546  Vec3 rotated = attitude.Rotate(catalogWithFalse[i].spatial);
                                                                                                                                                                          -
                                                                                                                                                                          547  if (rotated.x <= 0) {
                                                                                                                                                                          -
                                                                                                                                                                          548  continue;
                                                                                                                                                                          -
                                                                                                                                                                          549  }
                                                                                                                                                                          -
                                                                                                                                                                          550  Vec2 camCoords = camera.SpatialToCamera(rotated);
                                                                                                                                                                          -
                                                                                                                                                                          551 
                                                                                                                                                                          -
                                                                                                                                                                          552  if (camera.InSensor(camCoords)) {
                                                                                                                                                                          -
                                                                                                                                                                          553  Vec3 futureSpatial = futureAttitude.Rotate(catalogWithFalse[i].spatial);
                                                                                                                                                                          -
                                                                                                                                                                          554  Vec2 delta = camera.SpatialToCamera(futureSpatial) - camCoords;
                                                                                                                                                                          -
                                                                                                                                                                          555  if (!motionBlurEnabled) {
                                                                                                                                                                          -
                                                                                                                                                                          556  delta = {0, 0}; // avoid floating point funny business
                                                                                                                                                                          -
                                                                                                                                                                          557  }
                                                                                                                                                                          -
                                                                                                                                                                          558  // radiant intensity, in photons per time unit per pixel, at the center of the star.
                                                                                                                                                                          -
                                                                                                                                                                          559  float peakBrightnessPerTime = zeroMagPeakPhotonDensity * MagToBrightness(catalogStar.magnitude);
                                                                                                                                                                          -
                                                                                                                                                                          560  float interestingThreshold = 0.05; // we don't need to check pixels that are expected to
                                                                                                                                                                          -
                                                                                                                                                                          561  // receive this many photons or fewer.
                                                                                                                                                                          -
                                                                                                                                                                          562  // inverse of the function defining the Gaussian distribution: Find out how far from the
                                                                                                                                                                          -
                                                                                                                                                                          563  // mean we'll have to go until the number of photons is less than interestingThreshold
                                                                                                                                                                          -
                                                                                                                                                                          564  float radius = ceil(sqrt(-log(interestingThreshold/peakBrightnessPerTime/exposureTime)*2*M_PI*starSpreadStdDev*starSpreadStdDev));
                                                                                                                                                                          -
                                                                                                                                                                          565  Star star = Star(camCoords.x, camCoords.y,
                                                                                                                                                                          -
                                                                                                                                                                          566  radius, radius,
                                                                                                                                                                          -
                                                                                                                                                                          567  // important to invert magnitude here, so that centroid magnitude becomes larger for brighter stars.
                                                                                                                                                                          -
                                                                                                                                                                          568  // It's possible to make it so that the magnitude is always positive too, but allowing weirder magnitudes helps keep star-id algos honest about their assumptions on magnitude.
                                                                                                                                                                          -
                                                                                                                                                                          569  // we don't use its magnitude anywhere else in generation; peakBrightness was already calculated.
                                                                                                                                                                          -
                                                                                                                                                                          570  -catalogStar.magnitude);
                                                                                                                                                                          -
                                                                                                                                                                          571  generatedStars.push_back(GeneratedStar(star, peakBrightnessPerTime, delta));
                                                                                                                                                                          -
                                                                                                                                                                          572 
                                                                                                                                                                          -
                                                                                                                                                                          573  // Now add the star to the input and expected lists.
                                                                                                                                                                          -
                                                                                                                                                                          574  // We do actually want to add false stars as well, because:
                                                                                                                                                                          -
                                                                                                                                                                          575  // a) A centroider isn't any worse because it picks up a false star that looks exactly like a normal star, so why should we exclude them from compare-centroids?
                                                                                                                                                                          -
                                                                                                                                                                          576  // b) We want to feed false stars into star-ids to evaluate their false-star resilience without running centroiding.
                                                                                                                                                                          -
                                                                                                                                                                          577 
                                                                                                                                                                          -
                                                                                                                                                                          578  // Add all stars to expected, cause that's how we roll
                                                                                                                                                                          -
                                                                                                                                                                          579  expectedStars.push_back(star);
                                                                                                                                                                          -
                                                                                                                                                                          580  // and provide expected identifications for all of them
                                                                                                                                                                          -
                                                                                                                                                                          581  if (isTrueStar) {
                                                                                                                                                                          -
                                                                                                                                                                          582  expectedStarIds.push_back(StarIdentifier(expectedStars.size()-1, i));
                                                                                                                                                                          -
                                                                                                                                                                          583  }
                                                                                                                                                                          -
                                                                                                                                                                          584 
                                                                                                                                                                          -
                                                                                                                                                                          585  // for input, though, add perturbation and stuff.
                                                                                                                                                                          -
                                                                                                                                                                          586  Star inputStar = star;
                                                                                                                                                                          -
                                                                                                                                                                          587  if (perturbationStddev > 0.0) {
                                                                                                                                                                          -
                                                                                                                                                                          588  // clamp to within 2 standard deviations for some reason:
                                                                                                                                                                          -
                                                                                                                                                                          589  inputStar.position.x += std::max(std::min(perturbation1DDistribution(*rng), 2*perturbationStddev), -2*perturbationStddev);
                                                                                                                                                                          -
                                                                                                                                                                          590  inputStar.position.y += std::max(std::min(perturbation1DDistribution(*rng), 2*perturbationStddev), -2*perturbationStddev);
                                                                                                                                                                          +
                                                                                                                                                                          539  std::uniform_real_distribution<decimal> uniformDistribution(DECIMAL(0.0), DECIMAL(1.0));
                                                                                                                                                                          +
                                                                                                                                                                          540  std::uniform_int_distribution<int> magnitudeDistribution(falseStarMaxMagnitude, falseStarMinMagnitude);
                                                                                                                                                                          +
                                                                                                                                                                          541  for (int i = 0; i < numFalseStars; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          542  decimal ra = uniformDistribution(*rng) * 2*DECIMAL_M_PI;
                                                                                                                                                                          +
                                                                                                                                                                          543  // to be uniform around sphere. Borel-Kolmogorov paradox is calling
                                                                                                                                                                          +
                                                                                                                                                                          544  decimal de = DECIMAL_ASIN(uniformDistribution(*rng)*2 - 1);
                                                                                                                                                                          +
                                                                                                                                                                          545  decimal magnitude = magnitudeDistribution(*rng);
                                                                                                                                                                          +
                                                                                                                                                                          546 
                                                                                                                                                                          +
                                                                                                                                                                          547  catalogWithFalse.push_back(CatalogStar(ra, de, magnitude, -1));
                                                                                                                                                                          +
                                                                                                                                                                          548  }
                                                                                                                                                                          +
                                                                                                                                                                          549 
                                                                                                                                                                          +
                                                                                                                                                                          550  for (int i = 0; i < (int)catalogWithFalse.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          551  bool isTrueStar = i < (int)catalog.size();
                                                                                                                                                                          +
                                                                                                                                                                          552 
                                                                                                                                                                          +
                                                                                                                                                                          553  const CatalogStar &catalogStar = catalogWithFalse[i];
                                                                                                                                                                          +
                                                                                                                                                                          554  Vec3 rotated = attitude.Rotate(catalogWithFalse[i].spatial);
                                                                                                                                                                          +
                                                                                                                                                                          555  if (rotated.x <= 0) {
                                                                                                                                                                          +
                                                                                                                                                                          556  continue;
                                                                                                                                                                          +
                                                                                                                                                                          557  }
                                                                                                                                                                          +
                                                                                                                                                                          558  Vec2 camCoords = camera.SpatialToCamera(rotated);
                                                                                                                                                                          +
                                                                                                                                                                          559 
                                                                                                                                                                          +
                                                                                                                                                                          560  if (camera.InSensor(camCoords)) {
                                                                                                                                                                          +
                                                                                                                                                                          561  Vec3 futureSpatial = futureAttitude.Rotate(catalogWithFalse[i].spatial);
                                                                                                                                                                          +
                                                                                                                                                                          562  Vec2 delta = camera.SpatialToCamera(futureSpatial) - camCoords;
                                                                                                                                                                          +
                                                                                                                                                                          563  if (!motionBlurEnabled) {
                                                                                                                                                                          +
                                                                                                                                                                          564  delta = {0, 0}; // avoid decimaling point funny business
                                                                                                                                                                          +
                                                                                                                                                                          565  }
                                                                                                                                                                          +
                                                                                                                                                                          566  // radiant intensity, in photons per time unit per pixel, at the center of the star.
                                                                                                                                                                          +
                                                                                                                                                                          567  decimal peakBrightnessPerTime = zeroMagPeakPhotonDensity * MagToBrightness(catalogStar.magnitude);
                                                                                                                                                                          +
                                                                                                                                                                          568  decimal interestingThreshold = DECIMAL(0.05); // we don't need to check pixels that are expected to
                                                                                                                                                                          +
                                                                                                                                                                          569  // receive this many photons or fewer.
                                                                                                                                                                          +
                                                                                                                                                                          570  // inverse of the function defining the Gaussian distribution: Find out how far from the
                                                                                                                                                                          +
                                                                                                                                                                          571  // mean we'll have to go until the number of photons is less than interestingThreshold
                                                                                                                                                                          +
                                                                                                                                                                          572  decimal radius = DECIMAL_CEIL(DECIMAL_SQRT(-DECIMAL_LOG(interestingThreshold/peakBrightnessPerTime/exposureTime)*2*DECIMAL_M_PI*starSpreadStdDev*starSpreadStdDev));
                                                                                                                                                                          +
                                                                                                                                                                          573  Star star = Star(camCoords.x, camCoords.y,
                                                                                                                                                                          +
                                                                                                                                                                          574  radius, radius,
                                                                                                                                                                          +
                                                                                                                                                                          575  // important to invert magnitude here, so that centroid magnitude becomes larger for brighter stars.
                                                                                                                                                                          +
                                                                                                                                                                          576  // It's possible to make it so that the magnitude is always positive too, but allowing weirder magnitudes helps keep star-id algos honest about their assumptions on magnitude.
                                                                                                                                                                          +
                                                                                                                                                                          577  // we don't use its magnitude anywhere else in generation; peakBrightness was already calculated.
                                                                                                                                                                          +
                                                                                                                                                                          578  -catalogStar.magnitude);
                                                                                                                                                                          +
                                                                                                                                                                          579  generatedStars.push_back(GeneratedStar(star, peakBrightnessPerTime, delta));
                                                                                                                                                                          +
                                                                                                                                                                          580 
                                                                                                                                                                          +
                                                                                                                                                                          581  // Now add the star to the input and expected lists.
                                                                                                                                                                          +
                                                                                                                                                                          582  // We do actually want to add false stars as well, because:
                                                                                                                                                                          +
                                                                                                                                                                          583  // a) A centroider isn't any worse because it picks up a false star that looks exactly like a normal star, so why should we exclude them from compare-centroids?
                                                                                                                                                                          +
                                                                                                                                                                          584  // b) We want to feed false stars into star-ids to evaluate their false-star resilience without running centroiding.
                                                                                                                                                                          +
                                                                                                                                                                          585 
                                                                                                                                                                          +
                                                                                                                                                                          586  // Add all stars to expected, cause that's how we roll
                                                                                                                                                                          +
                                                                                                                                                                          587  expectedStars.push_back(star);
                                                                                                                                                                          +
                                                                                                                                                                          588  // and provide expected identifications for all of them
                                                                                                                                                                          +
                                                                                                                                                                          589  if (isTrueStar) {
                                                                                                                                                                          +
                                                                                                                                                                          590  expectedStarIds.push_back(StarIdentifier(expectedStars.size()-1, i));
                                                                                                                                                                          591  }
                                                                                                                                                                          -
                                                                                                                                                                          592  // If it got perturbed outside of the sensor, don't add it.
                                                                                                                                                                          -
                                                                                                                                                                          593  if (camera.InSensor(inputStar.position)
                                                                                                                                                                          -
                                                                                                                                                                          594  // and also don't add it if it's too dim.
                                                                                                                                                                          -
                                                                                                                                                                          595  && (cutoffMag >= 10000 // but always add the star if the cutoff is very high
                                                                                                                                                                          -
                                                                                                                                                                          596  || !isTrueStar // and always add the false stars
                                                                                                                                                                          -
                                                                                                                                                                          597  || std::bernoulli_distribution(CentroidImagingProbability(catalogStar.magnitude, cutoffMag))(*rng))) {
                                                                                                                                                                          -
                                                                                                                                                                          598  inputStars.push_back(inputStar);
                                                                                                                                                                          -
                                                                                                                                                                          599  if (isTrueStar) {
                                                                                                                                                                          -
                                                                                                                                                                          600  inputStarIds.push_back(StarIdentifier(inputStars.size()-1, i));
                                                                                                                                                                          -
                                                                                                                                                                          601  }
                                                                                                                                                                          -
                                                                                                                                                                          602  }
                                                                                                                                                                          -
                                                                                                                                                                          603  }
                                                                                                                                                                          -
                                                                                                                                                                          604  }
                                                                                                                                                                          -
                                                                                                                                                                          605 
                                                                                                                                                                          -
                                                                                                                                                                          606  if (centroidsOnly) {
                                                                                                                                                                          -
                                                                                                                                                                          607  // we're outta here
                                                                                                                                                                          -
                                                                                                                                                                          608  return;
                                                                                                                                                                          -
                                                                                                                                                                          609  }
                                                                                                                                                                          -
                                                                                                                                                                          610 
                                                                                                                                                                          -
                                                                                                                                                                          611  std::vector<float> photonsBuffer(image.width*image.height, 0);
                                                                                                                                                                          -
                                                                                                                                                                          612 
                                                                                                                                                                          -
                                                                                                                                                                          613  for (const GeneratedStar &star : generatedStars) {
                                                                                                                                                                          -
                                                                                                                                                                          614  // delta will be exactly (0,0) when motion blur disabled
                                                                                                                                                                          -
                                                                                                                                                                          615  Vec2 earliestPosition = star.position - star.delta*(exposureTime/2.0 + readoutTime/2.0);
                                                                                                                                                                          -
                                                                                                                                                                          616  Vec2 latestPosition = star.position + star.delta*(exposureTime/2.0 + readoutTime/2.0);
                                                                                                                                                                          -
                                                                                                                                                                          617  int xMin = std::max(0, (int)std::min(earliestPosition.x - star.radiusX, latestPosition.x - star.radiusX));
                                                                                                                                                                          -
                                                                                                                                                                          618  int xMax = std::min(image.width-1, (int)std::max(earliestPosition.x + star.radiusX, latestPosition.x + star.radiusX));
                                                                                                                                                                          -
                                                                                                                                                                          619  int yMin = std::max(0, (int)std::min(earliestPosition.y - star.radiusX, latestPosition.y - star.radiusX));
                                                                                                                                                                          -
                                                                                                                                                                          620  int yMax = std::min(image.height-1, (int)std::max(earliestPosition.y + star.radiusX, latestPosition.y + star.radiusX));
                                                                                                                                                                          -
                                                                                                                                                                          621 
                                                                                                                                                                          -
                                                                                                                                                                          622  // peak brightness is measured in photons per time unit per pixel, so if oversampling, we
                                                                                                                                                                          -
                                                                                                                                                                          623  // need to convert units to photons per time unit per sample
                                                                                                                                                                          -
                                                                                                                                                                          624  float oversamplingBrightnessFactor = oversamplingPerAxis*oversamplingPerAxis;
                                                                                                                                                                          -
                                                                                                                                                                          625 
                                                                                                                                                                          -
                                                                                                                                                                          626  // the star.x and star.y refer to the pixel whose top left corner the star should appear at
                                                                                                                                                                          -
                                                                                                                                                                          627  // (and fractional amounts are relative to the corner). When we color a pixel, we ideally
                                                                                                                                                                          -
                                                                                                                                                                          628  // would integrate the intensity of the star over that pixel, but we can make do by sampling
                                                                                                                                                                          -
                                                                                                                                                                          629  // the intensity of the star at the /center/ of the pixel, ie, star.x+.5 and star.y+.5
                                                                                                                                                                          -
                                                                                                                                                                          630  for (int xPixel = xMin; xPixel <= xMax; xPixel++) {
                                                                                                                                                                          -
                                                                                                                                                                          631  for (int yPixel = yMin; yPixel <= yMax; yPixel++) {
                                                                                                                                                                          -
                                                                                                                                                                          632  // offset of beginning & end of readout compared to beginning & end of readout for
                                                                                                                                                                          -
                                                                                                                                                                          633  // center row
                                                                                                                                                                          -
                                                                                                                                                                          634  float readoutOffset = readoutTime * (yPixel - image.height/2.0) / image.height;
                                                                                                                                                                          -
                                                                                                                                                                          635  float tStart = -exposureTime/2.0 + readoutOffset;
                                                                                                                                                                          -
                                                                                                                                                                          636  float tEnd = exposureTime/2.0 + readoutOffset;
                                                                                                                                                                          -
                                                                                                                                                                          637 
                                                                                                                                                                          -
                                                                                                                                                                          638  // loop through all samples in the current pixel
                                                                                                                                                                          -
                                                                                                                                                                          639  for (int xSample = 0; xSample < oversamplingPerAxis; xSample++) {
                                                                                                                                                                          -
                                                                                                                                                                          640  for (int ySample = 0; ySample < oversamplingPerAxis; ySample++) {
                                                                                                                                                                          -
                                                                                                                                                                          641  float x = xPixel + (xSample+0.5)/oversamplingPerAxis;
                                                                                                                                                                          -
                                                                                                                                                                          642  float y = yPixel + (ySample+0.5)/oversamplingPerAxis;
                                                                                                                                                                          -
                                                                                                                                                                          643 
                                                                                                                                                                          -
                                                                                                                                                                          644  float curPhotons;
                                                                                                                                                                          -
                                                                                                                                                                          645  if (motionBlurEnabled) {
                                                                                                                                                                          -
                                                                                                                                                                          646  curPhotons =
                                                                                                                                                                          -
                                                                                                                                                                          647  (MotionBlurredPixelBrightness({x, y}, star, tEnd, starSpreadStdDev)
                                                                                                                                                                          -
                                                                                                                                                                          648  - MotionBlurredPixelBrightness({x, y}, star, tStart, starSpreadStdDev))
                                                                                                                                                                          -
                                                                                                                                                                          649  / oversamplingBrightnessFactor;
                                                                                                                                                                          -
                                                                                                                                                                          650  } else {
                                                                                                                                                                          -
                                                                                                                                                                          651  curPhotons = StaticPixelBrightness({x, y}, star, exposureTime, starSpreadStdDev)
                                                                                                                                                                          -
                                                                                                                                                                          652  / oversamplingBrightnessFactor;
                                                                                                                                                                          -
                                                                                                                                                                          653  }
                                                                                                                                                                          -
                                                                                                                                                                          654 
                                                                                                                                                                          -
                                                                                                                                                                          655  assert(0.0 <= curPhotons);
                                                                                                                                                                          -
                                                                                                                                                                          656 
                                                                                                                                                                          -
                                                                                                                                                                          657  photonsBuffer[xPixel + yPixel*image.width] += curPhotons;
                                                                                                                                                                          -
                                                                                                                                                                          658  }
                                                                                                                                                                          -
                                                                                                                                                                          659  }
                                                                                                                                                                          -
                                                                                                                                                                          660  }
                                                                                                                                                                          -
                                                                                                                                                                          661  }
                                                                                                                                                                          -
                                                                                                                                                                          662  }
                                                                                                                                                                          -
                                                                                                                                                                          663 
                                                                                                                                                                          -
                                                                                                                                                                          664  std::normal_distribution<float> readNoiseDist(0.0, readNoiseStdDev);
                                                                                                                                                                          -
                                                                                                                                                                          665 
                                                                                                                                                                          -
                                                                                                                                                                          666  // convert from photon counts to observed pixel brightnesses, applying noise and such.
                                                                                                                                                                          -
                                                                                                                                                                          667  imageData = std::vector<unsigned char>(image.width*image.height);
                                                                                                                                                                          -
                                                                                                                                                                          668  image.image = imageData.data();
                                                                                                                                                                          -
                                                                                                                                                                          669  for (int i = 0; i < image.width * image.height; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          670  float curBrightness = 0;
                                                                                                                                                                          +
                                                                                                                                                                          592 
                                                                                                                                                                          +
                                                                                                                                                                          593  // for input, though, add perturbation and stuff.
                                                                                                                                                                          +
                                                                                                                                                                          594  Star inputStar = star;
                                                                                                                                                                          +
                                                                                                                                                                          595  if (perturbationStddev > DECIMAL(0.0)) {
                                                                                                                                                                          +
                                                                                                                                                                          596  // clamp to within 2 standard deviations for some reason:
                                                                                                                                                                          +
                                                                                                                                                                          597  inputStar.position.x += std::max(std::min(perturbation1DDistribution(*rng), 2*perturbationStddev), -2*perturbationStddev);
                                                                                                                                                                          +
                                                                                                                                                                          598  inputStar.position.y += std::max(std::min(perturbation1DDistribution(*rng), 2*perturbationStddev), -2*perturbationStddev);
                                                                                                                                                                          +
                                                                                                                                                                          599  }
                                                                                                                                                                          +
                                                                                                                                                                          600  // If it got perturbed outside of the sensor, don't add it.
                                                                                                                                                                          +
                                                                                                                                                                          601  if (camera.InSensor(inputStar.position)
                                                                                                                                                                          +
                                                                                                                                                                          602  // and also don't add it if it's too dim.
                                                                                                                                                                          +
                                                                                                                                                                          603  && (cutoffMag >= 10000 // but always add the star if the cutoff is very high
                                                                                                                                                                          +
                                                                                                                                                                          604  || !isTrueStar // and always add the false stars
                                                                                                                                                                          +
                                                                                                                                                                          605  || std::bernoulli_distribution(CentroidImagingProbability(catalogStar.magnitude, cutoffMag))(*rng))) {
                                                                                                                                                                          +
                                                                                                                                                                          606  inputStars.push_back(inputStar);
                                                                                                                                                                          +
                                                                                                                                                                          607  if (isTrueStar) {
                                                                                                                                                                          +
                                                                                                                                                                          608  inputStarIds.push_back(StarIdentifier(inputStars.size()-1, i));
                                                                                                                                                                          +
                                                                                                                                                                          609  }
                                                                                                                                                                          +
                                                                                                                                                                          610  }
                                                                                                                                                                          +
                                                                                                                                                                          611  }
                                                                                                                                                                          +
                                                                                                                                                                          612  }
                                                                                                                                                                          +
                                                                                                                                                                          613 
                                                                                                                                                                          +
                                                                                                                                                                          614  if (centroidsOnly) {
                                                                                                                                                                          +
                                                                                                                                                                          615  // we're outta here
                                                                                                                                                                          +
                                                                                                                                                                          616  return;
                                                                                                                                                                          +
                                                                                                                                                                          617  }
                                                                                                                                                                          +
                                                                                                                                                                          618 
                                                                                                                                                                          +
                                                                                                                                                                          619  std::vector<decimal> photonsBuffer(image.width*image.height, 0);
                                                                                                                                                                          +
                                                                                                                                                                          620 
                                                                                                                                                                          +
                                                                                                                                                                          621  for (const GeneratedStar &star : generatedStars) {
                                                                                                                                                                          +
                                                                                                                                                                          622  // delta will be exactly (0,0) when motion blur disabled
                                                                                                                                                                          +
                                                                                                                                                                          623  Vec2 earliestPosition = star.position - star.delta*(exposureTime/DECIMAL(2.0) + readoutTime/DECIMAL(2.0));
                                                                                                                                                                          +
                                                                                                                                                                          624  Vec2 latestPosition = star.position + star.delta*(exposureTime/DECIMAL(2.0) + readoutTime/DECIMAL(2.0));
                                                                                                                                                                          +
                                                                                                                                                                          625  int xMin = std::max(0, (int)std::min(earliestPosition.x - star.radiusX, latestPosition.x - star.radiusX));
                                                                                                                                                                          +
                                                                                                                                                                          626  int xMax = std::min(image.width-1, (int)std::max(earliestPosition.x + star.radiusX, latestPosition.x + star.radiusX));
                                                                                                                                                                          +
                                                                                                                                                                          627  int yMin = std::max(0, (int)std::min(earliestPosition.y - star.radiusX, latestPosition.y - star.radiusX));
                                                                                                                                                                          +
                                                                                                                                                                          628  int yMax = std::min(image.height-1, (int)std::max(earliestPosition.y + star.radiusX, latestPosition.y + star.radiusX));
                                                                                                                                                                          +
                                                                                                                                                                          629 
                                                                                                                                                                          +
                                                                                                                                                                          630  // peak brightness is measured in photons per time unit per pixel, so if oversampling, we
                                                                                                                                                                          +
                                                                                                                                                                          631  // need to convert units to photons per time unit per sample
                                                                                                                                                                          +
                                                                                                                                                                          632  decimal oversamplingBrightnessFactor = oversamplingPerAxis*oversamplingPerAxis;
                                                                                                                                                                          +
                                                                                                                                                                          633 
                                                                                                                                                                          +
                                                                                                                                                                          634  // the star.x and star.y refer to the pixel whose top left corner the star should appear at
                                                                                                                                                                          +
                                                                                                                                                                          635  // (and fractional amounts are relative to the corner). When we color a pixel, we ideally
                                                                                                                                                                          +
                                                                                                                                                                          636  // would integrate the intensity of the star over that pixel, but we can make do by sampling
                                                                                                                                                                          +
                                                                                                                                                                          637  // the intensity of the star at the /center/ of the pixel, ie, star.x+.5 and star.y+.5
                                                                                                                                                                          +
                                                                                                                                                                          638  for (int xPixel = xMin; xPixel <= xMax; xPixel++) {
                                                                                                                                                                          +
                                                                                                                                                                          639  for (int yPixel = yMin; yPixel <= yMax; yPixel++) {
                                                                                                                                                                          +
                                                                                                                                                                          640  // offset of beginning & end of readout compared to beginning & end of readout for
                                                                                                                                                                          +
                                                                                                                                                                          641  // center row
                                                                                                                                                                          +
                                                                                                                                                                          642  decimal readoutOffset = readoutTime * (yPixel - image.height/DECIMAL(2.0)) / image.height;
                                                                                                                                                                          +
                                                                                                                                                                          643  decimal tStart = -exposureTime/DECIMAL(2.0) + readoutOffset;
                                                                                                                                                                          +
                                                                                                                                                                          644  decimal tEnd = exposureTime/DECIMAL(2.0) + readoutOffset;
                                                                                                                                                                          +
                                                                                                                                                                          645 
                                                                                                                                                                          +
                                                                                                                                                                          646  // loop through all samples in the current pixel
                                                                                                                                                                          +
                                                                                                                                                                          647  for (int xSample = 0; xSample < oversamplingPerAxis; xSample++) {
                                                                                                                                                                          +
                                                                                                                                                                          648  for (int ySample = 0; ySample < oversamplingPerAxis; ySample++) {
                                                                                                                                                                          +
                                                                                                                                                                          649  decimal x = xPixel + (xSample+DECIMAL(0.5))/oversamplingPerAxis;
                                                                                                                                                                          +
                                                                                                                                                                          650  decimal y = yPixel + (ySample+DECIMAL(0.5))/oversamplingPerAxis;
                                                                                                                                                                          +
                                                                                                                                                                          651 
                                                                                                                                                                          +
                                                                                                                                                                          652  decimal curPhotons;
                                                                                                                                                                          +
                                                                                                                                                                          653  if (motionBlurEnabled) {
                                                                                                                                                                          +
                                                                                                                                                                          654  curPhotons =
                                                                                                                                                                          +
                                                                                                                                                                          655  (MotionBlurredPixelBrightness({x, y}, star, tEnd, starSpreadStdDev)
                                                                                                                                                                          +
                                                                                                                                                                          656  - MotionBlurredPixelBrightness({x, y}, star, tStart, starSpreadStdDev))
                                                                                                                                                                          +
                                                                                                                                                                          657  / oversamplingBrightnessFactor;
                                                                                                                                                                          +
                                                                                                                                                                          658  } else {
                                                                                                                                                                          +
                                                                                                                                                                          659  curPhotons = StaticPixelBrightness({x, y}, star, exposureTime, starSpreadStdDev)
                                                                                                                                                                          +
                                                                                                                                                                          660  / oversamplingBrightnessFactor;
                                                                                                                                                                          +
                                                                                                                                                                          661  }
                                                                                                                                                                          +
                                                                                                                                                                          662 
                                                                                                                                                                          +
                                                                                                                                                                          663  assert(DECIMAL(0.0) <= curPhotons);
                                                                                                                                                                          +
                                                                                                                                                                          664 
                                                                                                                                                                          +
                                                                                                                                                                          665  photonsBuffer[xPixel + yPixel*image.width] += curPhotons;
                                                                                                                                                                          +
                                                                                                                                                                          666  }
                                                                                                                                                                          +
                                                                                                                                                                          667  }
                                                                                                                                                                          +
                                                                                                                                                                          668  }
                                                                                                                                                                          +
                                                                                                                                                                          669  }
                                                                                                                                                                          +
                                                                                                                                                                          670  }
                                                                                                                                                                          671 
                                                                                                                                                                          -
                                                                                                                                                                          672  // dark current (Constant)
                                                                                                                                                                          -
                                                                                                                                                                          673  curBrightness += darkCurrent;
                                                                                                                                                                          -
                                                                                                                                                                          674 
                                                                                                                                                                          -
                                                                                                                                                                          675  // read noise (Gaussian)
                                                                                                                                                                          -
                                                                                                                                                                          676  curBrightness += readNoiseDist(*rng);
                                                                                                                                                                          -
                                                                                                                                                                          677 
                                                                                                                                                                          -
                                                                                                                                                                          678  // shot noise (Poisson), and quantize
                                                                                                                                                                          -
                                                                                                                                                                          679  long quantizedPhotons;
                                                                                                                                                                          -
                                                                                                                                                                          680  if (shotNoise) {
                                                                                                                                                                          -
                                                                                                                                                                          681  // with GNU libstdc++, it keeps sampling from the distribution until it's within the min-max
                                                                                                                                                                          -
                                                                                                                                                                          682  // range. This is problematic if the mean is far above the max long value, because then it
                                                                                                                                                                          -
                                                                                                                                                                          683  // might have to sample many many times (and furthermore, the results won't be useful
                                                                                                                                                                          -
                                                                                                                                                                          684  // anyway)
                                                                                                                                                                          -
                                                                                                                                                                          685  float photons = photonsBuffer[i];
                                                                                                                                                                          -
                                                                                                                                                                          686  if (photons > (float)LONG_MAX - 3.0*sqrt(LONG_MAX)) {
                                                                                                                                                                          -
                                                                                                                                                                          687  std::cout << "ERROR: One of the pixels had too many photons. Generated image would not be physically accurate, exiting." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          688  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          689  }
                                                                                                                                                                          -
                                                                                                                                                                          690  std::poisson_distribution<long> shotNoiseDist(photonsBuffer[i]);
                                                                                                                                                                          -
                                                                                                                                                                          691  quantizedPhotons = shotNoiseDist(*rng);
                                                                                                                                                                          -
                                                                                                                                                                          692  } else {
                                                                                                                                                                          -
                                                                                                                                                                          693  quantizedPhotons = round(photonsBuffer[i]);
                                                                                                                                                                          -
                                                                                                                                                                          694  }
                                                                                                                                                                          -
                                                                                                                                                                          695  curBrightness += quantizedPhotons / saturationPhotons;
                                                                                                                                                                          -
                                                                                                                                                                          696 
                                                                                                                                                                          -
                                                                                                                                                                          697  // std::clamp not introduced until C++17, so we avoid it.
                                                                                                                                                                          -
                                                                                                                                                                          698  float clampedBrightness = std::max(std::min(curBrightness, (float)1.0), (float)0.0);
                                                                                                                                                                          -
                                                                                                                                                                          699  imageData[i] = floor(clampedBrightness * kMaxBrightness); // TODO: off-by-one, 256?
                                                                                                                                                                          -
                                                                                                                                                                          700  }
                                                                                                                                                                          -
                                                                                                                                                                          701 }
                                                                                                                                                                          -
                                                                                                                                                                          702 
                                                                                                                                                                          -
                                                                                                                                                                          707 static Attitude RandomAttitude(std::default_random_engine* pReng) {
                                                                                                                                                                          -
                                                                                                                                                                          708  std::uniform_real_distribution<float> randomAngleDistribution(0, 1);
                                                                                                                                                                          -
                                                                                                                                                                          709 
                                                                                                                                                                          -
                                                                                                                                                                          710  // normally the ranges of the Ra and Dec are:
                                                                                                                                                                          -
                                                                                                                                                                          711  // Dec: [-90 deg, 90 deg] --> [-pi/2 rad, pi/2 rad], where negative means south
                                                                                                                                                                          -
                                                                                                                                                                          712  // of the celestial equator and positive means north
                                                                                                                                                                          -
                                                                                                                                                                          713  // Ra: [0 deg, 360 deg] --> [0 rad, 2pi rad ]
                                                                                                                                                                          -
                                                                                                                                                                          714  // Roll: [0 rad, 2 pi rad]
                                                                                                                                                                          -
                                                                                                                                                                          715 
                                                                                                                                                                          -
                                                                                                                                                                          716  float randomRa = 2 * M_PI * randomAngleDistribution(*pReng);
                                                                                                                                                                          -
                                                                                                                                                                          717  float randomDec = (M_PI / 2) - acos(1 - 2 * randomAngleDistribution(*pReng)); //acos returns a float in range [0, pi]
                                                                                                                                                                          -
                                                                                                                                                                          718  float randomRoll = 2 * M_PI * randomAngleDistribution(*pReng);
                                                                                                                                                                          -
                                                                                                                                                                          719 
                                                                                                                                                                          -
                                                                                                                                                                          720  Attitude randAttitude = Attitude(SphericalToQuaternion(randomRa, randomDec, randomRoll));
                                                                                                                                                                          -
                                                                                                                                                                          721 
                                                                                                                                                                          -
                                                                                                                                                                          722  return randAttitude;
                                                                                                                                                                          -
                                                                                                                                                                          723 }
                                                                                                                                                                          -
                                                                                                                                                                          724 
                                                                                                                                                                          - -
                                                                                                                                                                          727  // TODO: prompt for attitude, imagewidth, etc and then construct a GeneratedPipelineInput
                                                                                                                                                                          -
                                                                                                                                                                          728 
                                                                                                                                                                          -
                                                                                                                                                                          729  int seed;
                                                                                                                                                                          -
                                                                                                                                                                          730 
                                                                                                                                                                          -
                                                                                                                                                                          731  // time based seed if option specified
                                                                                                                                                                          -
                                                                                                                                                                          732  if (values.timeSeed) {
                                                                                                                                                                          -
                                                                                                                                                                          733  seed = time(0);
                                                                                                                                                                          -
                                                                                                                                                                          734  } else {
                                                                                                                                                                          -
                                                                                                                                                                          735  seed = values.generateSeed;
                                                                                                                                                                          -
                                                                                                                                                                          736  }
                                                                                                                                                                          -
                                                                                                                                                                          737 
                                                                                                                                                                          -
                                                                                                                                                                          738  std::default_random_engine attitudeRng(seed);
                                                                                                                                                                          -
                                                                                                                                                                          739  std::default_random_engine noiseRng(seed);
                                                                                                                                                                          -
                                                                                                                                                                          740 
                                                                                                                                                                          -
                                                                                                                                                                          741  // TODO: allow random angle generation?
                                                                                                                                                                          -
                                                                                                                                                                          742  Attitude attitude = Attitude(SphericalToQuaternion(DegToRad(values.generateRa),
                                                                                                                                                                          -
                                                                                                                                                                          743  DegToRad(values.generateDe),
                                                                                                                                                                          -
                                                                                                                                                                          744  DegToRad(values.generateRoll)));
                                                                                                                                                                          +
                                                                                                                                                                          672  std::normal_distribution<decimal> readNoiseDist(DECIMAL(0.0), readNoiseStdDev);
                                                                                                                                                                          +
                                                                                                                                                                          673 
                                                                                                                                                                          +
                                                                                                                                                                          674  // convert from photon counts to observed pixel brightnesses, applying noise and such.
                                                                                                                                                                          +
                                                                                                                                                                          675  imageData = std::vector<unsigned char>(image.width*image.height);
                                                                                                                                                                          +
                                                                                                                                                                          676  image.image = imageData.data();
                                                                                                                                                                          +
                                                                                                                                                                          677  for (int i = 0; i < image.width * image.height; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          678  decimal curBrightness = 0;
                                                                                                                                                                          +
                                                                                                                                                                          679 
                                                                                                                                                                          +
                                                                                                                                                                          680  // dark current (Constant)
                                                                                                                                                                          +
                                                                                                                                                                          681  curBrightness += darkCurrent;
                                                                                                                                                                          +
                                                                                                                                                                          682 
                                                                                                                                                                          +
                                                                                                                                                                          683  // read noise (Gaussian)
                                                                                                                                                                          +
                                                                                                                                                                          684  curBrightness += readNoiseDist(*rng);
                                                                                                                                                                          +
                                                                                                                                                                          685 
                                                                                                                                                                          +
                                                                                                                                                                          686  // shot noise (Poisson), and quantize
                                                                                                                                                                          +
                                                                                                                                                                          687  long quantizedPhotons;
                                                                                                                                                                          +
                                                                                                                                                                          688  if (shotNoise) {
                                                                                                                                                                          +
                                                                                                                                                                          689  // with GNU libstdc++, it keeps sampling from the distribution until it's within the min-max
                                                                                                                                                                          +
                                                                                                                                                                          690  // range. This is problematic if the mean is far above the max long value, because then it
                                                                                                                                                                          +
                                                                                                                                                                          691  // might have to sample many many times (and furthermore, the results won't be useful
                                                                                                                                                                          +
                                                                                                                                                                          692  // anyway)
                                                                                                                                                                          +
                                                                                                                                                                          693  decimal photons = photonsBuffer[i];
                                                                                                                                                                          +
                                                                                                                                                                          694  if (photons > DECIMAL(LONG_MAX) - DECIMAL(3.0) * DECIMAL_SQRT(LONG_MAX)) {
                                                                                                                                                                          +
                                                                                                                                                                          695  std::cout << "ERROR: One of the pixels had too many photons. Generated image would not be physically accurate, exiting." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          696  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          697  }
                                                                                                                                                                          +
                                                                                                                                                                          698  std::poisson_distribution<long> shotNoiseDist(photonsBuffer[i]);
                                                                                                                                                                          +
                                                                                                                                                                          699  quantizedPhotons = shotNoiseDist(*rng);
                                                                                                                                                                          +
                                                                                                                                                                          700  } else {
                                                                                                                                                                          +
                                                                                                                                                                          701  quantizedPhotons = round(photonsBuffer[i]);
                                                                                                                                                                          +
                                                                                                                                                                          702  }
                                                                                                                                                                          +
                                                                                                                                                                          703  curBrightness += quantizedPhotons / saturationPhotons;
                                                                                                                                                                          +
                                                                                                                                                                          704 
                                                                                                                                                                          +
                                                                                                                                                                          705  // std::clamp not introduced until C++17, so we avoid it.
                                                                                                                                                                          +
                                                                                                                                                                          706  decimal clampedBrightness = std::max(std::min(curBrightness, DECIMAL(1.0)), DECIMAL(0.0));
                                                                                                                                                                          +
                                                                                                                                                                          707  imageData[i] = floor(clampedBrightness * kMaxBrightness); // TODO: off-by-one, 256?
                                                                                                                                                                          +
                                                                                                                                                                          708  }
                                                                                                                                                                          +
                                                                                                                                                                          709 }
                                                                                                                                                                          +
                                                                                                                                                                          710 
                                                                                                                                                                          +
                                                                                                                                                                          715 static Attitude RandomAttitude(std::default_random_engine* pReng) {
                                                                                                                                                                          +
                                                                                                                                                                          716  std::uniform_real_distribution<decimal> randomAngleDistribution(0, 1);
                                                                                                                                                                          +
                                                                                                                                                                          717 
                                                                                                                                                                          +
                                                                                                                                                                          718  // normally the ranges of the Ra and Dec are:
                                                                                                                                                                          +
                                                                                                                                                                          719  // Dec: [-90 deg, 90 deg] --> [-pi/2 rad, pi/2 rad], where negative means south
                                                                                                                                                                          +
                                                                                                                                                                          720  // of the celestial equator and positive means north
                                                                                                                                                                          +
                                                                                                                                                                          721  // Ra: [0 deg, 360 deg] --> [0 rad, 2pi rad ]
                                                                                                                                                                          +
                                                                                                                                                                          722  // Roll: [0 rad, 2 pi rad]
                                                                                                                                                                          +
                                                                                                                                                                          723 
                                                                                                                                                                          +
                                                                                                                                                                          724  decimal randomRa = 2 * DECIMAL_M_PI * randomAngleDistribution(*pReng);
                                                                                                                                                                          +
                                                                                                                                                                          725  decimal randomDec = (DECIMAL_M_PI / 2) - acos(1 - 2 * randomAngleDistribution(*pReng)); //acos returns a decimal in range [0, pi]
                                                                                                                                                                          +
                                                                                                                                                                          726  decimal randomRoll = 2 * DECIMAL_M_PI * randomAngleDistribution(*pReng);
                                                                                                                                                                          +
                                                                                                                                                                          727 
                                                                                                                                                                          +
                                                                                                                                                                          728  Attitude randAttitude = Attitude(SphericalToQuaternion(randomRa, randomDec, randomRoll));
                                                                                                                                                                          +
                                                                                                                                                                          729 
                                                                                                                                                                          +
                                                                                                                                                                          730  return randAttitude;
                                                                                                                                                                          +
                                                                                                                                                                          731 }
                                                                                                                                                                          +
                                                                                                                                                                          732 
                                                                                                                                                                          + +
                                                                                                                                                                          735  // TODO: prompt for attitude, imagewidth, etc and then construct a GeneratedPipelineInput
                                                                                                                                                                          +
                                                                                                                                                                          736 
                                                                                                                                                                          +
                                                                                                                                                                          737  int seed;
                                                                                                                                                                          +
                                                                                                                                                                          738 
                                                                                                                                                                          +
                                                                                                                                                                          739  // time based seed if option specified
                                                                                                                                                                          +
                                                                                                                                                                          740  if (values.timeSeed) {
                                                                                                                                                                          +
                                                                                                                                                                          741  seed = time(0);
                                                                                                                                                                          +
                                                                                                                                                                          742  } else {
                                                                                                                                                                          +
                                                                                                                                                                          743  seed = values.generateSeed;
                                                                                                                                                                          +
                                                                                                                                                                          744  }
                                                                                                                                                                          745 
                                                                                                                                                                          -
                                                                                                                                                                          746  Attitude motionBlurDirection = Attitude(SphericalToQuaternion(DegToRad(values.generateBlurRa),
                                                                                                                                                                          -
                                                                                                                                                                          747  DegToRad(values.generateBlurDe),
                                                                                                                                                                          -
                                                                                                                                                                          748  DegToRad(values.generateBlurRoll)));
                                                                                                                                                                          -
                                                                                                                                                                          749  PipelineInputList result;
                                                                                                                                                                          -
                                                                                                                                                                          750 
                                                                                                                                                                          -
                                                                                                                                                                          751  float focalLength = FocalLengthFromOptions(values, values.generateXRes);
                                                                                                                                                                          -
                                                                                                                                                                          752 
                                                                                                                                                                          +
                                                                                                                                                                          746  std::default_random_engine attitudeRng(seed);
                                                                                                                                                                          +
                                                                                                                                                                          747  std::default_random_engine noiseRng(seed);
                                                                                                                                                                          +
                                                                                                                                                                          748 
                                                                                                                                                                          +
                                                                                                                                                                          749  // TODO: allow random angle generation?
                                                                                                                                                                          +
                                                                                                                                                                          750  Attitude attitude = Attitude(SphericalToQuaternion(DegToRad(values.generateRa),
                                                                                                                                                                          +
                                                                                                                                                                          751  DegToRad(values.generateDe),
                                                                                                                                                                          +
                                                                                                                                                                          752  DegToRad(values.generateRoll)));
                                                                                                                                                                          753 
                                                                                                                                                                          -
                                                                                                                                                                          754  for (int i = 0; i < values.generate; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          755 
                                                                                                                                                                          -
                                                                                                                                                                          756 
                                                                                                                                                                          -
                                                                                                                                                                          757  Attitude inputAttitude;
                                                                                                                                                                          -
                                                                                                                                                                          758  if (values.generateRandomAttitudes) {
                                                                                                                                                                          -
                                                                                                                                                                          759  inputAttitude = RandomAttitude(&attitudeRng);
                                                                                                                                                                          -
                                                                                                                                                                          760  } else {
                                                                                                                                                                          -
                                                                                                                                                                          761  inputAttitude = attitude;
                                                                                                                                                                          -
                                                                                                                                                                          762  }
                                                                                                                                                                          +
                                                                                                                                                                          754  Attitude motionBlurDirection = Attitude(SphericalToQuaternion(DegToRad(values.generateBlurRa),
                                                                                                                                                                          +
                                                                                                                                                                          755  DegToRad(values.generateBlurDe),
                                                                                                                                                                          +
                                                                                                                                                                          756  DegToRad(values.generateBlurRoll)));
                                                                                                                                                                          +
                                                                                                                                                                          757  PipelineInputList result;
                                                                                                                                                                          +
                                                                                                                                                                          758 
                                                                                                                                                                          +
                                                                                                                                                                          759  decimal focalLength = FocalLengthFromOptions(values, values.generateXRes);
                                                                                                                                                                          +
                                                                                                                                                                          760 
                                                                                                                                                                          +
                                                                                                                                                                          761 
                                                                                                                                                                          +
                                                                                                                                                                          762  for (int i = 0; i < values.generate; i++) {
                                                                                                                                                                          763 
                                                                                                                                                                          - -
                                                                                                                                                                          765  CatalogRead(),
                                                                                                                                                                          -
                                                                                                                                                                          766  inputAttitude,
                                                                                                                                                                          -
                                                                                                                                                                          767  Camera(focalLength, values.generateXRes, values.generateYRes),
                                                                                                                                                                          -
                                                                                                                                                                          768  &noiseRng,
                                                                                                                                                                          -
                                                                                                                                                                          769 
                                                                                                                                                                          -
                                                                                                                                                                          770  values.generateCentroidsOnly,
                                                                                                                                                                          -
                                                                                                                                                                          771  values.generateZeroMagPhotons,
                                                                                                                                                                          -
                                                                                                                                                                          772  values.generateSpreadStdDev,
                                                                                                                                                                          -
                                                                                                                                                                          773  values.generateSaturationPhotons,
                                                                                                                                                                          -
                                                                                                                                                                          774  values.generateDarkCurrent,
                                                                                                                                                                          -
                                                                                                                                                                          775  values.generateReadNoiseStdDev,
                                                                                                                                                                          -
                                                                                                                                                                          776  motionBlurDirection,
                                                                                                                                                                          -
                                                                                                                                                                          777  values.generateExposure,
                                                                                                                                                                          -
                                                                                                                                                                          778  values.generateReadoutTime,
                                                                                                                                                                          -
                                                                                                                                                                          779  values.generateShotNoise,
                                                                                                                                                                          -
                                                                                                                                                                          780  values.generateOversampling,
                                                                                                                                                                          -
                                                                                                                                                                          781  values.generateNumFalseStars,
                                                                                                                                                                          -
                                                                                                                                                                          782  (values.generateFalseMinMag * 100),
                                                                                                                                                                          -
                                                                                                                                                                          783  (values.generateFalseMaxMag * 100),
                                                                                                                                                                          -
                                                                                                                                                                          784  (values.generateCutoffMag * 100),
                                                                                                                                                                          -
                                                                                                                                                                          785  values.generatePerturbationStddev);
                                                                                                                                                                          -
                                                                                                                                                                          786 
                                                                                                                                                                          -
                                                                                                                                                                          787  result.push_back(std::unique_ptr<PipelineInput>(curr));
                                                                                                                                                                          -
                                                                                                                                                                          788 
                                                                                                                                                                          -
                                                                                                                                                                          789 
                                                                                                                                                                          -
                                                                                                                                                                          790  }
                                                                                                                                                                          -
                                                                                                                                                                          791 
                                                                                                                                                                          -
                                                                                                                                                                          792 
                                                                                                                                                                          -
                                                                                                                                                                          793 
                                                                                                                                                                          -
                                                                                                                                                                          794  return result;
                                                                                                                                                                          -
                                                                                                                                                                          795 }
                                                                                                                                                                          +
                                                                                                                                                                          764 
                                                                                                                                                                          +
                                                                                                                                                                          765  Attitude inputAttitude;
                                                                                                                                                                          +
                                                                                                                                                                          766  if (values.generateRandomAttitudes) {
                                                                                                                                                                          +
                                                                                                                                                                          767  inputAttitude = RandomAttitude(&attitudeRng);
                                                                                                                                                                          +
                                                                                                                                                                          768  } else {
                                                                                                                                                                          +
                                                                                                                                                                          769  inputAttitude = attitude;
                                                                                                                                                                          +
                                                                                                                                                                          770  }
                                                                                                                                                                          +
                                                                                                                                                                          771 
                                                                                                                                                                          + +
                                                                                                                                                                          773  CatalogRead(),
                                                                                                                                                                          +
                                                                                                                                                                          774  inputAttitude,
                                                                                                                                                                          +
                                                                                                                                                                          775  Camera(focalLength, values.generateXRes, values.generateYRes),
                                                                                                                                                                          +
                                                                                                                                                                          776  &noiseRng,
                                                                                                                                                                          +
                                                                                                                                                                          777 
                                                                                                                                                                          +
                                                                                                                                                                          778  values.generateCentroidsOnly,
                                                                                                                                                                          +
                                                                                                                                                                          779  values.generateZeroMagPhotons,
                                                                                                                                                                          +
                                                                                                                                                                          780  values.generateSpreadStdDev,
                                                                                                                                                                          +
                                                                                                                                                                          781  values.generateSaturationPhotons,
                                                                                                                                                                          +
                                                                                                                                                                          782  values.generateDarkCurrent,
                                                                                                                                                                          +
                                                                                                                                                                          783  values.generateReadNoiseStdDev,
                                                                                                                                                                          +
                                                                                                                                                                          784  motionBlurDirection,
                                                                                                                                                                          +
                                                                                                                                                                          785  values.generateExposure,
                                                                                                                                                                          +
                                                                                                                                                                          786  values.generateReadoutTime,
                                                                                                                                                                          +
                                                                                                                                                                          787  values.generateShotNoise,
                                                                                                                                                                          +
                                                                                                                                                                          788  values.generateOversampling,
                                                                                                                                                                          +
                                                                                                                                                                          789  values.generateNumFalseStars,
                                                                                                                                                                          +
                                                                                                                                                                          790  (values.generateFalseMinMag * 100),
                                                                                                                                                                          +
                                                                                                                                                                          791  (values.generateFalseMaxMag * 100),
                                                                                                                                                                          +
                                                                                                                                                                          792  (values.generateCutoffMag * 100),
                                                                                                                                                                          +
                                                                                                                                                                          793  values.generatePerturbationStddev);
                                                                                                                                                                          +
                                                                                                                                                                          794 
                                                                                                                                                                          +
                                                                                                                                                                          795  result.push_back(std::unique_ptr<PipelineInput>(curr));
                                                                                                                                                                          796 
                                                                                                                                                                          - -
                                                                                                                                                                          798 
                                                                                                                                                                          - +
                                                                                                                                                                          797 
                                                                                                                                                                          +
                                                                                                                                                                          798  }
                                                                                                                                                                          +
                                                                                                                                                                          799 
                                                                                                                                                                          +
                                                                                                                                                                          800 
                                                                                                                                                                          801 
                                                                                                                                                                          -
                                                                                                                                                                          802  if (values.png != "") {
                                                                                                                                                                          -
                                                                                                                                                                          803  return GetPngPipelineInput(values);
                                                                                                                                                                          -
                                                                                                                                                                          804  } else {
                                                                                                                                                                          -
                                                                                                                                                                          805  return GetGeneratedPipelineInput(values);
                                                                                                                                                                          -
                                                                                                                                                                          806  }
                                                                                                                                                                          -
                                                                                                                                                                          807 }
                                                                                                                                                                          -
                                                                                                                                                                          808 
                                                                                                                                                                          - -
                                                                                                                                                                          814  StarIdAlgorithm *starIdAlgorithm,
                                                                                                                                                                          -
                                                                                                                                                                          815  AttitudeEstimationAlgorithm *attitudeEstimationAlgorithm,
                                                                                                                                                                          -
                                                                                                                                                                          816  unsigned char *database)
                                                                                                                                                                          -
                                                                                                                                                                          817  : Pipeline() {
                                                                                                                                                                          -
                                                                                                                                                                          818  if (centroidAlgorithm) {
                                                                                                                                                                          -
                                                                                                                                                                          819  this->centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(centroidAlgorithm);
                                                                                                                                                                          -
                                                                                                                                                                          820  }
                                                                                                                                                                          -
                                                                                                                                                                          821  if (starIdAlgorithm) {
                                                                                                                                                                          -
                                                                                                                                                                          822  this->starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(starIdAlgorithm);
                                                                                                                                                                          -
                                                                                                                                                                          823  }
                                                                                                                                                                          -
                                                                                                                                                                          824  if (attitudeEstimationAlgorithm) {
                                                                                                                                                                          -
                                                                                                                                                                          825  this->attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(attitudeEstimationAlgorithm);
                                                                                                                                                                          -
                                                                                                                                                                          826  }
                                                                                                                                                                          -
                                                                                                                                                                          827  if (database) {
                                                                                                                                                                          -
                                                                                                                                                                          828  this->database = std::unique_ptr<unsigned char[]>(database);
                                                                                                                                                                          -
                                                                                                                                                                          829  }
                                                                                                                                                                          -
                                                                                                                                                                          830 }
                                                                                                                                                                          -
                                                                                                                                                                          831 
                                                                                                                                                                          -
                                                                                                                                                                          832 
                                                                                                                                                                          - -
                                                                                                                                                                          835  Pipeline result;
                                                                                                                                                                          -
                                                                                                                                                                          836 
                                                                                                                                                                          -
                                                                                                                                                                          837  // TODO: more flexible or sth
                                                                                                                                                                          -
                                                                                                                                                                          838  // TODO: don't allow setting star-id until database is set, and perhaps limit the star-id
                                                                                                                                                                          -
                                                                                                                                                                          839  // choices to those compatible with the database?
                                                                                                                                                                          +
                                                                                                                                                                          802  return result;
                                                                                                                                                                          +
                                                                                                                                                                          803 }
                                                                                                                                                                          +
                                                                                                                                                                          804 
                                                                                                                                                                          + +
                                                                                                                                                                          806 
                                                                                                                                                                          + +
                                                                                                                                                                          809 
                                                                                                                                                                          +
                                                                                                                                                                          810  if (values.png != "") {
                                                                                                                                                                          +
                                                                                                                                                                          811  return GetPngPipelineInput(values);
                                                                                                                                                                          +
                                                                                                                                                                          812  } else {
                                                                                                                                                                          +
                                                                                                                                                                          813  return GetGeneratedPipelineInput(values);
                                                                                                                                                                          +
                                                                                                                                                                          814  }
                                                                                                                                                                          +
                                                                                                                                                                          815 }
                                                                                                                                                                          +
                                                                                                                                                                          816 
                                                                                                                                                                          + +
                                                                                                                                                                          822  StarIdAlgorithm *starIdAlgorithm,
                                                                                                                                                                          +
                                                                                                                                                                          823  AttitudeEstimationAlgorithm *attitudeEstimationAlgorithm,
                                                                                                                                                                          +
                                                                                                                                                                          824  unsigned char *database)
                                                                                                                                                                          +
                                                                                                                                                                          825  : Pipeline() {
                                                                                                                                                                          +
                                                                                                                                                                          826  if (centroidAlgorithm) {
                                                                                                                                                                          +
                                                                                                                                                                          827  this->centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(centroidAlgorithm);
                                                                                                                                                                          +
                                                                                                                                                                          828  }
                                                                                                                                                                          +
                                                                                                                                                                          829  if (starIdAlgorithm) {
                                                                                                                                                                          +
                                                                                                                                                                          830  this->starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(starIdAlgorithm);
                                                                                                                                                                          +
                                                                                                                                                                          831  }
                                                                                                                                                                          +
                                                                                                                                                                          832  if (attitudeEstimationAlgorithm) {
                                                                                                                                                                          +
                                                                                                                                                                          833  this->attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(attitudeEstimationAlgorithm);
                                                                                                                                                                          +
                                                                                                                                                                          834  }
                                                                                                                                                                          +
                                                                                                                                                                          835  if (database) {
                                                                                                                                                                          +
                                                                                                                                                                          836  this->database = std::unique_ptr<unsigned char[]>(database);
                                                                                                                                                                          +
                                                                                                                                                                          837  }
                                                                                                                                                                          +
                                                                                                                                                                          838 }
                                                                                                                                                                          +
                                                                                                                                                                          839 
                                                                                                                                                                          840 
                                                                                                                                                                          -
                                                                                                                                                                          841  // centroid algorithm stage
                                                                                                                                                                          -
                                                                                                                                                                          842  if (values.centroidAlgo == "dummy") {
                                                                                                                                                                          -
                                                                                                                                                                          843  result.centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(new DummyCentroidAlgorithm(values.centroidDummyNumStars));
                                                                                                                                                                          -
                                                                                                                                                                          844  } else if (values.centroidAlgo == "cog") {
                                                                                                                                                                          -
                                                                                                                                                                          845  result.centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(new CenterOfGravityAlgorithm());
                                                                                                                                                                          -
                                                                                                                                                                          846  } else if (values.centroidAlgo == "iwcog") {
                                                                                                                                                                          -
                                                                                                                                                                          847  result.centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(new IterativeWeightedCenterOfGravityAlgorithm());
                                                                                                                                                                          -
                                                                                                                                                                          848  } else if (values.centroidAlgo != "") {
                                                                                                                                                                          -
                                                                                                                                                                          849  std::cout << "Illegal centroid algorithm." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          850  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          851  }
                                                                                                                                                                          -
                                                                                                                                                                          852 
                                                                                                                                                                          -
                                                                                                                                                                          853  // centroid magnitude filter stage
                                                                                                                                                                          -
                                                                                                                                                                          854  if (values.centroidMagFilter > 0) result.centroidMinMagnitude = values.centroidMagFilter;
                                                                                                                                                                          -
                                                                                                                                                                          855  if (values.centroidFilterBrightest > 0) result.centroidMinStars = values.centroidFilterBrightest;
                                                                                                                                                                          -
                                                                                                                                                                          856 
                                                                                                                                                                          -
                                                                                                                                                                          857  // database stage
                                                                                                                                                                          -
                                                                                                                                                                          858  if (values.databasePath != "") {
                                                                                                                                                                          -
                                                                                                                                                                          859  std::fstream fs;
                                                                                                                                                                          -
                                                                                                                                                                          860  fs.open(values.databasePath, std::fstream::in | std::fstream::binary);
                                                                                                                                                                          -
                                                                                                                                                                          861  fs.seekg(0, fs.end);
                                                                                                                                                                          -
                                                                                                                                                                          862  long length = fs.tellg();
                                                                                                                                                                          -
                                                                                                                                                                          863  fs.seekg(0, fs.beg);
                                                                                                                                                                          -
                                                                                                                                                                          864  std::cerr << "Reading " << length << " bytes of database" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          865  result.database = std::unique_ptr<unsigned char[]>(new unsigned char[length]);
                                                                                                                                                                          -
                                                                                                                                                                          866  fs.read((char *)result.database.get(), length);
                                                                                                                                                                          -
                                                                                                                                                                          867  std::cerr << "Done" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          868  }
                                                                                                                                                                          -
                                                                                                                                                                          869 
                                                                                                                                                                          -
                                                                                                                                                                          870  if (values.idAlgo == "dummy") {
                                                                                                                                                                          -
                                                                                                                                                                          871  result.starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(new DummyStarIdAlgorithm());
                                                                                                                                                                          -
                                                                                                                                                                          872  } else if (values.idAlgo == "gv") {
                                                                                                                                                                          -
                                                                                                                                                                          873  result.starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(new GeometricVotingStarIdAlgorithm(DegToRad(values.angularTolerance)));
                                                                                                                                                                          -
                                                                                                                                                                          874  } else if (values.idAlgo == "py") {
                                                                                                                                                                          -
                                                                                                                                                                          875  result.starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(new PyramidStarIdAlgorithm(DegToRad(values.angularTolerance), values.estimatedNumFalseStars, values.maxMismatchProb, 1000));
                                                                                                                                                                          -
                                                                                                                                                                          876  } else if (values.idAlgo != "") {
                                                                                                                                                                          -
                                                                                                                                                                          877  std::cout << "Illegal id algorithm." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          878  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          879  }
                                                                                                                                                                          -
                                                                                                                                                                          880 
                                                                                                                                                                          -
                                                                                                                                                                          881  if (values.attitudeAlgo == "dqm") {
                                                                                                                                                                          -
                                                                                                                                                                          882  result.attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(new DavenportQAlgorithm());
                                                                                                                                                                          -
                                                                                                                                                                          883  } else if (values.attitudeAlgo == "triad") {
                                                                                                                                                                          -
                                                                                                                                                                          884  result.attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(new TriadAlgorithm());
                                                                                                                                                                          -
                                                                                                                                                                          885  } else if (values.attitudeAlgo == "quest") {
                                                                                                                                                                          -
                                                                                                                                                                          886  result.attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(new QuestAlgorithm());
                                                                                                                                                                          -
                                                                                                                                                                          887  } else if (values.attitudeAlgo != "") {
                                                                                                                                                                          -
                                                                                                                                                                          888  std::cout << "Illegal attitude algorithm." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          889  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          890  }
                                                                                                                                                                          -
                                                                                                                                                                          891 
                                                                                                                                                                          -
                                                                                                                                                                          892  return result;
                                                                                                                                                                          -
                                                                                                                                                                          893 }
                                                                                                                                                                          -
                                                                                                                                                                          894 
                                                                                                                                                                          - -
                                                                                                                                                                          901  // Start executing the pipeline at the first stage that has both input and an algorithm. From
                                                                                                                                                                          -
                                                                                                                                                                          902  // there, execute each successive stage of the pipeline using the output of the last stage
                                                                                                                                                                          -
                                                                                                                                                                          903  // (human centipede) until there are no more stages set.
                                                                                                                                                                          -
                                                                                                                                                                          904  PipelineOutput result;
                                                                                                                                                                          -
                                                                                                                                                                          905 
                                                                                                                                                                          -
                                                                                                                                                                          906  const Image *inputImage = input.InputImage();
                                                                                                                                                                          -
                                                                                                                                                                          907  const Stars *inputStars = input.InputStars();
                                                                                                                                                                          -
                                                                                                                                                                          908  const StarIdentifiers *inputStarIds = input.InputStarIds();
                                                                                                                                                                          -
                                                                                                                                                                          909 
                                                                                                                                                                          -
                                                                                                                                                                          910  // if database is provided, that's where we get catalog from.
                                                                                                                                                                          -
                                                                                                                                                                          911  if (database) {
                                                                                                                                                                          -
                                                                                                                                                                          912  MultiDatabase multiDatabase(database.get());
                                                                                                                                                                          -
                                                                                                                                                                          913  const unsigned char *catalogBuffer = multiDatabase.SubDatabasePointer(kCatalogMagicValue);
                                                                                                                                                                          -
                                                                                                                                                                          914  if (catalogBuffer != NULL) {
                                                                                                                                                                          -
                                                                                                                                                                          915  DeserializeContext des(catalogBuffer);
                                                                                                                                                                          -
                                                                                                                                                                          916  result.catalog = DeserializeCatalog(&des, NULL, NULL);
                                                                                                                                                                          -
                                                                                                                                                                          917  } else {
                                                                                                                                                                          -
                                                                                                                                                                          918  std::cerr << "WARNING: That database does not include a catalog. Proceeding with the full catalog." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          919  result.catalog = input.GetCatalog();
                                                                                                                                                                          -
                                                                                                                                                                          920  }
                                                                                                                                                                          -
                                                                                                                                                                          921  } else {
                                                                                                                                                                          -
                                                                                                                                                                          922  result.catalog = input.GetCatalog();
                                                                                                                                                                          -
                                                                                                                                                                          923  }
                                                                                                                                                                          -
                                                                                                                                                                          924 
                                                                                                                                                                          -
                                                                                                                                                                          925  if (centroidAlgorithm && inputImage) {
                                                                                                                                                                          -
                                                                                                                                                                          926 
                                                                                                                                                                          -
                                                                                                                                                                          927  // run centroiding, keeping track of the time it takes
                                                                                                                                                                          -
                                                                                                                                                                          928  std::chrono::time_point<std::chrono::steady_clock> start = std::chrono::steady_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          929 
                                                                                                                                                                          -
                                                                                                                                                                          930  // TODO: we should probably modify Go to just take an image argument
                                                                                                                                                                          -
                                                                                                                                                                          931  Stars unfilteredStars = centroidAlgorithm->Go(inputImage->image, inputImage->width, inputImage->height);
                                                                                                                                                                          -
                                                                                                                                                                          932 
                                                                                                                                                                          -
                                                                                                                                                                          933  std::chrono::time_point<std::chrono::steady_clock> end = std::chrono::steady_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          934  result.centroidingTimeNs = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
                                                                                                                                                                          + +
                                                                                                                                                                          843  Pipeline result;
                                                                                                                                                                          +
                                                                                                                                                                          844 
                                                                                                                                                                          +
                                                                                                                                                                          845  // TODO: more flexible or sth
                                                                                                                                                                          +
                                                                                                                                                                          846  // TODO: don't allow setting star-id until database is set, and perhaps limit the star-id
                                                                                                                                                                          +
                                                                                                                                                                          847  // choices to those compatible with the database?
                                                                                                                                                                          +
                                                                                                                                                                          848  //
                                                                                                                                                                          +
                                                                                                                                                                          849 
                                                                                                                                                                          +
                                                                                                                                                                          850  // centroid algorithm stage
                                                                                                                                                                          +
                                                                                                                                                                          851  if (values.centroidAlgo == "dummy") {
                                                                                                                                                                          +
                                                                                                                                                                          852  result.centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(new DummyCentroidAlgorithm(values.centroidDummyNumStars));
                                                                                                                                                                          +
                                                                                                                                                                          853  } else if (values.centroidAlgo == "cog") {
                                                                                                                                                                          +
                                                                                                                                                                          854  result.centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(new CenterOfGravityAlgorithm());
                                                                                                                                                                          +
                                                                                                                                                                          855  } else if (values.centroidAlgo == "iwcog") {
                                                                                                                                                                          +
                                                                                                                                                                          856  result.centroidAlgorithm = std::unique_ptr<CentroidAlgorithm>(new IterativeWeightedCenterOfGravityAlgorithm());
                                                                                                                                                                          +
                                                                                                                                                                          857  } else if (values.centroidAlgo != "") {
                                                                                                                                                                          +
                                                                                                                                                                          858  std::cout << "Illegal centroid algorithm." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          859  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          860  }
                                                                                                                                                                          +
                                                                                                                                                                          861 
                                                                                                                                                                          +
                                                                                                                                                                          862  // centroid magnitude filter stage
                                                                                                                                                                          +
                                                                                                                                                                          863  if (values.centroidMagFilter > 0) result.centroidMinMagnitude = values.centroidMagFilter;
                                                                                                                                                                          +
                                                                                                                                                                          864  if (values.centroidFilterBrightest > 0) result.centroidMinStars = values.centroidFilterBrightest;
                                                                                                                                                                          +
                                                                                                                                                                          865 
                                                                                                                                                                          +
                                                                                                                                                                          866  // database stage
                                                                                                                                                                          +
                                                                                                                                                                          867  if (values.databasePath != "") {
                                                                                                                                                                          +
                                                                                                                                                                          868  std::fstream fs;
                                                                                                                                                                          +
                                                                                                                                                                          869  fs.open(values.databasePath, std::fstream::in | std::fstream::binary);
                                                                                                                                                                          +
                                                                                                                                                                          870  fs.seekg(0, fs.end);
                                                                                                                                                                          +
                                                                                                                                                                          871  long length = fs.tellg();
                                                                                                                                                                          +
                                                                                                                                                                          872  fs.seekg(0, fs.beg);
                                                                                                                                                                          +
                                                                                                                                                                          873  std::cerr << "Reading " << length << " bytes of database" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          874  result.database = std::unique_ptr<unsigned char[]>(new unsigned char[length]);
                                                                                                                                                                          +
                                                                                                                                                                          875  fs.read((char *)result.database.get(), length);
                                                                                                                                                                          +
                                                                                                                                                                          876  std::cerr << "Done" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          877  }
                                                                                                                                                                          +
                                                                                                                                                                          878 
                                                                                                                                                                          +
                                                                                                                                                                          879  if (values.idAlgo == "dummy") {
                                                                                                                                                                          +
                                                                                                                                                                          880  result.starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(new DummyStarIdAlgorithm());
                                                                                                                                                                          +
                                                                                                                                                                          881  } else if (values.idAlgo == "gv") {
                                                                                                                                                                          +
                                                                                                                                                                          882  result.starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(new GeometricVotingStarIdAlgorithm(DegToRad(values.angularTolerance)));
                                                                                                                                                                          +
                                                                                                                                                                          883  } else if (values.idAlgo == "py") {
                                                                                                                                                                          +
                                                                                                                                                                          884  result.starIdAlgorithm = std::unique_ptr<StarIdAlgorithm>(new PyramidStarIdAlgorithm(DegToRad(values.angularTolerance), values.estimatedNumFalseStars, values.maxMismatchProb, 1000));
                                                                                                                                                                          +
                                                                                                                                                                          885  } else if (values.idAlgo != "") {
                                                                                                                                                                          +
                                                                                                                                                                          886  std::cout << "Illegal id algorithm." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          887  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          888  }
                                                                                                                                                                          +
                                                                                                                                                                          889 
                                                                                                                                                                          +
                                                                                                                                                                          890  if (values.attitudeAlgo == "dqm") {
                                                                                                                                                                          +
                                                                                                                                                                          891  result.attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(new DavenportQAlgorithm());
                                                                                                                                                                          +
                                                                                                                                                                          892  } else if (values.attitudeAlgo == "triad") {
                                                                                                                                                                          +
                                                                                                                                                                          893  result.attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(new TriadAlgorithm());
                                                                                                                                                                          +
                                                                                                                                                                          894  } else if (values.attitudeAlgo == "quest") {
                                                                                                                                                                          +
                                                                                                                                                                          895  result.attitudeEstimationAlgorithm = std::unique_ptr<AttitudeEstimationAlgorithm>(new QuestAlgorithm());
                                                                                                                                                                          +
                                                                                                                                                                          896  } else if (values.attitudeAlgo != "") {
                                                                                                                                                                          +
                                                                                                                                                                          897  std::cout << "Illegal attitude algorithm." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          898  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          899  }
                                                                                                                                                                          +
                                                                                                                                                                          900 
                                                                                                                                                                          +
                                                                                                                                                                          901  return result;
                                                                                                                                                                          +
                                                                                                                                                                          902 }
                                                                                                                                                                          +
                                                                                                                                                                          903 
                                                                                                                                                                          + +
                                                                                                                                                                          910  // Start executing the pipeline at the first stage that has both input and an algorithm. From
                                                                                                                                                                          +
                                                                                                                                                                          911  // there, execute each successive stage of the pipeline using the output of the last stage
                                                                                                                                                                          +
                                                                                                                                                                          912  // (human centipede) until there are no more stages set.
                                                                                                                                                                          +
                                                                                                                                                                          913  PipelineOutput result;
                                                                                                                                                                          +
                                                                                                                                                                          914 
                                                                                                                                                                          +
                                                                                                                                                                          915  const Image *inputImage = input.InputImage();
                                                                                                                                                                          +
                                                                                                                                                                          916  const Stars *inputStars = input.InputStars();
                                                                                                                                                                          +
                                                                                                                                                                          917  const StarIdentifiers *inputStarIds = input.InputStarIds();
                                                                                                                                                                          +
                                                                                                                                                                          918 
                                                                                                                                                                          +
                                                                                                                                                                          919  // if database is provided, that's where we get catalog from.
                                                                                                                                                                          +
                                                                                                                                                                          920  if (database) {
                                                                                                                                                                          +
                                                                                                                                                                          921  MultiDatabase multiDatabase(database.get());
                                                                                                                                                                          +
                                                                                                                                                                          922  const unsigned char *catalogBuffer = multiDatabase.SubDatabasePointer(kCatalogMagicValue);
                                                                                                                                                                          +
                                                                                                                                                                          923  if (catalogBuffer != NULL) {
                                                                                                                                                                          +
                                                                                                                                                                          924  DeserializeContext des(catalogBuffer);
                                                                                                                                                                          +
                                                                                                                                                                          925  result.catalog = DeserializeCatalog(&des, NULL, NULL);
                                                                                                                                                                          +
                                                                                                                                                                          926  } else {
                                                                                                                                                                          +
                                                                                                                                                                          927  std::cerr << "WARNING: That database does not include a catalog. Proceeding with the full catalog." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          928  result.catalog = input.GetCatalog();
                                                                                                                                                                          +
                                                                                                                                                                          929  }
                                                                                                                                                                          +
                                                                                                                                                                          930  } else {
                                                                                                                                                                          +
                                                                                                                                                                          931  result.catalog = input.GetCatalog();
                                                                                                                                                                          +
                                                                                                                                                                          932  }
                                                                                                                                                                          +
                                                                                                                                                                          933 
                                                                                                                                                                          +
                                                                                                                                                                          934  if (centroidAlgorithm && inputImage) {
                                                                                                                                                                          935 
                                                                                                                                                                          -
                                                                                                                                                                          936  // MAGNITUDE FILTERING
                                                                                                                                                                          -
                                                                                                                                                                          937  int minMagnitude = centroidMinMagnitude;
                                                                                                                                                                          -
                                                                                                                                                                          938  if (centroidMinStars > 0
                                                                                                                                                                          -
                                                                                                                                                                          939  // don't need to filter if we don't even have that many stars
                                                                                                                                                                          -
                                                                                                                                                                          940  && centroidMinStars < (int)unfilteredStars.size()) {
                                                                                                                                                                          +
                                                                                                                                                                          936  // run centroiding, keeping track of the time it takes
                                                                                                                                                                          +
                                                                                                                                                                          937  std::chrono::time_point<std::chrono::steady_clock> start = std::chrono::steady_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          938 
                                                                                                                                                                          +
                                                                                                                                                                          939  // TODO: we should probably modify Go to just take an image argument
                                                                                                                                                                          +
                                                                                                                                                                          940  Stars unfilteredStars = centroidAlgorithm->Go(inputImage->image, inputImage->width, inputImage->height);
                                                                                                                                                                          941 
                                                                                                                                                                          -
                                                                                                                                                                          942  Stars magSortedStars = unfilteredStars;
                                                                                                                                                                          -
                                                                                                                                                                          943  // sort descending
                                                                                                                                                                          -
                                                                                                                                                                          944  std::sort(magSortedStars.begin(), magSortedStars.end(), [](const Star &a, const Star &b) { return a.magnitude > b.magnitude; });
                                                                                                                                                                          -
                                                                                                                                                                          945  minMagnitude = std::max(minMagnitude, magSortedStars[centroidMinStars - 1].magnitude);
                                                                                                                                                                          -
                                                                                                                                                                          946  }
                                                                                                                                                                          -
                                                                                                                                                                          947  // determine the minimum magnitude according to sorted stars
                                                                                                                                                                          -
                                                                                                                                                                          948  Stars *filteredStars = new std::vector<Star>();
                                                                                                                                                                          -
                                                                                                                                                                          949  for (const Star &star : unfilteredStars) {
                                                                                                                                                                          -
                                                                                                                                                                          950  assert(star.magnitude >= 0); // catalog stars can have negative magnitude, but by our
                                                                                                                                                                          -
                                                                                                                                                                          951  // conventions, centroids shouldn't.
                                                                                                                                                                          -
                                                                                                                                                                          952  if (star.magnitude >= minMagnitude) {
                                                                                                                                                                          -
                                                                                                                                                                          953  filteredStars->push_back(star);
                                                                                                                                                                          -
                                                                                                                                                                          954  }
                                                                                                                                                                          +
                                                                                                                                                                          942  std::chrono::time_point<std::chrono::steady_clock> end = std::chrono::steady_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          943  result.centroidingTimeNs = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
                                                                                                                                                                          +
                                                                                                                                                                          944 
                                                                                                                                                                          +
                                                                                                                                                                          945  // MAGNITUDE FILTERING
                                                                                                                                                                          +
                                                                                                                                                                          946  int minMagnitude = centroidMinMagnitude;
                                                                                                                                                                          +
                                                                                                                                                                          947  if (centroidMinStars > 0
                                                                                                                                                                          +
                                                                                                                                                                          948  // don't need to filter if we don't even have that many stars
                                                                                                                                                                          +
                                                                                                                                                                          949  && centroidMinStars < (int)unfilteredStars.size()) {
                                                                                                                                                                          +
                                                                                                                                                                          950 
                                                                                                                                                                          +
                                                                                                                                                                          951  Stars magSortedStars = unfilteredStars;
                                                                                                                                                                          +
                                                                                                                                                                          952  // sort descending
                                                                                                                                                                          +
                                                                                                                                                                          953  std::sort(magSortedStars.begin(), magSortedStars.end(), [](const Star &a, const Star &b) { return a.magnitude > b.magnitude; });
                                                                                                                                                                          +
                                                                                                                                                                          954  minMagnitude = std::max(minMagnitude, magSortedStars[centroidMinStars - 1].magnitude);
                                                                                                                                                                          955  }
                                                                                                                                                                          -
                                                                                                                                                                          956  result.stars = std::unique_ptr<Stars>(filteredStars);
                                                                                                                                                                          -
                                                                                                                                                                          957  inputStars = filteredStars;
                                                                                                                                                                          -
                                                                                                                                                                          958 
                                                                                                                                                                          -
                                                                                                                                                                          959  // any starid set up to this point needs to be discarded, because it's based on input
                                                                                                                                                                          -
                                                                                                                                                                          960  // centroids instead of our new centroids.
                                                                                                                                                                          -
                                                                                                                                                                          961  inputStarIds = NULL;
                                                                                                                                                                          -
                                                                                                                                                                          962  result.starIds = NULL;
                                                                                                                                                                          -
                                                                                                                                                                          963  } else if (centroidAlgorithm) {
                                                                                                                                                                          -
                                                                                                                                                                          964  std::cerr << "ERROR: Centroid algorithm specified, but no input image to run it on." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          965  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          966  }
                                                                                                                                                                          +
                                                                                                                                                                          956  // determine the minimum magnitude according to sorted stars
                                                                                                                                                                          +
                                                                                                                                                                          957  Stars *filteredStars = new std::vector<Star>();
                                                                                                                                                                          +
                                                                                                                                                                          958  for (const Star &star : unfilteredStars) {
                                                                                                                                                                          +
                                                                                                                                                                          959  assert(star.magnitude >= 0); // catalog stars can have negative magnitude, but by our
                                                                                                                                                                          +
                                                                                                                                                                          960  // conventions, centroids shouldn't.
                                                                                                                                                                          +
                                                                                                                                                                          961  if (star.magnitude >= minMagnitude) {
                                                                                                                                                                          +
                                                                                                                                                                          962  filteredStars->push_back(star);
                                                                                                                                                                          +
                                                                                                                                                                          963  }
                                                                                                                                                                          +
                                                                                                                                                                          964  }
                                                                                                                                                                          +
                                                                                                                                                                          965  result.stars = std::unique_ptr<Stars>(filteredStars);
                                                                                                                                                                          +
                                                                                                                                                                          966  inputStars = filteredStars;
                                                                                                                                                                          967 
                                                                                                                                                                          -
                                                                                                                                                                          968  if (starIdAlgorithm && database && inputStars && input.InputCamera()) {
                                                                                                                                                                          -
                                                                                                                                                                          969  // TODO: don't copy the vector!
                                                                                                                                                                          -
                                                                                                                                                                          970  std::chrono::time_point<std::chrono::steady_clock> start = std::chrono::steady_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          971 
                                                                                                                                                                          -
                                                                                                                                                                          972  result.starIds = std::unique_ptr<StarIdentifiers>(new std::vector<StarIdentifier>(
                                                                                                                                                                          -
                                                                                                                                                                          973  starIdAlgorithm->Go(database.get(), *inputStars, result.catalog, *input.InputCamera())));
                                                                                                                                                                          -
                                                                                                                                                                          974 
                                                                                                                                                                          -
                                                                                                                                                                          975  std::chrono::time_point<std::chrono::steady_clock> end = std::chrono::steady_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          976  result.starIdTimeNs = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
                                                                                                                                                                          -
                                                                                                                                                                          977 
                                                                                                                                                                          -
                                                                                                                                                                          978  inputStarIds = result.starIds.get();
                                                                                                                                                                          -
                                                                                                                                                                          979  } else if (starIdAlgorithm) {
                                                                                                                                                                          -
                                                                                                                                                                          980  std::cerr << "ERROR: Star ID algorithm specified but cannot run because database, centroids, or camera are missing." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          981  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          982  }
                                                                                                                                                                          +
                                                                                                                                                                          968  // any starid set up to this point needs to be discarded, because it's based on input
                                                                                                                                                                          +
                                                                                                                                                                          969  // centroids instead of our new centroids.
                                                                                                                                                                          +
                                                                                                                                                                          970  inputStarIds = NULL;
                                                                                                                                                                          +
                                                                                                                                                                          971  result.starIds = NULL;
                                                                                                                                                                          +
                                                                                                                                                                          972  } else if (centroidAlgorithm) {
                                                                                                                                                                          +
                                                                                                                                                                          973  std::cerr << "ERROR: Centroid algorithm specified, but no input image to run it on." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          974  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          975  }
                                                                                                                                                                          +
                                                                                                                                                                          976 
                                                                                                                                                                          +
                                                                                                                                                                          977  if (starIdAlgorithm && database && inputStars && input.InputCamera()) {
                                                                                                                                                                          +
                                                                                                                                                                          978  // TODO: don't copy the vector!
                                                                                                                                                                          +
                                                                                                                                                                          979  std::chrono::time_point<std::chrono::steady_clock> start = std::chrono::steady_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          980 
                                                                                                                                                                          +
                                                                                                                                                                          981  result.starIds = std::unique_ptr<StarIdentifiers>(new std::vector<StarIdentifier>(
                                                                                                                                                                          +
                                                                                                                                                                          982  starIdAlgorithm->Go(database.get(), *inputStars, result.catalog, *input.InputCamera())));
                                                                                                                                                                          983 
                                                                                                                                                                          -
                                                                                                                                                                          984  if (attitudeEstimationAlgorithm && inputStarIds && input.InputCamera()) {
                                                                                                                                                                          -
                                                                                                                                                                          985  assert(inputStars); // ensure that starIds doesn't exist without stars
                                                                                                                                                                          -
                                                                                                                                                                          986  std::chrono::time_point<std::chrono::steady_clock> start = std::chrono::steady_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          987 
                                                                                                                                                                          -
                                                                                                                                                                          988  result.attitude = std::unique_ptr<Attitude>(
                                                                                                                                                                          -
                                                                                                                                                                          989  new Attitude(attitudeEstimationAlgorithm->Go(*input.InputCamera(), *inputStars, result.catalog, *inputStarIds)));
                                                                                                                                                                          -
                                                                                                                                                                          990 
                                                                                                                                                                          -
                                                                                                                                                                          991  std::chrono::time_point<std::chrono::steady_clock> end = std::chrono::steady_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          992  result.attitudeEstimationTimeNs = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
                                                                                                                                                                          -
                                                                                                                                                                          993  } else if (attitudeEstimationAlgorithm) {
                                                                                                                                                                          -
                                                                                                                                                                          994  std::cerr << "ERROR: Attitude estimation algorithm set, but either star IDs or camera are missing. One reason this can happen: Setting a centroid algorithm and attitude algorithm, but no star-id algorithm -- that can't work because the input star-ids won't properly correspond to the output centroids!" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          995  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          996  }
                                                                                                                                                                          -
                                                                                                                                                                          997 
                                                                                                                                                                          -
                                                                                                                                                                          998  return result;
                                                                                                                                                                          -
                                                                                                                                                                          999 }
                                                                                                                                                                          -
                                                                                                                                                                          1000 
                                                                                                                                                                          -
                                                                                                                                                                          1002 std::vector<PipelineOutput> Pipeline::Go(const PipelineInputList &inputs) {
                                                                                                                                                                          -
                                                                                                                                                                          1003  std::vector<PipelineOutput> result;
                                                                                                                                                                          -
                                                                                                                                                                          1004 
                                                                                                                                                                          -
                                                                                                                                                                          1005 
                                                                                                                                                                          -
                                                                                                                                                                          1006  for (const std::unique_ptr<PipelineInput> &input : inputs) {
                                                                                                                                                                          -
                                                                                                                                                                          1007  result.push_back(Go(*input));
                                                                                                                                                                          -
                                                                                                                                                                          1008  }
                                                                                                                                                                          +
                                                                                                                                                                          984  std::chrono::time_point<std::chrono::steady_clock> end = std::chrono::steady_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          985  result.starIdTimeNs = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
                                                                                                                                                                          +
                                                                                                                                                                          986 
                                                                                                                                                                          +
                                                                                                                                                                          987  inputStarIds = result.starIds.get();
                                                                                                                                                                          +
                                                                                                                                                                          988  } else if (starIdAlgorithm) {
                                                                                                                                                                          +
                                                                                                                                                                          989  std::cerr << "ERROR: Star ID algorithm specified but cannot run because database, centroids, or camera are missing." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          990  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          991  }
                                                                                                                                                                          +
                                                                                                                                                                          992 
                                                                                                                                                                          +
                                                                                                                                                                          993  if (attitudeEstimationAlgorithm && inputStarIds && input.InputCamera()) {
                                                                                                                                                                          +
                                                                                                                                                                          994  assert(inputStars); // ensure that starIds doesn't exist without stars
                                                                                                                                                                          +
                                                                                                                                                                          995  std::chrono::time_point<std::chrono::steady_clock> start = std::chrono::steady_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          996 
                                                                                                                                                                          +
                                                                                                                                                                          997  result.attitude = std::unique_ptr<Attitude>(
                                                                                                                                                                          +
                                                                                                                                                                          998  new Attitude(attitudeEstimationAlgorithm->Go(*input.InputCamera(), *inputStars, result.catalog, *inputStarIds)));
                                                                                                                                                                          +
                                                                                                                                                                          999 
                                                                                                                                                                          +
                                                                                                                                                                          1000  std::chrono::time_point<std::chrono::steady_clock> end = std::chrono::steady_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          1001  result.attitudeEstimationTimeNs = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
                                                                                                                                                                          +
                                                                                                                                                                          1002  } else if (attitudeEstimationAlgorithm) {
                                                                                                                                                                          +
                                                                                                                                                                          1003  std::cerr << "ERROR: Attitude estimation algorithm set, but either star IDs or camera are missing. One reason this can happen: Setting a centroid algorithm and attitude algorithm, but no star-id algorithm -- that can't work because the input star-ids won't properly correspond to the output centroids!" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1004  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          1005  }
                                                                                                                                                                          +
                                                                                                                                                                          1006 
                                                                                                                                                                          +
                                                                                                                                                                          1007  return result;
                                                                                                                                                                          +
                                                                                                                                                                          1008 }
                                                                                                                                                                          1009 
                                                                                                                                                                          -
                                                                                                                                                                          1010  return result;
                                                                                                                                                                          -
                                                                                                                                                                          1011 }
                                                                                                                                                                          -
                                                                                                                                                                          1012 
                                                                                                                                                                          -
                                                                                                                                                                          1014 // COMPARISON //
                                                                                                                                                                          -
                                                                                                                                                                          1016 
                                                                                                                                                                          - -
                                                                                                                                                                          1022 public:
                                                                                                                                                                          - -
                                                                                                                                                                          1028  float meanError;
                                                                                                                                                                          -
                                                                                                                                                                          1029 
                                                                                                                                                                          - -
                                                                                                                                                                          1034 
                                                                                                                                                                          - -
                                                                                                                                                                          1040 
                                                                                                                                                                          -
                                                                                                                                                                          1041  // We no longer have a num missing because often generated stars have too low of a signal-to-noise ratio and the centroid algo won't pick them up.
                                                                                                                                                                          -
                                                                                                                                                                          1042 };
                                                                                                                                                                          +
                                                                                                                                                                          1011 std::vector<PipelineOutput> Pipeline::Go(const PipelineInputList &inputs) {
                                                                                                                                                                          +
                                                                                                                                                                          1012  std::vector<PipelineOutput> result;
                                                                                                                                                                          +
                                                                                                                                                                          1013 
                                                                                                                                                                          +
                                                                                                                                                                          1014 
                                                                                                                                                                          +
                                                                                                                                                                          1015  for (const std::unique_ptr<PipelineInput> &input : inputs) {
                                                                                                                                                                          +
                                                                                                                                                                          1016  result.push_back(Go(*input));
                                                                                                                                                                          +
                                                                                                                                                                          1017  }
                                                                                                                                                                          +
                                                                                                                                                                          1018 
                                                                                                                                                                          +
                                                                                                                                                                          1019  return result;
                                                                                                                                                                          +
                                                                                                                                                                          1020 }
                                                                                                                                                                          +
                                                                                                                                                                          1021 
                                                                                                                                                                          +
                                                                                                                                                                          1023 // COMPARISON //
                                                                                                                                                                          +
                                                                                                                                                                          1025 
                                                                                                                                                                          + +
                                                                                                                                                                          1031 public:
                                                                                                                                                                          + + +
                                                                                                                                                                          1038 
                                                                                                                                                                          +
                                                                                                                                                                          1043 
                                                                                                                                                                          -
                                                                                                                                                                          1048 static std::multimap<int, int> FindClosestCentroids(float threshold,
                                                                                                                                                                          -
                                                                                                                                                                          1049  const Stars &one,
                                                                                                                                                                          -
                                                                                                                                                                          1050  const Stars &two) {
                                                                                                                                                                          -
                                                                                                                                                                          1051  std::multimap<int, int> result;
                                                                                                                                                                          + +
                                                                                                                                                                          1049 
                                                                                                                                                                          +
                                                                                                                                                                          1050  // We no longer have a num missing because often generated stars have too low of a signal-to-noise ratio and the centroid algo won't pick them up.
                                                                                                                                                                          +
                                                                                                                                                                          1051 };
                                                                                                                                                                          1052 
                                                                                                                                                                          -
                                                                                                                                                                          1053  for (int i = 0; i < (int)one.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1054  std::vector<std::pair<float, int>> closest;
                                                                                                                                                                          -
                                                                                                                                                                          1055  for (int k = 0; k < (int)two.size(); k++) {
                                                                                                                                                                          -
                                                                                                                                                                          1056  float currDistance = (one[i].position - two[k].position).Magnitude();
                                                                                                                                                                          -
                                                                                                                                                                          1057  if (currDistance <= threshold) {
                                                                                                                                                                          -
                                                                                                                                                                          1058  closest.emplace_back(currDistance, k);
                                                                                                                                                                          -
                                                                                                                                                                          1059  }
                                                                                                                                                                          -
                                                                                                                                                                          1060  }
                                                                                                                                                                          -
                                                                                                                                                                          1061  std::sort(closest.begin(), closest.end());
                                                                                                                                                                          -
                                                                                                                                                                          1062  for (const std::pair<float, int> &pair : closest) {
                                                                                                                                                                          -
                                                                                                                                                                          1063  result.emplace(i, pair.second);
                                                                                                                                                                          -
                                                                                                                                                                          1064  }
                                                                                                                                                                          -
                                                                                                                                                                          1065  }
                                                                                                                                                                          -
                                                                                                                                                                          1066 
                                                                                                                                                                          -
                                                                                                                                                                          1067  return result;
                                                                                                                                                                          -
                                                                                                                                                                          1068 }
                                                                                                                                                                          -
                                                                                                                                                                          1069 
                                                                                                                                                                          - -
                                                                                                                                                                          1076  const Stars &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1077  const Stars &actual) {
                                                                                                                                                                          +
                                                                                                                                                                          1057 static std::multimap<int, int> FindClosestCentroids(decimal threshold,
                                                                                                                                                                          +
                                                                                                                                                                          1058  const Stars &one,
                                                                                                                                                                          +
                                                                                                                                                                          1059  const Stars &two) {
                                                                                                                                                                          +
                                                                                                                                                                          1060  std::multimap<int, int> result;
                                                                                                                                                                          +
                                                                                                                                                                          1061 
                                                                                                                                                                          +
                                                                                                                                                                          1062  for (int i = 0; i < (int)one.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1063  std::vector<std::pair<decimal, int>> closest;
                                                                                                                                                                          +
                                                                                                                                                                          1064  for (int k = 0; k < (int)two.size(); k++) {
                                                                                                                                                                          +
                                                                                                                                                                          1065  decimal currDistance = (one[i].position - two[k].position).Magnitude();
                                                                                                                                                                          +
                                                                                                                                                                          1066  if (currDistance <= threshold) {
                                                                                                                                                                          +
                                                                                                                                                                          1067  closest.emplace_back(currDistance, k);
                                                                                                                                                                          +
                                                                                                                                                                          1068  }
                                                                                                                                                                          +
                                                                                                                                                                          1069  }
                                                                                                                                                                          +
                                                                                                                                                                          1070  std::sort(closest.begin(), closest.end());
                                                                                                                                                                          +
                                                                                                                                                                          1071  for (const std::pair<decimal, int> &pair : closest) {
                                                                                                                                                                          +
                                                                                                                                                                          1072  result.emplace(i, pair.second);
                                                                                                                                                                          +
                                                                                                                                                                          1073  }
                                                                                                                                                                          +
                                                                                                                                                                          1074  }
                                                                                                                                                                          +
                                                                                                                                                                          1075 
                                                                                                                                                                          +
                                                                                                                                                                          1076  return result;
                                                                                                                                                                          +
                                                                                                                                                                          1077 }
                                                                                                                                                                          1078 
                                                                                                                                                                          -
                                                                                                                                                                          1079  // TODO: Somehow penalize when multiple centroids correspond to the same expected star (i.e.,
                                                                                                                                                                          -
                                                                                                                                                                          1080  // one star turned into multiple centroids). That should probably be considered an extra
                                                                                                                                                                          -
                                                                                                                                                                          1081  // centroid, but rn it isn't.
                                                                                                                                                                          -
                                                                                                                                                                          1082 
                                                                                                                                                                          -
                                                                                                                                                                          1083  CentroidComparison result;
                                                                                                                                                                          -
                                                                                                                                                                          1084  // maps from indexes in each list to the closest centroid from other list
                                                                                                                                                                          -
                                                                                                                                                                          1085  std::multimap<int, int> actualToExpected = FindClosestCentroids(threshold, actual, expected);
                                                                                                                                                                          -
                                                                                                                                                                          1086 
                                                                                                                                                                          -
                                                                                                                                                                          1087  for (int i = 0; i < (int)actualToExpected.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1088  auto closest = actualToExpected.find(i);
                                                                                                                                                                          -
                                                                                                                                                                          1089  if (closest == actualToExpected.end()) {
                                                                                                                                                                          -
                                                                                                                                                                          1090  result.numExtraCentroids++;
                                                                                                                                                                          -
                                                                                                                                                                          1091  } else {
                                                                                                                                                                          -
                                                                                                                                                                          1092  result.meanError += (actual[i].position - expected[closest->second].position).Magnitude();
                                                                                                                                                                          -
                                                                                                                                                                          1093  result.numCorrectCentroids++;
                                                                                                                                                                          -
                                                                                                                                                                          1094  }
                                                                                                                                                                          -
                                                                                                                                                                          1095  }
                                                                                                                                                                          -
                                                                                                                                                                          1096  result.meanError /= result.numCorrectCentroids;
                                                                                                                                                                          -
                                                                                                                                                                          1097 
                                                                                                                                                                          -
                                                                                                                                                                          1098  return result;
                                                                                                                                                                          -
                                                                                                                                                                          1099 }
                                                                                                                                                                          -
                                                                                                                                                                          1100 
                                                                                                                                                                          -
                                                                                                                                                                          1101 CentroidComparison CentroidComparisonsCombine(std::vector<CentroidComparison> comparisons) {
                                                                                                                                                                          -
                                                                                                                                                                          1102  assert(comparisons.size() > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1103 
                                                                                                                                                                          -
                                                                                                                                                                          1104  CentroidComparison result;
                                                                                                                                                                          -
                                                                                                                                                                          1105 
                                                                                                                                                                          -
                                                                                                                                                                          1106  for (const CentroidComparison &comparison : comparisons) {
                                                                                                                                                                          -
                                                                                                                                                                          1107  result.meanError += comparison.meanError;
                                                                                                                                                                          -
                                                                                                                                                                          1108  result.numCorrectCentroids += comparison.numCorrectCentroids;
                                                                                                                                                                          -
                                                                                                                                                                          1109  result.numExtraCentroids += comparison.numExtraCentroids;
                                                                                                                                                                          -
                                                                                                                                                                          1110  }
                                                                                                                                                                          -
                                                                                                                                                                          1111 
                                                                                                                                                                          -
                                                                                                                                                                          1112  result.meanError /= comparisons.size();
                                                                                                                                                                          -
                                                                                                                                                                          1113  result.numExtraCentroids /= comparisons.size();
                                                                                                                                                                          -
                                                                                                                                                                          1114  result.numCorrectCentroids /= comparisons.size();
                                                                                                                                                                          -
                                                                                                                                                                          1115 
                                                                                                                                                                          -
                                                                                                                                                                          1116  return result;
                                                                                                                                                                          -
                                                                                                                                                                          1117 }
                                                                                                                                                                          -
                                                                                                                                                                          1118 
                                                                                                                                                                          -
                                                                                                                                                                          1119 // (documentation in hpp)
                                                                                                                                                                          - -
                                                                                                                                                                          1121  // use these to map indices to names for the respective lists of StarIdentifiers
                                                                                                                                                                          -
                                                                                                                                                                          1122  const Catalog &expectedCatalog, const Catalog &actualCatalog,
                                                                                                                                                                          -
                                                                                                                                                                          1123  float centroidThreshold,
                                                                                                                                                                          -
                                                                                                                                                                          1124  const Stars &expectedStars, const Stars &inputStars) {
                                                                                                                                                                          -
                                                                                                                                                                          1125 
                                                                                                                                                                          -
                                                                                                                                                                          1126  StarIdComparison result = {
                                                                                                                                                                          -
                                                                                                                                                                          1127  0, // correct
                                                                                                                                                                          -
                                                                                                                                                                          1128  0, // incorrect
                                                                                                                                                                          -
                                                                                                                                                                          1129  0, // total
                                                                                                                                                                          -
                                                                                                                                                                          1130  };
                                                                                                                                                                          -
                                                                                                                                                                          1131 
                                                                                                                                                                          -
                                                                                                                                                                          1132  // EXPECTED STAR IDS
                                                                                                                                                                          -
                                                                                                                                                                          1133 
                                                                                                                                                                          -
                                                                                                                                                                          1134  // map from expected star indices to expected catalog indices (basically flattening the expected star-ids)
                                                                                                                                                                          -
                                                                                                                                                                          1135  std::vector<int> expectedCatalogIndices(expectedStars.size(), -1);
                                                                                                                                                                          -
                                                                                                                                                                          1136  for (const StarIdentifier &starId : expected) {
                                                                                                                                                                          -
                                                                                                                                                                          1137  assert(0 <= starId.starIndex && starId.starIndex <= (int)expectedStars.size());
                                                                                                                                                                          -
                                                                                                                                                                          1138  assert(0 <= starId.catalogIndex && starId.catalogIndex <= (int)expectedCatalog.size());
                                                                                                                                                                          -
                                                                                                                                                                          1139  expectedCatalogIndices[starId.starIndex] = starId.catalogIndex;
                                                                                                                                                                          -
                                                                                                                                                                          1140  }
                                                                                                                                                                          -
                                                                                                                                                                          1141 
                                                                                                                                                                          -
                                                                                                                                                                          1142  // FIND NEAREST CENTROIDS
                                                                                                                                                                          -
                                                                                                                                                                          1143 
                                                                                                                                                                          -
                                                                                                                                                                          1144  std::multimap<int, int> inputToExpectedCentroids = FindClosestCentroids(centroidThreshold, inputStars, expectedStars);
                                                                                                                                                                          -
                                                                                                                                                                          1145  // std::multimap<int, int> expectedToInputCentroids = FindClosestCentroids(centroidThreshold, expectedStars, inputStars);
                                                                                                                                                                          -
                                                                                                                                                                          1146 
                                                                                                                                                                          -
                                                                                                                                                                          1147  // COMPUTE TOTAL
                                                                                                                                                                          -
                                                                                                                                                                          1148  // Count the number of expected stars with at least one input star near them
                                                                                                                                                                          -
                                                                                                                                                                          1149  for (int i = 0; i < (int)inputStars.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1150  // make sure there's at least one expected star near this input star which has an identification
                                                                                                                                                                          -
                                                                                                                                                                          1151  auto closestRange = inputToExpectedCentroids.equal_range(i);
                                                                                                                                                                          -
                                                                                                                                                                          1152  bool found = false;
                                                                                                                                                                          -
                                                                                                                                                                          1153  for (auto it = closestRange.first; it != closestRange.second; it++) {
                                                                                                                                                                          -
                                                                                                                                                                          1154  if (expectedCatalogIndices[it->second] != -1) {
                                                                                                                                                                          -
                                                                                                                                                                          1155  found = true;
                                                                                                                                                                          -
                                                                                                                                                                          1156  break;
                                                                                                                                                                          -
                                                                                                                                                                          1157  }
                                                                                                                                                                          -
                                                                                                                                                                          1158  }
                                                                                                                                                                          -
                                                                                                                                                                          1159  if (found) {
                                                                                                                                                                          -
                                                                                                                                                                          1160  result.numTotal++;
                                                                                                                                                                          -
                                                                                                                                                                          1161  }
                                                                                                                                                                          -
                                                                                                                                                                          1162  }
                                                                                                                                                                          -
                                                                                                                                                                          1163 
                                                                                                                                                                          -
                                                                                                                                                                          1164  // COMPUTE CORRECT AND INCORRECT
                                                                                                                                                                          -
                                                                                                                                                                          1165 
                                                                                                                                                                          -
                                                                                                                                                                          1166  std::vector<bool> identifiedInputCentroids(inputStars.size(), false);
                                                                                                                                                                          -
                                                                                                                                                                          1167  for (const StarIdentifier &starId : actual) {
                                                                                                                                                                          -
                                                                                                                                                                          1168  // as later, there shouldn't be duplicate starIndex. This indicates a bug in the star-id algorithm, not comparison code.
                                                                                                                                                                          -
                                                                                                                                                                          1169  assert(!identifiedInputCentroids[starId.starIndex]);
                                                                                                                                                                          -
                                                                                                                                                                          1170  identifiedInputCentroids[starId.starIndex] = true;
                                                                                                                                                                          -
                                                                                                                                                                          1171  assert(0 <= starId.starIndex && starId.starIndex <= (int)inputStars.size());
                                                                                                                                                                          -
                                                                                                                                                                          1172  assert(0 <= starId.catalogIndex && starId.catalogIndex <= (int)actualCatalog.size());
                                                                                                                                                                          -
                                                                                                                                                                          1173 
                                                                                                                                                                          -
                                                                                                                                                                          1174  // Check that there's at least one expected centroid in range which agrees with your identification.
                                                                                                                                                                          -
                                                                                                                                                                          1175  auto expectedCentroidsInRange = inputToExpectedCentroids.equal_range(starId.starIndex);
                                                                                                                                                                          -
                                                                                                                                                                          1176  bool found = false;
                                                                                                                                                                          -
                                                                                                                                                                          1177  for (auto it = expectedCentroidsInRange.first; it != expectedCentroidsInRange.second; it++) {
                                                                                                                                                                          -
                                                                                                                                                                          1178  int expectedCatalogIndex = expectedCatalogIndices[it->second];
                                                                                                                                                                          -
                                                                                                                                                                          1179  if (expectedCatalogIndex != -1
                                                                                                                                                                          -
                                                                                                                                                                          1180  && expectedCatalog[expectedCatalogIndex].name == actualCatalog[starId.catalogIndex].name) {
                                                                                                                                                                          -
                                                                                                                                                                          1181 
                                                                                                                                                                          -
                                                                                                                                                                          1182  result.numCorrect++;
                                                                                                                                                                          -
                                                                                                                                                                          1183  found = true;
                                                                                                                                                                          -
                                                                                                                                                                          1184  break;
                                                                                                                                                                          -
                                                                                                                                                                          1185  }
                                                                                                                                                                          -
                                                                                                                                                                          1186  }
                                                                                                                                                                          -
                                                                                                                                                                          1187 
                                                                                                                                                                          -
                                                                                                                                                                          1188  // Either there's no expected centroid in range, or none of them agree with the identification.
                                                                                                                                                                          -
                                                                                                                                                                          1189  if (!found) {
                                                                                                                                                                          -
                                                                                                                                                                          1190  result.numIncorrect++;
                                                                                                                                                                          -
                                                                                                                                                                          1191  }
                                                                                                                                                                          -
                                                                                                                                                                          1192  }
                                                                                                                                                                          -
                                                                                                                                                                          1193 
                                                                                                                                                                          -
                                                                                                                                                                          1194  return result;
                                                                                                                                                                          -
                                                                                                                                                                          1195 }
                                                                                                                                                                          + +
                                                                                                                                                                          1085  const Stars &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1086  const Stars &actual) {
                                                                                                                                                                          +
                                                                                                                                                                          1087 
                                                                                                                                                                          +
                                                                                                                                                                          1088  // TODO: Somehow penalize when multiple centroids correspond to the same expected star (i.e.,
                                                                                                                                                                          +
                                                                                                                                                                          1089  // one star turned into multiple centroids). That should probably be considered an extra
                                                                                                                                                                          +
                                                                                                                                                                          1090  // centroid, but rn it isn't.
                                                                                                                                                                          +
                                                                                                                                                                          1091 
                                                                                                                                                                          +
                                                                                                                                                                          1092  CentroidComparison result;
                                                                                                                                                                          +
                                                                                                                                                                          1093  // maps from indexes in each list to the closest centroid from other list
                                                                                                                                                                          +
                                                                                                                                                                          1094  std::multimap<int, int> actualToExpected = FindClosestCentroids(threshold, actual, expected);
                                                                                                                                                                          +
                                                                                                                                                                          1095 
                                                                                                                                                                          +
                                                                                                                                                                          1096  for (int i = 0; i < (int)actualToExpected.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1097  auto closest = actualToExpected.find(i);
                                                                                                                                                                          +
                                                                                                                                                                          1098  if (closest == actualToExpected.end()) {
                                                                                                                                                                          +
                                                                                                                                                                          1099  result.numExtraCentroids++;
                                                                                                                                                                          +
                                                                                                                                                                          1100  } else {
                                                                                                                                                                          +
                                                                                                                                                                          1101  result.meanError += (actual[i].position - expected[closest->second].position).Magnitude();
                                                                                                                                                                          +
                                                                                                                                                                          1102  result.numCorrectCentroids++;
                                                                                                                                                                          +
                                                                                                                                                                          1103  }
                                                                                                                                                                          +
                                                                                                                                                                          1104  }
                                                                                                                                                                          +
                                                                                                                                                                          1105  result.meanError /= result.numCorrectCentroids;
                                                                                                                                                                          +
                                                                                                                                                                          1106 
                                                                                                                                                                          +
                                                                                                                                                                          1107  return result;
                                                                                                                                                                          +
                                                                                                                                                                          1108 }
                                                                                                                                                                          +
                                                                                                                                                                          1109 
                                                                                                                                                                          +
                                                                                                                                                                          1110 CentroidComparison CentroidComparisonsCombine(std::vector<CentroidComparison> comparisons) {
                                                                                                                                                                          +
                                                                                                                                                                          1111  assert(comparisons.size() > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1112 
                                                                                                                                                                          +
                                                                                                                                                                          1113  CentroidComparison result;
                                                                                                                                                                          +
                                                                                                                                                                          1114 
                                                                                                                                                                          +
                                                                                                                                                                          1115  for (const CentroidComparison &comparison : comparisons) {
                                                                                                                                                                          +
                                                                                                                                                                          1116  result.meanError += comparison.meanError;
                                                                                                                                                                          +
                                                                                                                                                                          1117  result.numCorrectCentroids += comparison.numCorrectCentroids;
                                                                                                                                                                          +
                                                                                                                                                                          1118  result.numExtraCentroids += comparison.numExtraCentroids;
                                                                                                                                                                          +
                                                                                                                                                                          1119  }
                                                                                                                                                                          +
                                                                                                                                                                          1120 
                                                                                                                                                                          +
                                                                                                                                                                          1121  result.meanError /= comparisons.size();
                                                                                                                                                                          +
                                                                                                                                                                          1122  result.numExtraCentroids /= comparisons.size();
                                                                                                                                                                          +
                                                                                                                                                                          1123  result.numCorrectCentroids /= comparisons.size();
                                                                                                                                                                          +
                                                                                                                                                                          1124 
                                                                                                                                                                          +
                                                                                                                                                                          1125  return result;
                                                                                                                                                                          +
                                                                                                                                                                          1126 }
                                                                                                                                                                          +
                                                                                                                                                                          1127 
                                                                                                                                                                          +
                                                                                                                                                                          1128 // (documentation in hpp)
                                                                                                                                                                          + +
                                                                                                                                                                          1130  // use these to map indices to names for the respective lists of StarIdentifiers
                                                                                                                                                                          +
                                                                                                                                                                          1131  const Catalog &expectedCatalog, const Catalog &actualCatalog,
                                                                                                                                                                          +
                                                                                                                                                                          1132  decimal centroidThreshold,
                                                                                                                                                                          +
                                                                                                                                                                          1133  const Stars &expectedStars, const Stars &inputStars) {
                                                                                                                                                                          +
                                                                                                                                                                          1134 
                                                                                                                                                                          +
                                                                                                                                                                          1135  StarIdComparison result = {
                                                                                                                                                                          +
                                                                                                                                                                          1136  0, // correct
                                                                                                                                                                          +
                                                                                                                                                                          1137  0, // incorrect
                                                                                                                                                                          +
                                                                                                                                                                          1138  0, // total
                                                                                                                                                                          +
                                                                                                                                                                          1139  };
                                                                                                                                                                          +
                                                                                                                                                                          1140 
                                                                                                                                                                          +
                                                                                                                                                                          1141  // EXPECTED STAR IDS
                                                                                                                                                                          +
                                                                                                                                                                          1142 
                                                                                                                                                                          +
                                                                                                                                                                          1143  // map from expected star indices to expected catalog indices (basically flattening the expected star-ids)
                                                                                                                                                                          +
                                                                                                                                                                          1144  std::vector<int> expectedCatalogIndices(expectedStars.size(), -1);
                                                                                                                                                                          +
                                                                                                                                                                          1145  for (const StarIdentifier &starId : expected) {
                                                                                                                                                                          +
                                                                                                                                                                          1146  assert(0 <= starId.starIndex && starId.starIndex <= (int)expectedStars.size());
                                                                                                                                                                          +
                                                                                                                                                                          1147  assert(0 <= starId.catalogIndex && starId.catalogIndex <= (int)expectedCatalog.size());
                                                                                                                                                                          +
                                                                                                                                                                          1148  expectedCatalogIndices[starId.starIndex] = starId.catalogIndex;
                                                                                                                                                                          +
                                                                                                                                                                          1149  }
                                                                                                                                                                          +
                                                                                                                                                                          1150 
                                                                                                                                                                          +
                                                                                                                                                                          1151  // FIND NEAREST CENTROIDS
                                                                                                                                                                          +
                                                                                                                                                                          1152 
                                                                                                                                                                          +
                                                                                                                                                                          1153  std::multimap<int, int> inputToExpectedCentroids = FindClosestCentroids(centroidThreshold, inputStars, expectedStars);
                                                                                                                                                                          +
                                                                                                                                                                          1154  // std::multimap<int, int> expectedToInputCentroids = FindClosestCentroids(centroidThreshold, expectedStars, inputStars);
                                                                                                                                                                          +
                                                                                                                                                                          1155 
                                                                                                                                                                          +
                                                                                                                                                                          1156  // COMPUTE TOTAL
                                                                                                                                                                          +
                                                                                                                                                                          1157  // Count the number of expected stars with at least one input star near them
                                                                                                                                                                          +
                                                                                                                                                                          1158  for (int i = 0; i < (int)inputStars.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1159  // make sure there's at least one expected star near this input star which has an identification
                                                                                                                                                                          +
                                                                                                                                                                          1160  auto closestRange = inputToExpectedCentroids.equal_range(i);
                                                                                                                                                                          +
                                                                                                                                                                          1161  bool found = false;
                                                                                                                                                                          +
                                                                                                                                                                          1162  for (auto it = closestRange.first; it != closestRange.second; it++) {
                                                                                                                                                                          +
                                                                                                                                                                          1163  if (expectedCatalogIndices[it->second] != -1) {
                                                                                                                                                                          +
                                                                                                                                                                          1164  found = true;
                                                                                                                                                                          +
                                                                                                                                                                          1165  break;
                                                                                                                                                                          +
                                                                                                                                                                          1166  }
                                                                                                                                                                          +
                                                                                                                                                                          1167  }
                                                                                                                                                                          +
                                                                                                                                                                          1168  if (found) {
                                                                                                                                                                          +
                                                                                                                                                                          1169  result.numTotal++;
                                                                                                                                                                          +
                                                                                                                                                                          1170  }
                                                                                                                                                                          +
                                                                                                                                                                          1171  }
                                                                                                                                                                          +
                                                                                                                                                                          1172 
                                                                                                                                                                          +
                                                                                                                                                                          1173  // COMPUTE CORRECT AND INCORRECT
                                                                                                                                                                          +
                                                                                                                                                                          1174 
                                                                                                                                                                          +
                                                                                                                                                                          1175  std::vector<bool> identifiedInputCentroids(inputStars.size(), false);
                                                                                                                                                                          +
                                                                                                                                                                          1176  for (const StarIdentifier &starId : actual) {
                                                                                                                                                                          +
                                                                                                                                                                          1177  // as later, there shouldn't be duplicate starIndex. This indicates a bug in the star-id algorithm, not comparison code.
                                                                                                                                                                          +
                                                                                                                                                                          1178  assert(!identifiedInputCentroids[starId.starIndex]);
                                                                                                                                                                          +
                                                                                                                                                                          1179  identifiedInputCentroids[starId.starIndex] = true;
                                                                                                                                                                          +
                                                                                                                                                                          1180  assert(0 <= starId.starIndex && starId.starIndex <= (int)inputStars.size());
                                                                                                                                                                          +
                                                                                                                                                                          1181  assert(0 <= starId.catalogIndex && starId.catalogIndex <= (int)actualCatalog.size());
                                                                                                                                                                          +
                                                                                                                                                                          1182 
                                                                                                                                                                          +
                                                                                                                                                                          1183  // Check that there's at least one expected centroid in range which agrees with your identification.
                                                                                                                                                                          +
                                                                                                                                                                          1184  auto expectedCentroidsInRange = inputToExpectedCentroids.equal_range(starId.starIndex);
                                                                                                                                                                          +
                                                                                                                                                                          1185  bool found = false;
                                                                                                                                                                          +
                                                                                                                                                                          1186  for (auto it = expectedCentroidsInRange.first; it != expectedCentroidsInRange.second; it++) {
                                                                                                                                                                          +
                                                                                                                                                                          1187  int expectedCatalogIndex = expectedCatalogIndices[it->second];
                                                                                                                                                                          +
                                                                                                                                                                          1188  if (expectedCatalogIndex != -1
                                                                                                                                                                          +
                                                                                                                                                                          1189  && expectedCatalog[expectedCatalogIndex].name == actualCatalog[starId.catalogIndex].name) {
                                                                                                                                                                          +
                                                                                                                                                                          1190 
                                                                                                                                                                          +
                                                                                                                                                                          1191  result.numCorrect++;
                                                                                                                                                                          +
                                                                                                                                                                          1192  found = true;
                                                                                                                                                                          +
                                                                                                                                                                          1193  break;
                                                                                                                                                                          +
                                                                                                                                                                          1194  }
                                                                                                                                                                          +
                                                                                                                                                                          1195  }
                                                                                                                                                                          1196 
                                                                                                                                                                          -
                                                                                                                                                                          1198 // PIPELINE OUTPUT //
                                                                                                                                                                          -
                                                                                                                                                                          1200 
                                                                                                                                                                          -
                                                                                                                                                                          1201 typedef void (*PipelineComparator)(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1202  const PipelineInputList &,
                                                                                                                                                                          -
                                                                                                                                                                          1203  const std::vector<PipelineOutput> &,
                                                                                                                                                                          -
                                                                                                                                                                          1204  const PipelineOptions &);
                                                                                                                                                                          +
                                                                                                                                                                          1197  // Either there's no expected centroid in range, or none of them agree with the identification.
                                                                                                                                                                          +
                                                                                                                                                                          1198  if (!found) {
                                                                                                                                                                          +
                                                                                                                                                                          1199  result.numIncorrect++;
                                                                                                                                                                          +
                                                                                                                                                                          1200  }
                                                                                                                                                                          +
                                                                                                                                                                          1201  }
                                                                                                                                                                          +
                                                                                                                                                                          1202 
                                                                                                                                                                          +
                                                                                                                                                                          1203  return result;
                                                                                                                                                                          +
                                                                                                                                                                          1204 }
                                                                                                                                                                          1205 
                                                                                                                                                                          -
                                                                                                                                                                          1207 static cairo_status_t OstreamPlotter(void *closure, const unsigned char *data, unsigned int length) {
                                                                                                                                                                          -
                                                                                                                                                                          1208  std::ostream *os = (std::ostream *)closure;
                                                                                                                                                                          -
                                                                                                                                                                          1209  os->write((const char *)data, length);
                                                                                                                                                                          -
                                                                                                                                                                          1210  return CAIRO_STATUS_SUCCESS;
                                                                                                                                                                          -
                                                                                                                                                                          1211 }
                                                                                                                                                                          -
                                                                                                                                                                          1212 
                                                                                                                                                                          -
                                                                                                                                                                          1214 static void PipelineComparatorPlotRawInput(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1215  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1216  const std::vector<PipelineOutput> &,
                                                                                                                                                                          -
                                                                                                                                                                          1217  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1218 
                                                                                                                                                                          -
                                                                                                                                                                          1219  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          -
                                                                                                                                                                          1220  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          -
                                                                                                                                                                          1221  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          1222 }
                                                                                                                                                                          -
                                                                                                                                                                          1223 
                                                                                                                                                                          -
                                                                                                                                                                          1225 // TODO: should probably use Expected methods, not Input methods, because future PipelineInputs could add noise to the result of the Input methods.
                                                                                                                                                                          -
                                                                                                                                                                          1226 static void PipelineComparatorPlotInput(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1227  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1228  const std::vector<PipelineOutput> &,
                                                                                                                                                                          -
                                                                                                                                                                          1229  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1230  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          -
                                                                                                                                                                          1231  assert(expected[0]->InputStars() != NULL);
                                                                                                                                                                          -
                                                                                                                                                                          1232  SurfacePlot("pipeline input",
                                                                                                                                                                          -
                                                                                                                                                                          1233  cairoSurface,
                                                                                                                                                                          -
                                                                                                                                                                          1234  *expected[0]->InputStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1235  expected[0]->InputStarIds(),
                                                                                                                                                                          -
                                                                                                                                                                          1236  &expected[0]->GetCatalog(),
                                                                                                                                                                          -
                                                                                                                                                                          1237  expected[0]->InputAttitude(),
                                                                                                                                                                          -
                                                                                                                                                                          1238  // green
                                                                                                                                                                          -
                                                                                                                                                                          1239  0.0, 1.0, 0.0, 0.6);
                                                                                                                                                                          -
                                                                                                                                                                          1240  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          -
                                                                                                                                                                          1241  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          1242 }
                                                                                                                                                                          -
                                                                                                                                                                          1243 
                                                                                                                                                                          -
                                                                                                                                                                          1244 static void PipelineComparatorPlotExpected(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1245  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1246  const std::vector<PipelineOutput> &,
                                                                                                                                                                          -
                                                                                                                                                                          1247  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1248  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          -
                                                                                                                                                                          1249  assert(expected[0]->ExpectedStars() != NULL);
                                                                                                                                                                          -
                                                                                                                                                                          1250  SurfacePlot("expected output",
                                                                                                                                                                          -
                                                                                                                                                                          1251  cairoSurface,
                                                                                                                                                                          -
                                                                                                                                                                          1252  *expected[0]->ExpectedStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1253  expected[0]->ExpectedStarIds(),
                                                                                                                                                                          -
                                                                                                                                                                          1254  &expected[0]->GetCatalog(),
                                                                                                                                                                          -
                                                                                                                                                                          1255  expected[0]->ExpectedAttitude(),
                                                                                                                                                                          -
                                                                                                                                                                          1256  // blu
                                                                                                                                                                          -
                                                                                                                                                                          1257  0.2, 0.5, 1.0, 0.7);
                                                                                                                                                                          -
                                                                                                                                                                          1258  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          -
                                                                                                                                                                          1259  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          1260 }
                                                                                                                                                                          -
                                                                                                                                                                          1261 
                                                                                                                                                                          -
                                                                                                                                                                          1263 static void PipelineComparatorCentroids(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1264  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1265  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1266  const PipelineOptions &values) {
                                                                                                                                                                          -
                                                                                                                                                                          1267  int size = (int)expected.size();
                                                                                                                                                                          -
                                                                                                                                                                          1268 
                                                                                                                                                                          -
                                                                                                                                                                          1269  float threshold = values.centroidCompareThreshold;
                                                                                                                                                                          +
                                                                                                                                                                          1207 // PIPELINE OUTPUT //
                                                                                                                                                                          +
                                                                                                                                                                          1209 
                                                                                                                                                                          +
                                                                                                                                                                          1210 typedef void (*PipelineComparator)(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1211  const PipelineInputList &,
                                                                                                                                                                          +
                                                                                                                                                                          1212  const std::vector<PipelineOutput> &,
                                                                                                                                                                          +
                                                                                                                                                                          1213  const PipelineOptions &);
                                                                                                                                                                          +
                                                                                                                                                                          1214 
                                                                                                                                                                          +
                                                                                                                                                                          1216 static cairo_status_t OstreamPlotter(void *closure, const unsigned char *data, unsigned int length) {
                                                                                                                                                                          +
                                                                                                                                                                          1217  std::ostream *os = (std::ostream *)closure;
                                                                                                                                                                          +
                                                                                                                                                                          1218  os->write((const char *)data, length);
                                                                                                                                                                          +
                                                                                                                                                                          1219  return CAIRO_STATUS_SUCCESS;
                                                                                                                                                                          +
                                                                                                                                                                          1220 }
                                                                                                                                                                          +
                                                                                                                                                                          1221 
                                                                                                                                                                          +
                                                                                                                                                                          1223 static void PipelineComparatorPlotRawInput(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1224  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1225  const std::vector<PipelineOutput> &,
                                                                                                                                                                          +
                                                                                                                                                                          1226  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1227 
                                                                                                                                                                          +
                                                                                                                                                                          1228  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          +
                                                                                                                                                                          1229  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          +
                                                                                                                                                                          1230  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          1231 }
                                                                                                                                                                          +
                                                                                                                                                                          1232 
                                                                                                                                                                          +
                                                                                                                                                                          1234 // TODO: should probably use Expected methods, not Input methods, because future PipelineInputs could add noise to the result of the Input methods.
                                                                                                                                                                          +
                                                                                                                                                                          1235 static void PipelineComparatorPlotInput(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1236  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1237  const std::vector<PipelineOutput> &,
                                                                                                                                                                          +
                                                                                                                                                                          1238  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1239  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          +
                                                                                                                                                                          1240  assert(expected[0]->InputStars() != NULL);
                                                                                                                                                                          +
                                                                                                                                                                          1241  SurfacePlot("pipeline input",
                                                                                                                                                                          +
                                                                                                                                                                          1242  cairoSurface,
                                                                                                                                                                          +
                                                                                                                                                                          1243  *expected[0]->InputStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1244  expected[0]->InputStarIds(),
                                                                                                                                                                          +
                                                                                                                                                                          1245  &expected[0]->GetCatalog(),
                                                                                                                                                                          +
                                                                                                                                                                          1246  expected[0]->InputAttitude(),
                                                                                                                                                                          +
                                                                                                                                                                          1247  // green
                                                                                                                                                                          +
                                                                                                                                                                          1248  0.0, 1.0, 0.0, 0.6);
                                                                                                                                                                          +
                                                                                                                                                                          1249  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          +
                                                                                                                                                                          1250  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          1251 }
                                                                                                                                                                          +
                                                                                                                                                                          1252 
                                                                                                                                                                          +
                                                                                                                                                                          1253 static void PipelineComparatorPlotExpected(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1254  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1255  const std::vector<PipelineOutput> &,
                                                                                                                                                                          +
                                                                                                                                                                          1256  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1257  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          +
                                                                                                                                                                          1258  assert(expected[0]->ExpectedStars() != NULL);
                                                                                                                                                                          +
                                                                                                                                                                          1259  SurfacePlot("expected output",
                                                                                                                                                                          +
                                                                                                                                                                          1260  cairoSurface,
                                                                                                                                                                          +
                                                                                                                                                                          1261  *expected[0]->ExpectedStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1262  expected[0]->ExpectedStarIds(),
                                                                                                                                                                          +
                                                                                                                                                                          1263  &expected[0]->GetCatalog(),
                                                                                                                                                                          +
                                                                                                                                                                          1264  expected[0]->ExpectedAttitude(),
                                                                                                                                                                          +
                                                                                                                                                                          1265  // blu
                                                                                                                                                                          +
                                                                                                                                                                          1266  0.2, 0.5, 1.0, 0.7);
                                                                                                                                                                          +
                                                                                                                                                                          1267  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          +
                                                                                                                                                                          1268  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          1269 }
                                                                                                                                                                          1270 
                                                                                                                                                                          -
                                                                                                                                                                          1271  std::vector<CentroidComparison> comparisons;
                                                                                                                                                                          -
                                                                                                                                                                          1272  for (int i = 0; i < size; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1273  comparisons.push_back(CentroidsCompare(threshold,
                                                                                                                                                                          -
                                                                                                                                                                          1274  *(expected[i]->ExpectedStars()),
                                                                                                                                                                          -
                                                                                                                                                                          1275  *(actual[i].stars)));
                                                                                                                                                                          -
                                                                                                                                                                          1276  }
                                                                                                                                                                          +
                                                                                                                                                                          1272 static void PipelineComparatorCentroids(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1273  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1274  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1275  const PipelineOptions &values) {
                                                                                                                                                                          +
                                                                                                                                                                          1276  int size = (int)expected.size();
                                                                                                                                                                          1277 
                                                                                                                                                                          -
                                                                                                                                                                          1278  CentroidComparison result = CentroidComparisonsCombine(comparisons);
                                                                                                                                                                          -
                                                                                                                                                                          1279  os << "centroids_num_correct " << result.numCorrectCentroids << std::endl
                                                                                                                                                                          -
                                                                                                                                                                          1280  << "centroids_num_extra " << result.numExtraCentroids << std::endl
                                                                                                                                                                          -
                                                                                                                                                                          1281  << "centroids_mean_error " << result.meanError << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1282 }
                                                                                                                                                                          -
                                                                                                                                                                          1283 
                                                                                                                                                                          -
                                                                                                                                                                          1284 static void PrintCentroids(const std::string &prefix,
                                                                                                                                                                          -
                                                                                                                                                                          1285  std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1286  const Catalog &catalog,
                                                                                                                                                                          -
                                                                                                                                                                          1287  const std::vector<Stars> &starses,
                                                                                                                                                                          -
                                                                                                                                                                          1288  // May be NULL. Should be the only the first starId, because we don't have any reasonable aggregative action to perform.
                                                                                                                                                                          -
                                                                                                                                                                          1289  const StarIdentifiers *starIds) {
                                                                                                                                                                          -
                                                                                                                                                                          1290  assert(starses.size() > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1291  float avgNumStars = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1292  for (const Stars &stars : starses) {
                                                                                                                                                                          -
                                                                                                                                                                          1293  avgNumStars += stars.size();
                                                                                                                                                                          -
                                                                                                                                                                          1294  }
                                                                                                                                                                          -
                                                                                                                                                                          1295  avgNumStars /= starses.size();
                                                                                                                                                                          -
                                                                                                                                                                          1296 
                                                                                                                                                                          -
                                                                                                                                                                          1297  os << "num_" << prefix << "_centroids " << avgNumStars << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1298  if (starses.size() == 1) {
                                                                                                                                                                          -
                                                                                                                                                                          1299  const Stars &stars = starses[0];
                                                                                                                                                                          -
                                                                                                                                                                          1300  for (int i = 0; i < (int)stars.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1301  os << prefix << "_centroid_" << i << "_x " << stars[i].position.x << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1302  os << prefix << "_centroid_" << i << "_y " << stars[i].position.y << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1303  if (starIds) {
                                                                                                                                                                          -
                                                                                                                                                                          1304  for (const StarIdentifier &starId : *starIds) {
                                                                                                                                                                          -
                                                                                                                                                                          1305  if (starId.starIndex == i) {
                                                                                                                                                                          -
                                                                                                                                                                          1306  os << prefix << "_centroid_" << i << "_id " << catalog[starId.catalogIndex].name << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1307  }
                                                                                                                                                                          -
                                                                                                                                                                          1308  }
                                                                                                                                                                          -
                                                                                                                                                                          1309  }
                                                                                                                                                                          -
                                                                                                                                                                          1310  }
                                                                                                                                                                          -
                                                                                                                                                                          1311  }
                                                                                                                                                                          -
                                                                                                                                                                          1312 }
                                                                                                                                                                          -
                                                                                                                                                                          1313 
                                                                                                                                                                          -
                                                                                                                                                                          1315 static void PipelineComparatorPrintExpectedCentroids(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1316  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1317  const std::vector<PipelineOutput> &, // actual
                                                                                                                                                                          -
                                                                                                                                                                          1318  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1319  assert(expected.size() > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1320  assert(expected[0]->ExpectedStars());
                                                                                                                                                                          -
                                                                                                                                                                          1321 
                                                                                                                                                                          -
                                                                                                                                                                          1322  std::vector<Stars> expectedStarses;
                                                                                                                                                                          -
                                                                                                                                                                          1323  for (const auto &input : expected) {
                                                                                                                                                                          -
                                                                                                                                                                          1324  expectedStarses.push_back(*input->ExpectedStars());
                                                                                                                                                                          -
                                                                                                                                                                          1325  }
                                                                                                                                                                          -
                                                                                                                                                                          1326  PrintCentroids("expected",
                                                                                                                                                                          -
                                                                                                                                                                          1327  os,
                                                                                                                                                                          -
                                                                                                                                                                          1328  expected[0]->GetCatalog(),
                                                                                                                                                                          -
                                                                                                                                                                          1329  expectedStarses,
                                                                                                                                                                          -
                                                                                                                                                                          1330  expected[0]->ExpectedStarIds());
                                                                                                                                                                          -
                                                                                                                                                                          1331 }
                                                                                                                                                                          -
                                                                                                                                                                          1332 
                                                                                                                                                                          -
                                                                                                                                                                          1333 static void PipelineComparatorPrintInputCentroids(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1334  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1335  const std::vector<PipelineOutput> &, // actual
                                                                                                                                                                          -
                                                                                                                                                                          1336  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1337  assert(expected.size() > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1338  assert(expected[0]->InputStars());
                                                                                                                                                                          -
                                                                                                                                                                          1339 
                                                                                                                                                                          -
                                                                                                                                                                          1340  std::vector<Stars> inputStarses;
                                                                                                                                                                          -
                                                                                                                                                                          1341  for (const auto &input : expected) {
                                                                                                                                                                          -
                                                                                                                                                                          1342  inputStarses.push_back(*input->InputStars());
                                                                                                                                                                          -
                                                                                                                                                                          1343  }
                                                                                                                                                                          -
                                                                                                                                                                          1344  PrintCentroids("input",
                                                                                                                                                                          -
                                                                                                                                                                          1345  os,
                                                                                                                                                                          -
                                                                                                                                                                          1346  expected[0]->GetCatalog(),
                                                                                                                                                                          -
                                                                                                                                                                          1347  inputStarses,
                                                                                                                                                                          -
                                                                                                                                                                          1348  expected[0]->InputStarIds());
                                                                                                                                                                          -
                                                                                                                                                                          1349 }
                                                                                                                                                                          -
                                                                                                                                                                          1350 
                                                                                                                                                                          -
                                                                                                                                                                          1351 static void PipelineComparatorPrintActualCentroids(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1352  const PipelineInputList &expected, // expected
                                                                                                                                                                          -
                                                                                                                                                                          1353  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1354  const PipelineOptions &values) {
                                                                                                                                                                          -
                                                                                                                                                                          1355  assert(actual.size() > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1356  assert(actual[0].stars);
                                                                                                                                                                          -
                                                                                                                                                                          1357 
                                                                                                                                                                          -
                                                                                                                                                                          1358  std::vector<Stars> actualStarses;
                                                                                                                                                                          -
                                                                                                                                                                          1359  for (const auto &output : actual) {
                                                                                                                                                                          -
                                                                                                                                                                          1360  actualStarses.push_back(*output.stars);
                                                                                                                                                                          -
                                                                                                                                                                          1361  }
                                                                                                                                                                          -
                                                                                                                                                                          1362  PrintCentroids("actual",
                                                                                                                                                                          -
                                                                                                                                                                          1363  os,
                                                                                                                                                                          -
                                                                                                                                                                          1364  actual[0].catalog,
                                                                                                                                                                          -
                                                                                                                                                                          1365  actualStarses,
                                                                                                                                                                          -
                                                                                                                                                                          1366  actual[0].starIds.get());
                                                                                                                                                                          -
                                                                                                                                                                          1367 
                                                                                                                                                                          -
                                                                                                                                                                          1368  if (expected.size() == 1 && expected[0]->ExpectedStars() && expected[0]->ExpectedStarIds()) {
                                                                                                                                                                          -
                                                                                                                                                                          1369  // also print expected ID of each one
                                                                                                                                                                          -
                                                                                                                                                                          1370  const Stars &actualStars = *actual[0].stars;
                                                                                                                                                                          -
                                                                                                                                                                          1371  const Stars &expectedStars = *expected[0]->ExpectedStars();
                                                                                                                                                                          -
                                                                                                                                                                          1372  std::multimap<int, int> actualToExpectedCentroids = FindClosestCentroids(values.centroidCompareThreshold, actualStars, expectedStars);
                                                                                                                                                                          -
                                                                                                                                                                          1373  for (int i = 0; i < (int)actualStars.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1374  auto range = actualToExpectedCentroids.equal_range(i);
                                                                                                                                                                          -
                                                                                                                                                                          1375  auto it = range.first;
                                                                                                                                                                          -
                                                                                                                                                                          1376  auto end = range.second;
                                                                                                                                                                          -
                                                                                                                                                                          1377  for (int j = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1378  it != end;
                                                                                                                                                                          -
                                                                                                                                                                          1379  j++, it++) {
                                                                                                                                                                          -
                                                                                                                                                                          1380 
                                                                                                                                                                          -
                                                                                                                                                                          1381  int expectedCentroidIndex = it->second;
                                                                                                                                                                          -
                                                                                                                                                                          1382  bool foundIt = false; // just to be sure
                                                                                                                                                                          -
                                                                                                                                                                          1383  for (const StarIdentifier &starId : *expected[0]->ExpectedStarIds()) {
                                                                                                                                                                          -
                                                                                                                                                                          1384  if (starId.starIndex == expectedCentroidIndex) {
                                                                                                                                                                          -
                                                                                                                                                                          1385  assert(!foundIt);
                                                                                                                                                                          -
                                                                                                                                                                          1386  int expectedName = expected[0]->GetCatalog()[starId.catalogIndex].name;
                                                                                                                                                                          -
                                                                                                                                                                          1387  std::cout << "actual_centroid_" << i << "_expected_id_" << j << " " << expectedName << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1388  foundIt = true;
                                                                                                                                                                          -
                                                                                                                                                                          1389  }
                                                                                                                                                                          -
                                                                                                                                                                          1390  }
                                                                                                                                                                          -
                                                                                                                                                                          1391  }
                                                                                                                                                                          -
                                                                                                                                                                          1392  }
                                                                                                                                                                          -
                                                                                                                                                                          1393  }
                                                                                                                                                                          -
                                                                                                                                                                          1394 }
                                                                                                                                                                          -
                                                                                                                                                                          1395 
                                                                                                                                                                          - -
                                                                                                                                                                          1399  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1400  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1401  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1402  const Stars &stars = actual[0].stars ? *actual[0].stars : *expected[0]->InputStars();
                                                                                                                                                                          -
                                                                                                                                                                          1403  StarIdentifiers identifiers;
                                                                                                                                                                          -
                                                                                                                                                                          1404  for (int i = 0; i < (int)stars.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1405  identifiers.push_back(StarIdentifier(i, i));
                                                                                                                                                                          -
                                                                                                                                                                          1406  }
                                                                                                                                                                          -
                                                                                                                                                                          1407  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          -
                                                                                                                                                                          1408  SurfacePlot("centroid indices (input)",
                                                                                                                                                                          -
                                                                                                                                                                          1409  cairoSurface,
                                                                                                                                                                          -
                                                                                                                                                                          1410  stars,
                                                                                                                                                                          -
                                                                                                                                                                          1411  &identifiers,
                                                                                                                                                                          -
                                                                                                                                                                          1412  &actual[0].catalog,
                                                                                                                                                                          -
                                                                                                                                                                          1413  NULL,
                                                                                                                                                                          -
                                                                                                                                                                          1414  // orange
                                                                                                                                                                          -
                                                                                                                                                                          1415  1.0, 0.5, 0.0, 0.5,
                                                                                                                                                                          -
                                                                                                                                                                          1416  // don't resolve names
                                                                                                                                                                          -
                                                                                                                                                                          1417  true);
                                                                                                                                                                          -
                                                                                                                                                                          1418  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          -
                                                                                                                                                                          1419  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          1420 }
                                                                                                                                                                          -
                                                                                                                                                                          1421 
                                                                                                                                                                          -
                                                                                                                                                                          1423 static void PipelineComparatorPlotOutput(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1424  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1425  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1426  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1427  // don't need to worry about mutating the surface; InputImageSurface returns a fresh one
                                                                                                                                                                          -
                                                                                                                                                                          1428  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          -
                                                                                                                                                                          1429  SurfacePlot("pipeline output",
                                                                                                                                                                          -
                                                                                                                                                                          1430  cairoSurface,
                                                                                                                                                                          -
                                                                                                                                                                          1431  actual[0].stars ? *actual[0].stars : *expected[0]->InputStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1432  actual[0].starIds.get(),
                                                                                                                                                                          -
                                                                                                                                                                          1433  &actual[0].catalog,
                                                                                                                                                                          -
                                                                                                                                                                          1434  actual[0].attitude.get(),
                                                                                                                                                                          -
                                                                                                                                                                          1435  // red
                                                                                                                                                                          -
                                                                                                                                                                          1436  1.0, 0.0, 0.0, 0.5);
                                                                                                                                                                          -
                                                                                                                                                                          1437  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          -
                                                                                                                                                                          1438  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          -
                                                                                                                                                                          1439 }
                                                                                                                                                                          -
                                                                                                                                                                          1440 
                                                                                                                                                                          -
                                                                                                                                                                          1442 static void PipelineComparatorStarIds(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1443  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1444  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1445  const PipelineOptions &values) {
                                                                                                                                                                          -
                                                                                                                                                                          1446  int numImagesCorrect = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1447  int numImagesIncorrect = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1448  int numImagesTotal = expected.size();
                                                                                                                                                                          -
                                                                                                                                                                          1449  for (int i = 0; i < numImagesTotal; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1450  // since the actual star IDs exist, it must have gotten input from somewhere!
                                                                                                                                                                          -
                                                                                                                                                                          1451  // TODO: overhaul: It seems that in these comparators there should be a more fundamental way to figure out the input that was actually sent to a stage.
                                                                                                                                                                          -
                                                                                                                                                                          1452  // I.e., instead of having expected and actual arguments, have some sort of PipelineRunSummary object, where the InputStars method looks at actual, then input.
                                                                                                                                                                          -
                                                                                                                                                                          1453  assert(actual[i].stars.get() || expected[i]->InputStars());
                                                                                                                                                                          -
                                                                                                                                                                          1454 
                                                                                                                                                                          -
                                                                                                                                                                          1455  const Stars &inputStars = actual[i].stars.get()
                                                                                                                                                                          -
                                                                                                                                                                          1456  ? *actual[i].stars.get()
                                                                                                                                                                          -
                                                                                                                                                                          1457  : *expected[i]->InputStars();
                                                                                                                                                                          -
                                                                                                                                                                          1458  StarIdComparison comparison =
                                                                                                                                                                          -
                                                                                                                                                                          1459  StarIdsCompare(*expected[i]->ExpectedStarIds(), *actual[i].starIds,
                                                                                                                                                                          -
                                                                                                                                                                          1460  expected[i]->GetCatalog(), actual[i].catalog,
                                                                                                                                                                          -
                                                                                                                                                                          1461  values.centroidCompareThreshold, *expected[i]->ExpectedStars(), inputStars);
                                                                                                                                                                          -
                                                                                                                                                                          1462 
                                                                                                                                                                          -
                                                                                                                                                                          1463  if (numImagesTotal == 1) {
                                                                                                                                                                          -
                                                                                                                                                                          1464  os << "starid_num_correct " << comparison.numCorrect << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1465  os << "starid_num_incorrect " << comparison.numIncorrect << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1466  os << "starid_num_total " << comparison.numTotal << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1467  }
                                                                                                                                                                          -
                                                                                                                                                                          1468 
                                                                                                                                                                          -
                                                                                                                                                                          1469  if (comparison.numCorrect > 0 && comparison.numIncorrect == 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1470  numImagesCorrect++;
                                                                                                                                                                          -
                                                                                                                                                                          1471  }
                                                                                                                                                                          -
                                                                                                                                                                          1472  if (comparison.numIncorrect > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1473  numImagesIncorrect++;
                                                                                                                                                                          -
                                                                                                                                                                          1474  }
                                                                                                                                                                          -
                                                                                                                                                                          1475  }
                                                                                                                                                                          -
                                                                                                                                                                          1476 
                                                                                                                                                                          -
                                                                                                                                                                          1477  // A "correct" image is one where at least two stars are correctly id'd and none are incorrectly id'd
                                                                                                                                                                          -
                                                                                                                                                                          1478  os << "starid_num_images_correct " << numImagesCorrect << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1479  os << "starid_num_images_incorrect " << numImagesIncorrect << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1480 }
                                                                                                                                                                          -
                                                                                                                                                                          1481 
                                                                                                                                                                          -
                                                                                                                                                                          1482 static void PrintAttitude(std::ostream &os, const std::string &prefix, const Attitude &attitude) {
                                                                                                                                                                          -
                                                                                                                                                                          1483  if (attitude.IsKnown()) {
                                                                                                                                                                          -
                                                                                                                                                                          1484  os << prefix << "attitude_known 1" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1278  decimal threshold = values.centroidCompareThreshold;
                                                                                                                                                                          +
                                                                                                                                                                          1279 
                                                                                                                                                                          +
                                                                                                                                                                          1280  std::vector<CentroidComparison> comparisons;
                                                                                                                                                                          +
                                                                                                                                                                          1281  for (int i = 0; i < size; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1282  comparisons.push_back(CentroidsCompare(threshold,
                                                                                                                                                                          +
                                                                                                                                                                          1283  *(expected[i]->ExpectedStars()),
                                                                                                                                                                          +
                                                                                                                                                                          1284  *(actual[i].stars)));
                                                                                                                                                                          +
                                                                                                                                                                          1285  }
                                                                                                                                                                          +
                                                                                                                                                                          1286 
                                                                                                                                                                          +
                                                                                                                                                                          1287  CentroidComparison result = CentroidComparisonsCombine(comparisons);
                                                                                                                                                                          +
                                                                                                                                                                          1288  os << "centroids_num_correct " << result.numCorrectCentroids << std::endl
                                                                                                                                                                          +
                                                                                                                                                                          1289  << "centroids_num_extra " << result.numExtraCentroids << std::endl
                                                                                                                                                                          +
                                                                                                                                                                          1290  << "centroids_mean_error " << result.meanError << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1291 }
                                                                                                                                                                          +
                                                                                                                                                                          1292 
                                                                                                                                                                          +
                                                                                                                                                                          1293 static void PrintCentroids(const std::string &prefix,
                                                                                                                                                                          +
                                                                                                                                                                          1294  std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1295  const Catalog &catalog,
                                                                                                                                                                          +
                                                                                                                                                                          1296  const std::vector<Stars> &starses,
                                                                                                                                                                          +
                                                                                                                                                                          1297  // May be NULL. Should be the only the first starId, because we don't have any reasonable aggregative action to perform.
                                                                                                                                                                          +
                                                                                                                                                                          1298  const StarIdentifiers *starIds) {
                                                                                                                                                                          +
                                                                                                                                                                          1299  assert(starses.size() > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1300  decimal avgNumStars = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1301  for (const Stars &stars : starses) {
                                                                                                                                                                          +
                                                                                                                                                                          1302  avgNumStars += stars.size();
                                                                                                                                                                          +
                                                                                                                                                                          1303  }
                                                                                                                                                                          +
                                                                                                                                                                          1304  avgNumStars /= starses.size();
                                                                                                                                                                          +
                                                                                                                                                                          1305 
                                                                                                                                                                          +
                                                                                                                                                                          1306  os << "num_" << prefix << "_centroids " << avgNumStars << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1307  if (starses.size() == 1) {
                                                                                                                                                                          +
                                                                                                                                                                          1308  const Stars &stars = starses[0];
                                                                                                                                                                          +
                                                                                                                                                                          1309  for (int i = 0; i < (int)stars.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1310  os << prefix << "_centroid_" << i << "_x " << stars[i].position.x << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1311  os << prefix << "_centroid_" << i << "_y " << stars[i].position.y << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1312  if (starIds) {
                                                                                                                                                                          +
                                                                                                                                                                          1313  for (const StarIdentifier &starId : *starIds) {
                                                                                                                                                                          +
                                                                                                                                                                          1314  if (starId.starIndex == i) {
                                                                                                                                                                          +
                                                                                                                                                                          1315  os << prefix << "_centroid_" << i << "_id " << catalog[starId.catalogIndex].name << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1316  }
                                                                                                                                                                          +
                                                                                                                                                                          1317  }
                                                                                                                                                                          +
                                                                                                                                                                          1318  }
                                                                                                                                                                          +
                                                                                                                                                                          1319  }
                                                                                                                                                                          +
                                                                                                                                                                          1320  }
                                                                                                                                                                          +
                                                                                                                                                                          1321 }
                                                                                                                                                                          +
                                                                                                                                                                          1322 
                                                                                                                                                                          +
                                                                                                                                                                          1324 static void PipelineComparatorPrintExpectedCentroids(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1325  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1326  const std::vector<PipelineOutput> &, // actual
                                                                                                                                                                          +
                                                                                                                                                                          1327  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1328  assert(expected.size() > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1329  assert(expected[0]->ExpectedStars());
                                                                                                                                                                          +
                                                                                                                                                                          1330 
                                                                                                                                                                          +
                                                                                                                                                                          1331  std::vector<Stars> expectedStarses;
                                                                                                                                                                          +
                                                                                                                                                                          1332  for (const auto &input : expected) {
                                                                                                                                                                          +
                                                                                                                                                                          1333  expectedStarses.push_back(*input->ExpectedStars());
                                                                                                                                                                          +
                                                                                                                                                                          1334  }
                                                                                                                                                                          +
                                                                                                                                                                          1335  PrintCentroids("expected",
                                                                                                                                                                          +
                                                                                                                                                                          1336  os,
                                                                                                                                                                          +
                                                                                                                                                                          1337  expected[0]->GetCatalog(),
                                                                                                                                                                          +
                                                                                                                                                                          1338  expectedStarses,
                                                                                                                                                                          +
                                                                                                                                                                          1339  expected[0]->ExpectedStarIds());
                                                                                                                                                                          +
                                                                                                                                                                          1340 }
                                                                                                                                                                          +
                                                                                                                                                                          1341 
                                                                                                                                                                          +
                                                                                                                                                                          1342 static void PipelineComparatorPrintInputCentroids(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1343  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1344  const std::vector<PipelineOutput> &, // actual
                                                                                                                                                                          +
                                                                                                                                                                          1345  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1346  assert(expected.size() > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1347  assert(expected[0]->InputStars());
                                                                                                                                                                          +
                                                                                                                                                                          1348 
                                                                                                                                                                          +
                                                                                                                                                                          1349  std::vector<Stars> inputStarses;
                                                                                                                                                                          +
                                                                                                                                                                          1350  for (const auto &input : expected) {
                                                                                                                                                                          +
                                                                                                                                                                          1351  inputStarses.push_back(*input->InputStars());
                                                                                                                                                                          +
                                                                                                                                                                          1352  }
                                                                                                                                                                          +
                                                                                                                                                                          1353  PrintCentroids("input",
                                                                                                                                                                          +
                                                                                                                                                                          1354  os,
                                                                                                                                                                          +
                                                                                                                                                                          1355  expected[0]->GetCatalog(),
                                                                                                                                                                          +
                                                                                                                                                                          1356  inputStarses,
                                                                                                                                                                          +
                                                                                                                                                                          1357  expected[0]->InputStarIds());
                                                                                                                                                                          +
                                                                                                                                                                          1358 }
                                                                                                                                                                          +
                                                                                                                                                                          1359 
                                                                                                                                                                          +
                                                                                                                                                                          1360 static void PipelineComparatorPrintActualCentroids(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1361  const PipelineInputList &expected, // expected
                                                                                                                                                                          +
                                                                                                                                                                          1362  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1363  const PipelineOptions &values) {
                                                                                                                                                                          +
                                                                                                                                                                          1364  assert(actual.size() > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1365  assert(actual[0].stars);
                                                                                                                                                                          +
                                                                                                                                                                          1366 
                                                                                                                                                                          +
                                                                                                                                                                          1367  std::vector<Stars> actualStarses;
                                                                                                                                                                          +
                                                                                                                                                                          1368  for (const auto &output : actual) {
                                                                                                                                                                          +
                                                                                                                                                                          1369  actualStarses.push_back(*output.stars);
                                                                                                                                                                          +
                                                                                                                                                                          1370  }
                                                                                                                                                                          +
                                                                                                                                                                          1371  PrintCentroids("actual",
                                                                                                                                                                          +
                                                                                                                                                                          1372  os,
                                                                                                                                                                          +
                                                                                                                                                                          1373  actual[0].catalog,
                                                                                                                                                                          +
                                                                                                                                                                          1374  actualStarses,
                                                                                                                                                                          +
                                                                                                                                                                          1375  actual[0].starIds.get());
                                                                                                                                                                          +
                                                                                                                                                                          1376 
                                                                                                                                                                          +
                                                                                                                                                                          1377  if (expected.size() == 1 && expected[0]->ExpectedStars() && expected[0]->ExpectedStarIds()) {
                                                                                                                                                                          +
                                                                                                                                                                          1378  // also print expected ID of each one
                                                                                                                                                                          +
                                                                                                                                                                          1379  const Stars &actualStars = *actual[0].stars;
                                                                                                                                                                          +
                                                                                                                                                                          1380  const Stars &expectedStars = *expected[0]->ExpectedStars();
                                                                                                                                                                          +
                                                                                                                                                                          1381  std::multimap<int, int> actualToExpectedCentroids = FindClosestCentroids(values.centroidCompareThreshold, actualStars, expectedStars);
                                                                                                                                                                          +
                                                                                                                                                                          1382  for (int i = 0; i < (int)actualStars.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1383  auto range = actualToExpectedCentroids.equal_range(i);
                                                                                                                                                                          +
                                                                                                                                                                          1384  auto it = range.first;
                                                                                                                                                                          +
                                                                                                                                                                          1385  auto end = range.second;
                                                                                                                                                                          +
                                                                                                                                                                          1386  for (int j = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1387  it != end;
                                                                                                                                                                          +
                                                                                                                                                                          1388  j++, it++) {
                                                                                                                                                                          +
                                                                                                                                                                          1389 
                                                                                                                                                                          +
                                                                                                                                                                          1390  int expectedCentroidIndex = it->second;
                                                                                                                                                                          +
                                                                                                                                                                          1391  bool foundIt = false; // just to be sure
                                                                                                                                                                          +
                                                                                                                                                                          1392  for (const StarIdentifier &starId : *expected[0]->ExpectedStarIds()) {
                                                                                                                                                                          +
                                                                                                                                                                          1393  if (starId.starIndex == expectedCentroidIndex) {
                                                                                                                                                                          +
                                                                                                                                                                          1394  assert(!foundIt);
                                                                                                                                                                          +
                                                                                                                                                                          1395  int expectedName = expected[0]->GetCatalog()[starId.catalogIndex].name;
                                                                                                                                                                          +
                                                                                                                                                                          1396  std::cout << "actual_centroid_" << i << "_expected_id_" << j << " " << expectedName << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1397  foundIt = true;
                                                                                                                                                                          +
                                                                                                                                                                          1398  }
                                                                                                                                                                          +
                                                                                                                                                                          1399  }
                                                                                                                                                                          +
                                                                                                                                                                          1400  }
                                                                                                                                                                          +
                                                                                                                                                                          1401  }
                                                                                                                                                                          +
                                                                                                                                                                          1402  }
                                                                                                                                                                          +
                                                                                                                                                                          1403 }
                                                                                                                                                                          +
                                                                                                                                                                          1404 
                                                                                                                                                                          + +
                                                                                                                                                                          1408  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1409  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1410  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1411  const Stars &stars = actual[0].stars ? *actual[0].stars : *expected[0]->InputStars();
                                                                                                                                                                          +
                                                                                                                                                                          1412  StarIdentifiers identifiers;
                                                                                                                                                                          +
                                                                                                                                                                          1413  for (int i = 0; i < (int)stars.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1414  identifiers.push_back(StarIdentifier(i, i));
                                                                                                                                                                          +
                                                                                                                                                                          1415  }
                                                                                                                                                                          +
                                                                                                                                                                          1416  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          +
                                                                                                                                                                          1417  SurfacePlot("centroid indices (input)",
                                                                                                                                                                          +
                                                                                                                                                                          1418  cairoSurface,
                                                                                                                                                                          +
                                                                                                                                                                          1419  stars,
                                                                                                                                                                          +
                                                                                                                                                                          1420  &identifiers,
                                                                                                                                                                          +
                                                                                                                                                                          1421  &actual[0].catalog,
                                                                                                                                                                          +
                                                                                                                                                                          1422  NULL,
                                                                                                                                                                          +
                                                                                                                                                                          1423  // orange
                                                                                                                                                                          +
                                                                                                                                                                          1424  1.0, 0.5, 0.0, 0.5,
                                                                                                                                                                          +
                                                                                                                                                                          1425  // don't resolve names
                                                                                                                                                                          +
                                                                                                                                                                          1426  true);
                                                                                                                                                                          +
                                                                                                                                                                          1427  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          +
                                                                                                                                                                          1428  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          1429 }
                                                                                                                                                                          +
                                                                                                                                                                          1430 
                                                                                                                                                                          +
                                                                                                                                                                          1432 static void PipelineComparatorPlotOutput(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1433  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1434  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1435  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1436  // don't need to worry about mutating the surface; InputImageSurface returns a fresh one
                                                                                                                                                                          +
                                                                                                                                                                          1437  cairo_surface_t *cairoSurface = expected[0]->InputImageSurface();
                                                                                                                                                                          +
                                                                                                                                                                          1438  SurfacePlot("pipeline output",
                                                                                                                                                                          +
                                                                                                                                                                          1439  cairoSurface,
                                                                                                                                                                          +
                                                                                                                                                                          1440  actual[0].stars ? *actual[0].stars : *expected[0]->InputStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1441  actual[0].starIds.get(),
                                                                                                                                                                          +
                                                                                                                                                                          1442  &actual[0].catalog,
                                                                                                                                                                          +
                                                                                                                                                                          1443  actual[0].attitude.get(),
                                                                                                                                                                          +
                                                                                                                                                                          1444  // red
                                                                                                                                                                          +
                                                                                                                                                                          1445  1.0, 0.0, 0.0, 0.5);
                                                                                                                                                                          +
                                                                                                                                                                          1446  cairo_surface_write_to_png_stream(cairoSurface, OstreamPlotter, &os);
                                                                                                                                                                          +
                                                                                                                                                                          1447  cairo_surface_destroy(cairoSurface);
                                                                                                                                                                          +
                                                                                                                                                                          1448 }
                                                                                                                                                                          +
                                                                                                                                                                          1449 
                                                                                                                                                                          +
                                                                                                                                                                          1451 static void PipelineComparatorStarIds(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1452  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1453  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1454  const PipelineOptions &values) {
                                                                                                                                                                          +
                                                                                                                                                                          1455  int numImagesCorrect = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1456  int numImagesIncorrect = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1457  int numImagesTotal = expected.size();
                                                                                                                                                                          +
                                                                                                                                                                          1458  for (int i = 0; i < numImagesTotal; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1459  // since the actual star IDs exist, it must have gotten input from somewhere!
                                                                                                                                                                          +
                                                                                                                                                                          1460  // TODO: overhaul: It seems that in these comparators there should be a more fundamental way to figure out the input that was actually sent to a stage.
                                                                                                                                                                          +
                                                                                                                                                                          1461  // I.e., instead of having expected and actual arguments, have some sort of PipelineRunSummary object, where the InputStars method looks at actual, then input.
                                                                                                                                                                          +
                                                                                                                                                                          1462  assert(actual[i].stars.get() || expected[i]->InputStars());
                                                                                                                                                                          +
                                                                                                                                                                          1463 
                                                                                                                                                                          +
                                                                                                                                                                          1464  const Stars &inputStars = actual[i].stars.get()
                                                                                                                                                                          +
                                                                                                                                                                          1465  ? *actual[i].stars.get()
                                                                                                                                                                          +
                                                                                                                                                                          1466  : *expected[i]->InputStars();
                                                                                                                                                                          +
                                                                                                                                                                          1467  StarIdComparison comparison =
                                                                                                                                                                          +
                                                                                                                                                                          1468  StarIdsCompare(*expected[i]->ExpectedStarIds(), *actual[i].starIds,
                                                                                                                                                                          +
                                                                                                                                                                          1469  expected[i]->GetCatalog(), actual[i].catalog,
                                                                                                                                                                          +
                                                                                                                                                                          1470  values.centroidCompareThreshold, *expected[i]->ExpectedStars(), inputStars);
                                                                                                                                                                          +
                                                                                                                                                                          1471 
                                                                                                                                                                          +
                                                                                                                                                                          1472  if (numImagesTotal == 1) {
                                                                                                                                                                          +
                                                                                                                                                                          1473  os << "starid_num_correct " << comparison.numCorrect << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1474  os << "starid_num_incorrect " << comparison.numIncorrect << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1475  os << "starid_num_total " << comparison.numTotal << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1476  }
                                                                                                                                                                          +
                                                                                                                                                                          1477 
                                                                                                                                                                          +
                                                                                                                                                                          1478  if (comparison.numCorrect > 0 && comparison.numIncorrect == 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1479  numImagesCorrect++;
                                                                                                                                                                          +
                                                                                                                                                                          1480  }
                                                                                                                                                                          +
                                                                                                                                                                          1481  if (comparison.numIncorrect > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1482  numImagesIncorrect++;
                                                                                                                                                                          +
                                                                                                                                                                          1483  }
                                                                                                                                                                          +
                                                                                                                                                                          1484  }
                                                                                                                                                                          1485 
                                                                                                                                                                          -
                                                                                                                                                                          1486  EulerAngles spherical = attitude.ToSpherical();
                                                                                                                                                                          -
                                                                                                                                                                          1487  os << prefix << "attitude_ra " << RadToDeg(spherical.ra) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1488  os << prefix << "attitude_de " << RadToDeg(spherical.de) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1489  os << prefix << "attitude_roll " << RadToDeg(spherical.roll) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1486  // A "correct" image is one where at least two stars are correctly id'd and none are incorrectly id'd
                                                                                                                                                                          +
                                                                                                                                                                          1487  os << "starid_num_images_correct " << numImagesCorrect << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1488  os << "starid_num_images_incorrect " << numImagesIncorrect << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1489 }
                                                                                                                                                                          1490 
                                                                                                                                                                          -
                                                                                                                                                                          1491  Quaternion q = attitude.GetQuaternion();
                                                                                                                                                                          -
                                                                                                                                                                          1492  os << prefix << "attitude_i " << q.i << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1493  os << prefix << "attitude_j " << q.j << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1494  os << prefix << "attitude_k " << q.k << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1495  os << prefix << "attitude_real " << q.real << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1496 
                                                                                                                                                                          -
                                                                                                                                                                          1497  } else {
                                                                                                                                                                          -
                                                                                                                                                                          1498  os << prefix << "attitude_known 0" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1499  }
                                                                                                                                                                          -
                                                                                                                                                                          1500 }
                                                                                                                                                                          -
                                                                                                                                                                          1501 
                                                                                                                                                                          -
                                                                                                                                                                          1503 static void PipelineComparatorPrintAttitude(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1504  const PipelineInputList &,
                                                                                                                                                                          -
                                                                                                                                                                          1505  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1506  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1507  assert(actual.size() == 1);
                                                                                                                                                                          -
                                                                                                                                                                          1508  assert(actual[0].attitude);
                                                                                                                                                                          -
                                                                                                                                                                          1509  PrintAttitude(os, "", *actual[0].attitude);
                                                                                                                                                                          -
                                                                                                                                                                          1510 }
                                                                                                                                                                          -
                                                                                                                                                                          1511 
                                                                                                                                                                          -
                                                                                                                                                                          1512 static void PipelineComparatorPrintExpectedAttitude(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1513  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1514  const std::vector<PipelineOutput> &,
                                                                                                                                                                          -
                                                                                                                                                                          1515  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1516  assert(expected.size() == 1);
                                                                                                                                                                          -
                                                                                                                                                                          1517  assert(expected[0]->ExpectedAttitude());
                                                                                                                                                                          -
                                                                                                                                                                          1518  PrintAttitude(os, "expected_", *expected[0]->ExpectedAttitude());
                                                                                                                                                                          +
                                                                                                                                                                          1491 static void PrintAttitude(std::ostream &os, const std::string &prefix, const Attitude &attitude) {
                                                                                                                                                                          +
                                                                                                                                                                          1492  if (attitude.IsKnown()) {
                                                                                                                                                                          +
                                                                                                                                                                          1493  os << prefix << "attitude_known 1" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1494 
                                                                                                                                                                          +
                                                                                                                                                                          1495  EulerAngles spherical = attitude.ToSpherical();
                                                                                                                                                                          +
                                                                                                                                                                          1496  os << prefix << "attitude_ra " << RadToDeg(spherical.ra) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1497  os << prefix << "attitude_de " << RadToDeg(spherical.de) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1498  os << prefix << "attitude_roll " << RadToDeg(spherical.roll) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1499 
                                                                                                                                                                          +
                                                                                                                                                                          1500  Quaternion q = attitude.GetQuaternion();
                                                                                                                                                                          +
                                                                                                                                                                          1501  os << prefix << "attitude_i " << q.i << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1502  os << prefix << "attitude_j " << q.j << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1503  os << prefix << "attitude_k " << q.k << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1504  os << prefix << "attitude_real " << q.real << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1505 
                                                                                                                                                                          +
                                                                                                                                                                          1506  } else {
                                                                                                                                                                          +
                                                                                                                                                                          1507  os << prefix << "attitude_known 0" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1508  }
                                                                                                                                                                          +
                                                                                                                                                                          1509 }
                                                                                                                                                                          +
                                                                                                                                                                          1510 
                                                                                                                                                                          +
                                                                                                                                                                          1512 static void PipelineComparatorPrintAttitude(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1513  const PipelineInputList &,
                                                                                                                                                                          +
                                                                                                                                                                          1514  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1515  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1516  assert(actual.size() == 1);
                                                                                                                                                                          +
                                                                                                                                                                          1517  assert(actual[0].attitude);
                                                                                                                                                                          +
                                                                                                                                                                          1518  PrintAttitude(os, "", *actual[0].attitude);
                                                                                                                                                                          1519 }
                                                                                                                                                                          1520 
                                                                                                                                                                          -
                                                                                                                                                                          1522 static void PipelineComparatorAttitude(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1523  const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1524  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1525  const PipelineOptions &values) {
                                                                                                                                                                          -
                                                                                                                                                                          1526 
                                                                                                                                                                          -
                                                                                                                                                                          1527  // TODO: use Wahba loss function (maybe average per star) instead of just angle. Also break
                                                                                                                                                                          -
                                                                                                                                                                          1528  // apart roll error from boresight error. This is just quick and dirty for testing
                                                                                                                                                                          +
                                                                                                                                                                          1521 static void PipelineComparatorPrintExpectedAttitude(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1522  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1523  const std::vector<PipelineOutput> &,
                                                                                                                                                                          +
                                                                                                                                                                          1524  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1525  assert(expected.size() == 1);
                                                                                                                                                                          +
                                                                                                                                                                          1526  assert(expected[0]->ExpectedAttitude());
                                                                                                                                                                          +
                                                                                                                                                                          1527  PrintAttitude(os, "expected_", *expected[0]->ExpectedAttitude());
                                                                                                                                                                          +
                                                                                                                                                                          1528 }
                                                                                                                                                                          1529 
                                                                                                                                                                          -
                                                                                                                                                                          1530  float angleThreshold = DegToRad(values.attitudeCompareThreshold);
                                                                                                                                                                          -
                                                                                                                                                                          1531 
                                                                                                                                                                          -
                                                                                                                                                                          1532  float attitudeErrorSum = 0.0f;
                                                                                                                                                                          -
                                                                                                                                                                          1533  int numCorrect = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1534  int numIncorrect = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1531 static void PipelineComparatorAttitude(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1532  const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1533  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1534  const PipelineOptions &values) {
                                                                                                                                                                          1535 
                                                                                                                                                                          -
                                                                                                                                                                          1536  for (int i = 0; i < (int)expected.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1537  if (actual[i].attitude->IsKnown()) {
                                                                                                                                                                          -
                                                                                                                                                                          1538  Quaternion expectedQuaternion = expected[i]->ExpectedAttitude()->GetQuaternion();
                                                                                                                                                                          -
                                                                                                                                                                          1539  Quaternion actualQuaternion = actual[i].attitude->GetQuaternion();
                                                                                                                                                                          -
                                                                                                                                                                          1540  float attitudeError = (expectedQuaternion * actualQuaternion.Conjugate()).SmallestAngle();
                                                                                                                                                                          -
                                                                                                                                                                          1541  assert(attitudeError >= 0);
                                                                                                                                                                          -
                                                                                                                                                                          1542 
                                                                                                                                                                          -
                                                                                                                                                                          1543  if (attitudeError <= angleThreshold) {
                                                                                                                                                                          -
                                                                                                                                                                          1544  attitudeErrorSum += attitudeError;
                                                                                                                                                                          -
                                                                                                                                                                          1545  numCorrect++;
                                                                                                                                                                          -
                                                                                                                                                                          1546  } else {
                                                                                                                                                                          -
                                                                                                                                                                          1547  numIncorrect++;
                                                                                                                                                                          -
                                                                                                                                                                          1548  }
                                                                                                                                                                          -
                                                                                                                                                                          1549  }
                                                                                                                                                                          -
                                                                                                                                                                          1550  }
                                                                                                                                                                          +
                                                                                                                                                                          1536  // TODO: use Wahba loss function (maybe average per star) instead of just angle. Also break
                                                                                                                                                                          +
                                                                                                                                                                          1537  // apart roll error from boresight error. This is just quick and dirty for testing
                                                                                                                                                                          +
                                                                                                                                                                          1538 
                                                                                                                                                                          +
                                                                                                                                                                          1539  decimal angleThreshold = DegToRad(values.attitudeCompareThreshold);
                                                                                                                                                                          +
                                                                                                                                                                          1540 
                                                                                                                                                                          +
                                                                                                                                                                          1541  decimal attitudeErrorSum = 0.0f;
                                                                                                                                                                          +
                                                                                                                                                                          1542  int numCorrect = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1543  int numIncorrect = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1544 
                                                                                                                                                                          +
                                                                                                                                                                          1545  for (int i = 0; i < (int)expected.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1546  if (actual[i].attitude->IsKnown()) {
                                                                                                                                                                          +
                                                                                                                                                                          1547  Quaternion expectedQuaternion = expected[i]->ExpectedAttitude()->GetQuaternion();
                                                                                                                                                                          +
                                                                                                                                                                          1548  Quaternion actualQuaternion = actual[i].attitude->GetQuaternion();
                                                                                                                                                                          +
                                                                                                                                                                          1549  decimal attitudeError = (expectedQuaternion * actualQuaternion.Conjugate()).SmallestAngle();
                                                                                                                                                                          +
                                                                                                                                                                          1550  assert(attitudeError >= 0);
                                                                                                                                                                          1551 
                                                                                                                                                                          -
                                                                                                                                                                          1552  float attitudeErrorMean = attitudeErrorSum / numCorrect;
                                                                                                                                                                          -
                                                                                                                                                                          1553  float fractionCorrect = (float)numCorrect / expected.size();
                                                                                                                                                                          -
                                                                                                                                                                          1554  float fractionIncorrect = (float)numIncorrect / expected.size();
                                                                                                                                                                          -
                                                                                                                                                                          1555 
                                                                                                                                                                          -
                                                                                                                                                                          1556  os << "attitude_error_mean " << attitudeErrorMean << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1557  os << "attitude_availability " << fractionCorrect << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1558  os << "attitude_error_rate " << fractionIncorrect << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1559 }
                                                                                                                                                                          +
                                                                                                                                                                          1552  if (attitudeError <= angleThreshold) {
                                                                                                                                                                          +
                                                                                                                                                                          1553  attitudeErrorSum += attitudeError;
                                                                                                                                                                          +
                                                                                                                                                                          1554  numCorrect++;
                                                                                                                                                                          +
                                                                                                                                                                          1555  } else {
                                                                                                                                                                          +
                                                                                                                                                                          1556  numIncorrect++;
                                                                                                                                                                          +
                                                                                                                                                                          1557  }
                                                                                                                                                                          +
                                                                                                                                                                          1558  }
                                                                                                                                                                          +
                                                                                                                                                                          1559  }
                                                                                                                                                                          1560 
                                                                                                                                                                          -
                                                                                                                                                                          1561 static void PrintTimeStats(std::ostream &os, const std::string &prefix, const std::vector<long long> &times) {
                                                                                                                                                                          -
                                                                                                                                                                          1562  assert(times.size() > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1563 
                                                                                                                                                                          -
                                                                                                                                                                          1564  // print average, min, max, and 95% max
                                                                                                                                                                          -
                                                                                                                                                                          1565  long long sum = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1566  long long min = LONG_MAX;
                                                                                                                                                                          -
                                                                                                                                                                          1567  long long max = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1568  for (int i = 0; i < (int)times.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1569  assert(times[i] > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1570  sum += times[i];
                                                                                                                                                                          -
                                                                                                                                                                          1571  min = std::min(min, times[i]);
                                                                                                                                                                          -
                                                                                                                                                                          1572  max = std::max(max, times[i]);
                                                                                                                                                                          -
                                                                                                                                                                          1573  }
                                                                                                                                                                          -
                                                                                                                                                                          1574  long average = sum / times.size();
                                                                                                                                                                          -
                                                                                                                                                                          1575  std::vector<long long> sortedTimes = times;
                                                                                                                                                                          -
                                                                                                                                                                          1576  std::sort(sortedTimes.begin(), sortedTimes.end());
                                                                                                                                                                          -
                                                                                                                                                                          1577  // what really is the 95th percentile? Being conservative, we want to pick a value that at least
                                                                                                                                                                          -
                                                                                                                                                                          1578  // 95% of the times are less than. This means: (1) finding the number of times, (2) Finding
                                                                                                                                                                          -
                                                                                                                                                                          1579  // Math.ceil(0.95 * numTimes), and (3) subtracting 1 to get the index.
                                                                                                                                                                          -
                                                                                                                                                                          1580  int ninetyFiveIndex = (int)std::ceil(0.95 * times.size()) - 1;
                                                                                                                                                                          -
                                                                                                                                                                          1581  assert(ninetyFiveIndex >= 0);
                                                                                                                                                                          -
                                                                                                                                                                          1582  long long ninetyFifthPercentile = sortedTimes[ninetyFiveIndex];
                                                                                                                                                                          -
                                                                                                                                                                          1583 
                                                                                                                                                                          -
                                                                                                                                                                          1584  os << prefix << "_average_ns " << average << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1585  os << prefix << "_min_ns " << min << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1586  os << prefix << "_max_ns " << max << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1587  os << prefix << "_95%_ns " << ninetyFifthPercentile << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1588 }
                                                                                                                                                                          -
                                                                                                                                                                          1589 
                                                                                                                                                                          -
                                                                                                                                                                          1591 static void PipelineComparatorPrintSpeed(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1592  const PipelineInputList &,
                                                                                                                                                                          -
                                                                                                                                                                          1593  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1594  const PipelineOptions &) {
                                                                                                                                                                          -
                                                                                                                                                                          1595  std::vector<long long> centroidingTimes;
                                                                                                                                                                          -
                                                                                                                                                                          1596  std::vector<long long> starIdTimes;
                                                                                                                                                                          -
                                                                                                                                                                          1597  std::vector<long long> attitudeTimes;
                                                                                                                                                                          -
                                                                                                                                                                          1598  std::vector<long long> totalTimes;
                                                                                                                                                                          -
                                                                                                                                                                          1599  for (int i = 0; i < (int)actual.size(); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1600  long long totalTime = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1601  if (actual[i].centroidingTimeNs > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1602  centroidingTimes.push_back(actual[i].centroidingTimeNs);
                                                                                                                                                                          -
                                                                                                                                                                          1603  totalTime += actual[i].centroidingTimeNs;
                                                                                                                                                                          -
                                                                                                                                                                          1604  }
                                                                                                                                                                          -
                                                                                                                                                                          1605  if (actual[i].starIdTimeNs > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1606  starIdTimes.push_back(actual[i].starIdTimeNs);
                                                                                                                                                                          -
                                                                                                                                                                          1607  totalTime += actual[i].starIdTimeNs;
                                                                                                                                                                          -
                                                                                                                                                                          1608  }
                                                                                                                                                                          -
                                                                                                                                                                          1609  if (actual[i].attitudeEstimationTimeNs > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1610  attitudeTimes.push_back(actual[i].attitudeEstimationTimeNs);
                                                                                                                                                                          -
                                                                                                                                                                          1611  totalTime += actual[i].attitudeEstimationTimeNs;
                                                                                                                                                                          -
                                                                                                                                                                          1612  }
                                                                                                                                                                          -
                                                                                                                                                                          1613  totalTimes.push_back(totalTime);
                                                                                                                                                                          -
                                                                                                                                                                          1614  }
                                                                                                                                                                          -
                                                                                                                                                                          1615  if (centroidingTimes.size() > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1616  PrintTimeStats(os, "centroiding", centroidingTimes);
                                                                                                                                                                          -
                                                                                                                                                                          1617  }
                                                                                                                                                                          -
                                                                                                                                                                          1618  if (starIdTimes.size() > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1619  PrintTimeStats(os, "starid", starIdTimes);
                                                                                                                                                                          -
                                                                                                                                                                          1620  }
                                                                                                                                                                          -
                                                                                                                                                                          1621  if (attitudeTimes.size() > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1622  PrintTimeStats(os, "attitude", attitudeTimes);
                                                                                                                                                                          +
                                                                                                                                                                          1561  decimal attitudeErrorMean = DECIMAL(attitudeErrorSum) / numCorrect;
                                                                                                                                                                          +
                                                                                                                                                                          1562  decimal fractionCorrect = DECIMAL(numCorrect) / expected.size();
                                                                                                                                                                          +
                                                                                                                                                                          1563  decimal fractionIncorrect = DECIMAL(numIncorrect) / expected.size();
                                                                                                                                                                          +
                                                                                                                                                                          1564 
                                                                                                                                                                          +
                                                                                                                                                                          1565  os << "attitude_error_mean " << attitudeErrorMean << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1566  os << "attitude_availability " << fractionCorrect << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1567  os << "attitude_error_rate " << fractionIncorrect << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1568 }
                                                                                                                                                                          +
                                                                                                                                                                          1569 
                                                                                                                                                                          +
                                                                                                                                                                          1570 static void PrintTimeStats(std::ostream &os, const std::string &prefix, const std::vector<long long> &times) {
                                                                                                                                                                          +
                                                                                                                                                                          1571  assert(times.size() > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1572 
                                                                                                                                                                          +
                                                                                                                                                                          1573  // print average, min, max, and 95% max
                                                                                                                                                                          +
                                                                                                                                                                          1574  long long sum = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1575  long long min = LONG_MAX;
                                                                                                                                                                          +
                                                                                                                                                                          1576  long long max = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1577  for (int i = 0; i < (int)times.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1578  assert(times[i] > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1579  sum += times[i];
                                                                                                                                                                          +
                                                                                                                                                                          1580  min = std::min(min, times[i]);
                                                                                                                                                                          +
                                                                                                                                                                          1581  max = std::max(max, times[i]);
                                                                                                                                                                          +
                                                                                                                                                                          1582  }
                                                                                                                                                                          +
                                                                                                                                                                          1583  long average = sum / times.size();
                                                                                                                                                                          +
                                                                                                                                                                          1584  std::vector<long long> sortedTimes = times;
                                                                                                                                                                          +
                                                                                                                                                                          1585  std::sort(sortedTimes.begin(), sortedTimes.end());
                                                                                                                                                                          +
                                                                                                                                                                          1586  // what really is the 95th percentile? Being conservative, we want to pick a value that at least
                                                                                                                                                                          +
                                                                                                                                                                          1587  // 95% of the times are less than. This means: (1) finding the number of times, (2) Finding
                                                                                                                                                                          +
                                                                                                                                                                          1588  // Math.ceil(0.95 * numTimes), and (3) subtracting 1 to get the index.
                                                                                                                                                                          +
                                                                                                                                                                          1589  int ninetyFiveIndex = (int)std::ceil(0.95 * times.size()) - 1;
                                                                                                                                                                          +
                                                                                                                                                                          1590  assert(ninetyFiveIndex >= 0);
                                                                                                                                                                          +
                                                                                                                                                                          1591  long long ninetyFifthPercentile = sortedTimes[ninetyFiveIndex];
                                                                                                                                                                          +
                                                                                                                                                                          1592 
                                                                                                                                                                          +
                                                                                                                                                                          1593  os << prefix << "_average_ns " << average << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1594  os << prefix << "_min_ns " << min << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1595  os << prefix << "_max_ns " << max << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1596  os << prefix << "_95%_ns " << ninetyFifthPercentile << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1597 }
                                                                                                                                                                          +
                                                                                                                                                                          1598 
                                                                                                                                                                          +
                                                                                                                                                                          1600 static void PipelineComparatorPrintSpeed(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1601  const PipelineInputList &,
                                                                                                                                                                          +
                                                                                                                                                                          1602  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1603  const PipelineOptions &) {
                                                                                                                                                                          +
                                                                                                                                                                          1604  std::vector<long long> centroidingTimes;
                                                                                                                                                                          +
                                                                                                                                                                          1605  std::vector<long long> starIdTimes;
                                                                                                                                                                          +
                                                                                                                                                                          1606  std::vector<long long> attitudeTimes;
                                                                                                                                                                          +
                                                                                                                                                                          1607  std::vector<long long> totalTimes;
                                                                                                                                                                          +
                                                                                                                                                                          1608  for (int i = 0; i < (int)actual.size(); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1609  long long totalTime = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1610  if (actual[i].centroidingTimeNs > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1611  centroidingTimes.push_back(actual[i].centroidingTimeNs);
                                                                                                                                                                          +
                                                                                                                                                                          1612  totalTime += actual[i].centroidingTimeNs;
                                                                                                                                                                          +
                                                                                                                                                                          1613  }
                                                                                                                                                                          +
                                                                                                                                                                          1614  if (actual[i].starIdTimeNs > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1615  starIdTimes.push_back(actual[i].starIdTimeNs);
                                                                                                                                                                          +
                                                                                                                                                                          1616  totalTime += actual[i].starIdTimeNs;
                                                                                                                                                                          +
                                                                                                                                                                          1617  }
                                                                                                                                                                          +
                                                                                                                                                                          1618  if (actual[i].attitudeEstimationTimeNs > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1619  attitudeTimes.push_back(actual[i].attitudeEstimationTimeNs);
                                                                                                                                                                          +
                                                                                                                                                                          1620  totalTime += actual[i].attitudeEstimationTimeNs;
                                                                                                                                                                          +
                                                                                                                                                                          1621  }
                                                                                                                                                                          +
                                                                                                                                                                          1622  totalTimes.push_back(totalTime);
                                                                                                                                                                          1623  }
                                                                                                                                                                          -
                                                                                                                                                                          1624  if (centroidingTimes.size() > 0 || starIdTimes.size() > 0 || attitudeTimes.size() > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1625  PrintTimeStats(os, "total", totalTimes);
                                                                                                                                                                          +
                                                                                                                                                                          1624  if (centroidingTimes.size() > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1625  PrintTimeStats(os, "centroiding", centroidingTimes);
                                                                                                                                                                          1626  }
                                                                                                                                                                          -
                                                                                                                                                                          1627 }
                                                                                                                                                                          -
                                                                                                                                                                          1628 
                                                                                                                                                                          -
                                                                                                                                                                          1629 // TODO: add these debug comparators back in!
                                                                                                                                                                          -
                                                                                                                                                                          1630 // void PipelineComparatorPrintPairDistance(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1631 // const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1632 // const std::vector<PipelineOutput> &actual) {
                                                                                                                                                                          -
                                                                                                                                                                          1633 // int index1 = Prompt<int>("Index of first star");
                                                                                                                                                                          -
                                                                                                                                                                          1634 // int index2 = Prompt<int>("Index of second star");
                                                                                                                                                                          -
                                                                                                                                                                          1635 
                                                                                                                                                                          -
                                                                                                                                                                          1636 // const Camera &camera = *expected[0]->InputCamera();
                                                                                                                                                                          -
                                                                                                                                                                          1637 // const Stars &stars = *actual[0].stars;
                                                                                                                                                                          -
                                                                                                                                                                          1638 
                                                                                                                                                                          -
                                                                                                                                                                          1639 // assert(index1 >= 0 && index2 >= 0 && index1 < (int)stars.size() && index2 < (int)stars.size());
                                                                                                                                                                          -
                                                                                                                                                                          1640 // os << "pair_distance " << Angle(camera.CameraToSpatial(stars[index1].position),
                                                                                                                                                                          -
                                                                                                                                                                          1641 // camera.CameraToSpatial(stars[index2].position))
                                                                                                                                                                          -
                                                                                                                                                                          1642 // << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1643 // }
                                                                                                                                                                          +
                                                                                                                                                                          1627  if (starIdTimes.size() > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1628  PrintTimeStats(os, "starid", starIdTimes);
                                                                                                                                                                          +
                                                                                                                                                                          1629  }
                                                                                                                                                                          +
                                                                                                                                                                          1630  if (attitudeTimes.size() > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1631  PrintTimeStats(os, "attitude", attitudeTimes);
                                                                                                                                                                          +
                                                                                                                                                                          1632  }
                                                                                                                                                                          +
                                                                                                                                                                          1633  if (centroidingTimes.size() > 0 || starIdTimes.size() > 0 || attitudeTimes.size() > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1634  PrintTimeStats(os, "total", totalTimes);
                                                                                                                                                                          +
                                                                                                                                                                          1635  }
                                                                                                                                                                          +
                                                                                                                                                                          1636 }
                                                                                                                                                                          +
                                                                                                                                                                          1637 
                                                                                                                                                                          +
                                                                                                                                                                          1638 // TODO: add these debug comparators back in!
                                                                                                                                                                          +
                                                                                                                                                                          1639 // void PipelineComparatorPrintPairDistance(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1640 // const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1641 // const std::vector<PipelineOutput> &actual) {
                                                                                                                                                                          +
                                                                                                                                                                          1642 // int index1 = Prompt<int>("Index of first star");
                                                                                                                                                                          +
                                                                                                                                                                          1643 // int index2 = Prompt<int>("Index of second star");
                                                                                                                                                                          1644 
                                                                                                                                                                          -
                                                                                                                                                                          1645 // void PipelineComparatorPrintPyramidDistances(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1646 // const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1647 // const std::vector<PipelineOutput> &actual) {
                                                                                                                                                                          -
                                                                                                                                                                          1648 // int index1 = Prompt<int>("Catalog name/index of first star");
                                                                                                                                                                          -
                                                                                                                                                                          1649 // int index2 = Prompt<int>("Catalog name/index of second star");
                                                                                                                                                                          -
                                                                                                                                                                          1650 // int index3 = Prompt<int>("Catalog name/index of third star");
                                                                                                                                                                          -
                                                                                                                                                                          1651 // int index4 = Prompt<int>("Catalog name/index of four star");
                                                                                                                                                                          -
                                                                                                                                                                          1652 
                                                                                                                                                                          -
                                                                                                                                                                          1653 // const Camera &camera = *expected[0]->InputCamera();
                                                                                                                                                                          -
                                                                                                                                                                          1654 // const Stars &stars = *actual[0].stars;
                                                                                                                                                                          -
                                                                                                                                                                          1655 
                                                                                                                                                                          -
                                                                                                                                                                          1656 // Vec3 spatial1 = camera.CameraToSpatial(stars[index1].position);
                                                                                                                                                                          -
                                                                                                                                                                          1657 // Vec3 spatial2 = camera.CameraToSpatial(stars[index2].position);
                                                                                                                                                                          -
                                                                                                                                                                          1658 // Vec3 spatial3 = camera.CameraToSpatial(stars[index3].position);
                                                                                                                                                                          -
                                                                                                                                                                          1659 // Vec3 spatial4 = camera.CameraToSpatial(stars[index4].position);
                                                                                                                                                                          -
                                                                                                                                                                          1660 
                                                                                                                                                                          -
                                                                                                                                                                          1661 // std::cout << "pair_distance_12 " << Angle(spatial1, spatial2) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1662 // std::cout << "pair_distance_13 " << Angle(spatial1, spatial3) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1663 // std::cout << "pair_distance_14 " << Angle(spatial1, spatial4) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1664 // std::cout << "pair_distance_23 " << Angle(spatial2, spatial3) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1665 // std::cout << "pair_distance_24 " << Angle(spatial2, spatial4) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1666 // std::cout << "pair_distance_34 " << Angle(spatial3, spatial4) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1667 // }
                                                                                                                                                                          -
                                                                                                                                                                          1668 
                                                                                                                                                                          -
                                                                                                                                                                          1669 // void PipelineComparatorPrintTripleAngle(std::ostream &os,
                                                                                                                                                                          -
                                                                                                                                                                          1670 // const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          1671 // const std::vector<PipelineOutput> &actual) {
                                                                                                                                                                          -
                                                                                                                                                                          1672 // int index1 = Prompt<int>("Index of first star");
                                                                                                                                                                          -
                                                                                                                                                                          1673 // int index2 = Prompt<int>("Index of second star");
                                                                                                                                                                          -
                                                                                                                                                                          1674 // int index3 = Prompt<int>("Index of third star");
                                                                                                                                                                          -
                                                                                                                                                                          1675 
                                                                                                                                                                          -
                                                                                                                                                                          1676 // const Camera &camera = *expected[0]->InputCamera();
                                                                                                                                                                          -
                                                                                                                                                                          1677 // const Stars &stars = *actual[0].stars;
                                                                                                                                                                          -
                                                                                                                                                                          1678 
                                                                                                                                                                          -
                                                                                                                                                                          1679 // assert(index1 >= 0 && index1 < (int)stars.size());
                                                                                                                                                                          -
                                                                                                                                                                          1680 // assert(index2 >= 0 && index2 < (int)stars.size());
                                                                                                                                                                          -
                                                                                                                                                                          1681 // assert(index3 >= 0 && index3 < (int)stars.size());
                                                                                                                                                                          -
                                                                                                                                                                          1682 
                                                                                                                                                                          -
                                                                                                                                                                          1683 // // TODO, when merging with nondimensional branch
                                                                                                                                                                          -
                                                                                                                                                                          1684 // }
                                                                                                                                                                          -
                                                                                                                                                                          1685 
                                                                                                                                                                          - -
                                                                                                                                                                          1691  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          1692  const PipelineOptions &values) {
                                                                                                                                                                          -
                                                                                                                                                                          1693  if (actual.size() == 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1694  std::cerr << "ERROR: No output! Did you specify any input images? Try --png or --generate." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1695  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          1696  }
                                                                                                                                                                          -
                                                                                                                                                                          1697 
                                                                                                                                                                          -
                                                                                                                                                                          1698  assert(expected.size() == actual.size() && expected.size() > 0);
                                                                                                                                                                          -
                                                                                                                                                                          1699 
                                                                                                                                                                          -
                                                                                                                                                                          1700  // TODO: Remove the asserts and print out more reasonable error messages.
                                                                                                                                                                          -
                                                                                                                                                                          1701 
                                                                                                                                                                          -
                                                                                                                                                                          1702 #define LOST_PIPELINE_COMPARE(precondition, errmsg, comparator, path, isBinary) do { \
                                                                                                                                                                          -
                                                                                                                                                                          1703  if (precondition) { \
                                                                                                                                                                          -
                                                                                                                                                                          1704  UserSpecifiedOutputStream pos(path, isBinary); \
                                                                                                                                                                          -
                                                                                                                                                                          1705  comparator(pos.Stream(), expected, actual, values); \
                                                                                                                                                                          -
                                                                                                                                                                          1706  } else { \
                                                                                                                                                                          -
                                                                                                                                                                          1707  std::cerr << "ERROR: Comparator not applicable: " << errmsg << std::endl; \
                                                                                                                                                                          -
                                                                                                                                                                          1708  exit(1); \
                                                                                                                                                                          -
                                                                                                                                                                          1709  } \
                                                                                                                                                                          -
                                                                                                                                                                          1710  } while (0)
                                                                                                                                                                          -
                                                                                                                                                                          1711 
                                                                                                                                                                          -
                                                                                                                                                                          1712  if (values.plotRawInput != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1713  LOST_PIPELINE_COMPARE(expected[0]->InputImage() && expected.size() == 1,
                                                                                                                                                                          -
                                                                                                                                                                          1714  "--plot-raw-input requires exactly 1 input image, but " + std::to_string(expected.size()) + " many were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1715  PipelineComparatorPlotRawInput, values.plotRawInput, true);
                                                                                                                                                                          -
                                                                                                                                                                          1716  }
                                                                                                                                                                          -
                                                                                                                                                                          1717 
                                                                                                                                                                          -
                                                                                                                                                                          1718  if (values.plotInput != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1719  LOST_PIPELINE_COMPARE(expected[0]->InputImage() && expected.size() == 1 && expected[0]->InputStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1720  "--plot-input requires exactly 1 input image, and for centroids to be available on that input image. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1721  PipelineComparatorPlotInput, values.plotInput, true);
                                                                                                                                                                          -
                                                                                                                                                                          1722  }
                                                                                                                                                                          -
                                                                                                                                                                          1723  if (values.plotExpected != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1724  LOST_PIPELINE_COMPARE(expected[0]->InputImage() && expected.size() == 1 && expected[0]->ExpectedStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1725  "--plot-expected-input requires exactly 1 input image, and for expected centroids to be available on that input image. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1726  PipelineComparatorPlotExpected, values.plotExpected, true);
                                                                                                                                                                          -
                                                                                                                                                                          1727  }
                                                                                                                                                                          -
                                                                                                                                                                          1728  if (values.plotOutput != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1729  LOST_PIPELINE_COMPARE(actual.size() == 1 && (actual[0].stars || actual[0].starIds),
                                                                                                                                                                          -
                                                                                                                                                                          1730  "--plot-output requires exactly 1 output image, and for either centroids or star IDs to be available on that output image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1731  PipelineComparatorPlotOutput, values.plotOutput, true);
                                                                                                                                                                          -
                                                                                                                                                                          1732  }
                                                                                                                                                                          -
                                                                                                                                                                          1733  if (values.printExpectedCentroids != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1734  LOST_PIPELINE_COMPARE(expected[0]->ExpectedStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1735  "--print-expected-centroids requires at least 1 input with expected centroids. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1736  PipelineComparatorPrintExpectedCentroids, values.printExpectedCentroids, false);
                                                                                                                                                                          -
                                                                                                                                                                          1737  }
                                                                                                                                                                          -
                                                                                                                                                                          1738  if (values.printInputCentroids != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1739  LOST_PIPELINE_COMPARE(expected[0]->InputStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1740  "--print-input-centroids requires at least 1 input with centroids. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1741  PipelineComparatorPrintInputCentroids, values.printInputCentroids, false);
                                                                                                                                                                          -
                                                                                                                                                                          1742  }
                                                                                                                                                                          -
                                                                                                                                                                          1743  if (values.printActualCentroids != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1744  LOST_PIPELINE_COMPARE(actual[0].stars,
                                                                                                                                                                          -
                                                                                                                                                                          1745  "--print-actual-centroids requires at least 1 output image, and for centroids to be available on the output images. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1746  PipelineComparatorPrintActualCentroids, values.printActualCentroids, false);
                                                                                                                                                                          -
                                                                                                                                                                          1747  }
                                                                                                                                                                          -
                                                                                                                                                                          1748  if (values.plotCentroidIndices != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1749  LOST_PIPELINE_COMPARE(expected.size() == 1 && expected[0]->InputImage(),
                                                                                                                                                                          -
                                                                                                                                                                          1750  "--plot-centroid-indices requires exactly 1 input with image. " + std::to_string(expected.size()) + " many inputs were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1751  PipelineComparatorPlotCentroidIndices, values.plotCentroidIndices, true);
                                                                                                                                                                          -
                                                                                                                                                                          1752  }
                                                                                                                                                                          -
                                                                                                                                                                          1753  if (values.compareCentroids != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1754  LOST_PIPELINE_COMPARE(actual[0].stars && expected[0]->ExpectedStars() && values.centroidCompareThreshold,
                                                                                                                                                                          -
                                                                                                                                                                          1755  "--compare-centroids requires at least 1 output image, and for expected centroids to be available on the input image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1756  PipelineComparatorCentroids, values.compareCentroids, false);
                                                                                                                                                                          -
                                                                                                                                                                          1757  }
                                                                                                                                                                          -
                                                                                                                                                                          1758  if (values.compareStarIds != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1759  LOST_PIPELINE_COMPARE(expected[0]->ExpectedStarIds() && actual[0].starIds && expected[0]->ExpectedStars(),
                                                                                                                                                                          -
                                                                                                                                                                          1760  "--compare-star-ids requires at least 1 output image, and for expected star IDs and centroids to be available on the input image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1761  PipelineComparatorStarIds, values.compareStarIds, false);
                                                                                                                                                                          -
                                                                                                                                                                          1762  }
                                                                                                                                                                          -
                                                                                                                                                                          1763  if (values.printAttitude != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1764  LOST_PIPELINE_COMPARE(actual[0].attitude && actual.size() == 1,
                                                                                                                                                                          -
                                                                                                                                                                          1765  "--print-attitude requires exactly 1 output image, and for attitude to be available on that output image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1766  PipelineComparatorPrintAttitude, values.printAttitude, false);
                                                                                                                                                                          -
                                                                                                                                                                          1767  }
                                                                                                                                                                          -
                                                                                                                                                                          1768  if (values.printExpectedAttitude != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1769  LOST_PIPELINE_COMPARE(expected[0]->ExpectedAttitude() && expected.size() == 1,
                                                                                                                                                                          -
                                                                                                                                                                          1770  "--print-expected-attitude requires exactly 1 input image, and for expected attitude to be available on that input image. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1771  PipelineComparatorPrintExpectedAttitude, values.printExpectedAttitude, false);
                                                                                                                                                                          -
                                                                                                                                                                          1772  }
                                                                                                                                                                          -
                                                                                                                                                                          1773  if (values.compareAttitudes != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1774  LOST_PIPELINE_COMPARE(actual[0].attitude && expected[0]->ExpectedAttitude() && values.attitudeCompareThreshold,
                                                                                                                                                                          -
                                                                                                                                                                          1775  "--compare-attitudes requires at least 1 output image, and for expected attitude to be available on the input image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1776  PipelineComparatorAttitude, values.compareAttitudes, false);
                                                                                                                                                                          -
                                                                                                                                                                          1777  }
                                                                                                                                                                          -
                                                                                                                                                                          1778  if (values.printSpeed != "") {
                                                                                                                                                                          -
                                                                                                                                                                          1779  LOST_PIPELINE_COMPARE(actual.size() > 0,
                                                                                                                                                                          -
                                                                                                                                                                          1780  // I don't think this should ever actually happen??
                                                                                                                                                                          -
                                                                                                                                                                          1781  "--print-speed requires at least 1 output image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          -
                                                                                                                                                                          1782  PipelineComparatorPrintSpeed, values.printSpeed, false);
                                                                                                                                                                          -
                                                                                                                                                                          1783  }
                                                                                                                                                                          -
                                                                                                                                                                          1784 
                                                                                                                                                                          -
                                                                                                                                                                          1785 #undef LOST_PIPELINE_COMPARE
                                                                                                                                                                          -
                                                                                                                                                                          1786 }
                                                                                                                                                                          -
                                                                                                                                                                          1787 
                                                                                                                                                                          -
                                                                                                                                                                          1788 // TODO: Add CLI options for all the inspectors!
                                                                                                                                                                          -
                                                                                                                                                                          1789 
                                                                                                                                                                          -
                                                                                                                                                                          1790 // typedef void (*CatalogInspector)(const Catalog &);
                                                                                                                                                                          -
                                                                                                                                                                          1791 
                                                                                                                                                                          -
                                                                                                                                                                          1792 // static std::vector<const CatalogStar *> PromptCatalogStars(const Catalog &catalog, int howMany) {
                                                                                                                                                                          -
                                                                                                                                                                          1793 // std::vector<const CatalogStar *> result;
                                                                                                                                                                          -
                                                                                                                                                                          1794 // for (int i = 0; i < howMany; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          1795 // int name = Prompt<int>("Catalog name of " + std::to_string(i) + "-th star");
                                                                                                                                                                          -
                                                                                                                                                                          1796 // const CatalogStar *star = findNamedStar(catalog, name);
                                                                                                                                                                          -
                                                                                                                                                                          1797 // if (star == NULL) {
                                                                                                                                                                          -
                                                                                                                                                                          1798 // std::cerr << "Star not found!" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1799 // exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          1800 // }
                                                                                                                                                                          -
                                                                                                                                                                          1801 // result.push_back(star);
                                                                                                                                                                          -
                                                                                                                                                                          1802 // }
                                                                                                                                                                          -
                                                                                                                                                                          1803 // return result;
                                                                                                                                                                          -
                                                                                                                                                                          1804 // }
                                                                                                                                                                          -
                                                                                                                                                                          1805 
                                                                                                                                                                          -
                                                                                                                                                                          1806 // void InspectPairDistance(const Catalog &catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          1807 // auto stars = PromptCatalogStars(catalog, 2);
                                                                                                                                                                          -
                                                                                                                                                                          1808 
                                                                                                                                                                          -
                                                                                                                                                                          1809 // // TODO: not cout, prompt for an ostream in inspect and pass argument
                                                                                                                                                                          -
                                                                                                                                                                          1810 // std::cout << Angle(stars[0]->spatial, stars[1]->spatial) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1811 // }
                                                                                                                                                                          -
                                                                                                                                                                          1812 
                                                                                                                                                                          -
                                                                                                                                                                          1813 // void InspectPyramidDistances(const Catalog &catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          1814 // auto stars = PromptCatalogStars(catalog, 4);
                                                                                                                                                                          -
                                                                                                                                                                          1815 
                                                                                                                                                                          -
                                                                                                                                                                          1816 // std::cout << "pair_distance_01 " << Angle(stars[0]->spatial, stars[1]->spatial) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1817 // std::cout << "pair_distance_02 " << Angle(stars[0]->spatial, stars[2]->spatial) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1818 // std::cout << "pair_distance_03 " << Angle(stars[0]->spatial, stars[3]->spatial) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1819 // std::cout << "pair_distance_12 " << Angle(stars[1]->spatial, stars[2]->spatial) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1820 // std::cout << "pair_distance_13 " << Angle(stars[1]->spatial, stars[3]->spatial) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1821 // std::cout << "pair_distance_23 " << Angle(stars[2]->spatial, stars[3]->spatial) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1822 // }
                                                                                                                                                                          -
                                                                                                                                                                          1823 
                                                                                                                                                                          -
                                                                                                                                                                          1824 // void InspectTripleAngle(const Catalog &catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          1825 // auto stars = PromptCatalogStars(catalog, 3);
                                                                                                                                                                          -
                                                                                                                                                                          1826 
                                                                                                                                                                          -
                                                                                                                                                                          1827 // // TODO
                                                                                                                                                                          -
                                                                                                                                                                          1828 // }
                                                                                                                                                                          -
                                                                                                                                                                          1829 
                                                                                                                                                                          -
                                                                                                                                                                          1830 // void InspectFindStar(const Catalog &catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          1831 // std::string raStr = PromptLine("Right Ascension");
                                                                                                                                                                          +
                                                                                                                                                                          1645 // const Camera &camera = *expected[0]->InputCamera();
                                                                                                                                                                          +
                                                                                                                                                                          1646 // const Stars &stars = *actual[0].stars;
                                                                                                                                                                          +
                                                                                                                                                                          1647 
                                                                                                                                                                          +
                                                                                                                                                                          1648 // assert(index1 >= 0 && index2 >= 0 && index1 < (int)stars.size() && index2 < (int)stars.size());
                                                                                                                                                                          +
                                                                                                                                                                          1649 // os << "pair_distance " << Angle(camera.CameraToSpatial(stars[index1].position),
                                                                                                                                                                          +
                                                                                                                                                                          1650 // camera.CameraToSpatial(stars[index2].position))
                                                                                                                                                                          +
                                                                                                                                                                          1651 // << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1652 // }
                                                                                                                                                                          +
                                                                                                                                                                          1653 
                                                                                                                                                                          +
                                                                                                                                                                          1654 // void PipelineComparatorPrintPyramidDistances(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1655 // const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1656 // const std::vector<PipelineOutput> &actual) {
                                                                                                                                                                          +
                                                                                                                                                                          1657 // int index1 = Prompt<int>("Catalog name/index of first star");
                                                                                                                                                                          +
                                                                                                                                                                          1658 // int index2 = Prompt<int>("Catalog name/index of second star");
                                                                                                                                                                          +
                                                                                                                                                                          1659 // int index3 = Prompt<int>("Catalog name/index of third star");
                                                                                                                                                                          +
                                                                                                                                                                          1660 // int index4 = Prompt<int>("Catalog name/index of four star");
                                                                                                                                                                          +
                                                                                                                                                                          1661 
                                                                                                                                                                          +
                                                                                                                                                                          1662 // const Camera &camera = *expected[0]->InputCamera();
                                                                                                                                                                          +
                                                                                                                                                                          1663 // const Stars &stars = *actual[0].stars;
                                                                                                                                                                          +
                                                                                                                                                                          1664 
                                                                                                                                                                          +
                                                                                                                                                                          1665 // Vec3 spatial1 = camera.CameraToSpatial(stars[index1].position);
                                                                                                                                                                          +
                                                                                                                                                                          1666 // Vec3 spatial2 = camera.CameraToSpatial(stars[index2].position);
                                                                                                                                                                          +
                                                                                                                                                                          1667 // Vec3 spatial3 = camera.CameraToSpatial(stars[index3].position);
                                                                                                                                                                          +
                                                                                                                                                                          1668 // Vec3 spatial4 = camera.CameraToSpatial(stars[index4].position);
                                                                                                                                                                          +
                                                                                                                                                                          1669 
                                                                                                                                                                          +
                                                                                                                                                                          1670 // std::cout << "pair_distance_12 " << Angle(spatial1, spatial2) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1671 // std::cout << "pair_distance_13 " << Angle(spatial1, spatial3) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1672 // std::cout << "pair_distance_14 " << Angle(spatial1, spatial4) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1673 // std::cout << "pair_distance_23 " << Angle(spatial2, spatial3) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1674 // std::cout << "pair_distance_24 " << Angle(spatial2, spatial4) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1675 // std::cout << "pair_distance_34 " << Angle(spatial3, spatial4) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1676 // }
                                                                                                                                                                          +
                                                                                                                                                                          1677 
                                                                                                                                                                          +
                                                                                                                                                                          1678 // void PipelineComparatorPrintTripleAngle(std::ostream &os,
                                                                                                                                                                          +
                                                                                                                                                                          1679 // const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          1680 // const std::vector<PipelineOutput> &actual) {
                                                                                                                                                                          +
                                                                                                                                                                          1681 // int index1 = Prompt<int>("Index of first star");
                                                                                                                                                                          +
                                                                                                                                                                          1682 // int index2 = Prompt<int>("Index of second star");
                                                                                                                                                                          +
                                                                                                                                                                          1683 // int index3 = Prompt<int>("Index of third star");
                                                                                                                                                                          +
                                                                                                                                                                          1684 
                                                                                                                                                                          +
                                                                                                                                                                          1685 // const Camera &camera = *expected[0]->InputCamera();
                                                                                                                                                                          +
                                                                                                                                                                          1686 // const Stars &stars = *actual[0].stars;
                                                                                                                                                                          +
                                                                                                                                                                          1687 
                                                                                                                                                                          +
                                                                                                                                                                          1688 // assert(index1 >= 0 && index1 < (int)stars.size());
                                                                                                                                                                          +
                                                                                                                                                                          1689 // assert(index2 >= 0 && index2 < (int)stars.size());
                                                                                                                                                                          +
                                                                                                                                                                          1690 // assert(index3 >= 0 && index3 < (int)stars.size());
                                                                                                                                                                          +
                                                                                                                                                                          1691 
                                                                                                                                                                          +
                                                                                                                                                                          1692 // // TODO, when merging with nondimensional branch
                                                                                                                                                                          +
                                                                                                                                                                          1693 // }
                                                                                                                                                                          +
                                                                                                                                                                          1694 
                                                                                                                                                                          + +
                                                                                                                                                                          1700  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          1701  const PipelineOptions &values) {
                                                                                                                                                                          +
                                                                                                                                                                          1702  if (actual.size() == 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1703  std::cerr << "ERROR: No output! Did you specify any input images? Try --png or --generate." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1704  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          1705  }
                                                                                                                                                                          +
                                                                                                                                                                          1706 
                                                                                                                                                                          +
                                                                                                                                                                          1707  assert(expected.size() == actual.size() && expected.size() > 0);
                                                                                                                                                                          +
                                                                                                                                                                          1708 
                                                                                                                                                                          +
                                                                                                                                                                          1709  // TODO: Remove the asserts and print out more reasonable error messages.
                                                                                                                                                                          +
                                                                                                                                                                          1710 
                                                                                                                                                                          +
                                                                                                                                                                          1711 #define LOST_PIPELINE_COMPARE(precondition, errmsg, comparator, path, isBinary) do { \
                                                                                                                                                                          +
                                                                                                                                                                          1712  if (precondition) { \
                                                                                                                                                                          +
                                                                                                                                                                          1713  UserSpecifiedOutputStream pos(path, isBinary); \
                                                                                                                                                                          +
                                                                                                                                                                          1714  comparator(pos.Stream(), expected, actual, values); \
                                                                                                                                                                          +
                                                                                                                                                                          1715  } else { \
                                                                                                                                                                          +
                                                                                                                                                                          1716  std::cerr << "ERROR: Comparator not applicable: " << errmsg << std::endl; \
                                                                                                                                                                          +
                                                                                                                                                                          1717  exit(1); \
                                                                                                                                                                          +
                                                                                                                                                                          1718  } \
                                                                                                                                                                          +
                                                                                                                                                                          1719  } while (0)
                                                                                                                                                                          +
                                                                                                                                                                          1720 
                                                                                                                                                                          +
                                                                                                                                                                          1721  if (values.plotRawInput != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1722  LOST_PIPELINE_COMPARE(expected[0]->InputImage() && expected.size() == 1,
                                                                                                                                                                          +
                                                                                                                                                                          1723  "--plot-raw-input requires exactly 1 input image, but " + std::to_string(expected.size()) + " many were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1724  PipelineComparatorPlotRawInput, values.plotRawInput, true);
                                                                                                                                                                          +
                                                                                                                                                                          1725  }
                                                                                                                                                                          +
                                                                                                                                                                          1726 
                                                                                                                                                                          +
                                                                                                                                                                          1727  if (values.plotInput != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1728  LOST_PIPELINE_COMPARE(expected[0]->InputImage() && expected.size() == 1 && expected[0]->InputStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1729  "--plot-input requires exactly 1 input image, and for centroids to be available on that input image. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1730  PipelineComparatorPlotInput, values.plotInput, true);
                                                                                                                                                                          +
                                                                                                                                                                          1731  }
                                                                                                                                                                          +
                                                                                                                                                                          1732  if (values.plotExpected != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1733  LOST_PIPELINE_COMPARE(expected[0]->InputImage() && expected.size() == 1 && expected[0]->ExpectedStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1734  "--plot-expected-input requires exactly 1 input image, and for expected centroids to be available on that input image. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1735  PipelineComparatorPlotExpected, values.plotExpected, true);
                                                                                                                                                                          +
                                                                                                                                                                          1736  }
                                                                                                                                                                          +
                                                                                                                                                                          1737  if (values.plotOutput != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1738  LOST_PIPELINE_COMPARE(actual.size() == 1 && (actual[0].stars || actual[0].starIds),
                                                                                                                                                                          +
                                                                                                                                                                          1739  "--plot-output requires exactly 1 output image, and for either centroids or star IDs to be available on that output image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1740  PipelineComparatorPlotOutput, values.plotOutput, true);
                                                                                                                                                                          +
                                                                                                                                                                          1741  }
                                                                                                                                                                          +
                                                                                                                                                                          1742  if (values.printExpectedCentroids != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1743  LOST_PIPELINE_COMPARE(expected[0]->ExpectedStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1744  "--print-expected-centroids requires at least 1 input with expected centroids. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1745  PipelineComparatorPrintExpectedCentroids, values.printExpectedCentroids, false);
                                                                                                                                                                          +
                                                                                                                                                                          1746  }
                                                                                                                                                                          +
                                                                                                                                                                          1747  if (values.printInputCentroids != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1748  LOST_PIPELINE_COMPARE(expected[0]->InputStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1749  "--print-input-centroids requires at least 1 input with centroids. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1750  PipelineComparatorPrintInputCentroids, values.printInputCentroids, false);
                                                                                                                                                                          +
                                                                                                                                                                          1751  }
                                                                                                                                                                          +
                                                                                                                                                                          1752  if (values.printActualCentroids != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1753  LOST_PIPELINE_COMPARE(actual[0].stars,
                                                                                                                                                                          +
                                                                                                                                                                          1754  "--print-actual-centroids requires at least 1 output image, and for centroids to be available on the output images. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1755  PipelineComparatorPrintActualCentroids, values.printActualCentroids, false);
                                                                                                                                                                          +
                                                                                                                                                                          1756  }
                                                                                                                                                                          +
                                                                                                                                                                          1757  if (values.plotCentroidIndices != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1758  LOST_PIPELINE_COMPARE(expected.size() == 1 && expected[0]->InputImage(),
                                                                                                                                                                          +
                                                                                                                                                                          1759  "--plot-centroid-indices requires exactly 1 input with image. " + std::to_string(expected.size()) + " many inputs were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1760  PipelineComparatorPlotCentroidIndices, values.plotCentroidIndices, true);
                                                                                                                                                                          +
                                                                                                                                                                          1761  }
                                                                                                                                                                          +
                                                                                                                                                                          1762  if (values.compareCentroids != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1763  LOST_PIPELINE_COMPARE(actual[0].stars && expected[0]->ExpectedStars() && values.centroidCompareThreshold,
                                                                                                                                                                          +
                                                                                                                                                                          1764  "--compare-centroids requires at least 1 output image, and for expected centroids to be available on the input image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1765  PipelineComparatorCentroids, values.compareCentroids, false);
                                                                                                                                                                          +
                                                                                                                                                                          1766  }
                                                                                                                                                                          +
                                                                                                                                                                          1767  if (values.compareStarIds != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1768  LOST_PIPELINE_COMPARE(expected[0]->ExpectedStarIds() && actual[0].starIds && expected[0]->ExpectedStars(),
                                                                                                                                                                          +
                                                                                                                                                                          1769  "--compare-star-ids requires at least 1 output image, and for expected star IDs and centroids to be available on the input image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1770  PipelineComparatorStarIds, values.compareStarIds, false);
                                                                                                                                                                          +
                                                                                                                                                                          1771  }
                                                                                                                                                                          +
                                                                                                                                                                          1772  if (values.printAttitude != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1773  LOST_PIPELINE_COMPARE(actual[0].attitude && actual.size() == 1,
                                                                                                                                                                          +
                                                                                                                                                                          1774  "--print-attitude requires exactly 1 output image, and for attitude to be available on that output image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1775  PipelineComparatorPrintAttitude, values.printAttitude, false);
                                                                                                                                                                          +
                                                                                                                                                                          1776  }
                                                                                                                                                                          +
                                                                                                                                                                          1777  if (values.printExpectedAttitude != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1778  LOST_PIPELINE_COMPARE(expected[0]->ExpectedAttitude() && expected.size() == 1,
                                                                                                                                                                          +
                                                                                                                                                                          1779  "--print-expected-attitude requires exactly 1 input image, and for expected attitude to be available on that input image. " + std::to_string(expected.size()) + " many input images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1780  PipelineComparatorPrintExpectedAttitude, values.printExpectedAttitude, false);
                                                                                                                                                                          +
                                                                                                                                                                          1781  }
                                                                                                                                                                          +
                                                                                                                                                                          1782  if (values.compareAttitudes != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1783  LOST_PIPELINE_COMPARE(actual[0].attitude && expected[0]->ExpectedAttitude() && values.attitudeCompareThreshold,
                                                                                                                                                                          +
                                                                                                                                                                          1784  "--compare-attitudes requires at least 1 output image, and for expected attitude to be available on the input image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1785  PipelineComparatorAttitude, values.compareAttitudes, false);
                                                                                                                                                                          +
                                                                                                                                                                          1786  }
                                                                                                                                                                          +
                                                                                                                                                                          1787  if (values.printSpeed != "") {
                                                                                                                                                                          +
                                                                                                                                                                          1788  LOST_PIPELINE_COMPARE(actual.size() > 0,
                                                                                                                                                                          +
                                                                                                                                                                          1789  // I don't think this should ever actually happen??
                                                                                                                                                                          +
                                                                                                                                                                          1790  "--print-speed requires at least 1 output image. " + std::to_string(actual.size()) + " many output images were provided.",
                                                                                                                                                                          +
                                                                                                                                                                          1791  PipelineComparatorPrintSpeed, values.printSpeed, false);
                                                                                                                                                                          +
                                                                                                                                                                          1792  }
                                                                                                                                                                          +
                                                                                                                                                                          1793 
                                                                                                                                                                          +
                                                                                                                                                                          1794 #undef LOST_PIPELINE_COMPARE
                                                                                                                                                                          +
                                                                                                                                                                          1795 }
                                                                                                                                                                          +
                                                                                                                                                                          1796 
                                                                                                                                                                          +
                                                                                                                                                                          1797 // TODO: Add CLI options for all the inspectors!
                                                                                                                                                                          +
                                                                                                                                                                          1798 
                                                                                                                                                                          +
                                                                                                                                                                          1799 // typedef void (*CatalogInspector)(const Catalog &);
                                                                                                                                                                          +
                                                                                                                                                                          1800 
                                                                                                                                                                          +
                                                                                                                                                                          1801 // static std::vector<const CatalogStar *> PromptCatalogStars(const Catalog &catalog, int howMany) {
                                                                                                                                                                          +
                                                                                                                                                                          1802 // std::vector<const CatalogStar *> result;
                                                                                                                                                                          +
                                                                                                                                                                          1803 // for (int i = 0; i < howMany; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          1804 // int name = Prompt<int>("Catalog name of " + std::to_string(i) + "-th star");
                                                                                                                                                                          +
                                                                                                                                                                          1805 // const CatalogStar *star = findNamedStar(catalog, name);
                                                                                                                                                                          +
                                                                                                                                                                          1806 // if (star == NULL) {
                                                                                                                                                                          +
                                                                                                                                                                          1807 // std::cerr << "Star not found!" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1808 // exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          1809 // }
                                                                                                                                                                          +
                                                                                                                                                                          1810 // result.push_back(star);
                                                                                                                                                                          +
                                                                                                                                                                          1811 // }
                                                                                                                                                                          +
                                                                                                                                                                          1812 // return result;
                                                                                                                                                                          +
                                                                                                                                                                          1813 // }
                                                                                                                                                                          +
                                                                                                                                                                          1814 
                                                                                                                                                                          +
                                                                                                                                                                          1815 // void InspectPairDistance(const Catalog &catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          1816 // auto stars = PromptCatalogStars(catalog, 2);
                                                                                                                                                                          +
                                                                                                                                                                          1817 
                                                                                                                                                                          +
                                                                                                                                                                          1818 // // TODO: not cout, prompt for an ostream in inspect and pass argument
                                                                                                                                                                          +
                                                                                                                                                                          1819 // std::cout << Angle(stars[0]->spatial, stars[1]->spatial) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1820 // }
                                                                                                                                                                          +
                                                                                                                                                                          1821 
                                                                                                                                                                          +
                                                                                                                                                                          1822 // void InspectPyramidDistances(const Catalog &catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          1823 // auto stars = PromptCatalogStars(catalog, 4);
                                                                                                                                                                          +
                                                                                                                                                                          1824 
                                                                                                                                                                          +
                                                                                                                                                                          1825 // std::cout << "pair_distance_01 " << Angle(stars[0]->spatial, stars[1]->spatial) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1826 // std::cout << "pair_distance_02 " << Angle(stars[0]->spatial, stars[2]->spatial) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1827 // std::cout << "pair_distance_03 " << Angle(stars[0]->spatial, stars[3]->spatial) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1828 // std::cout << "pair_distance_12 " << Angle(stars[1]->spatial, stars[2]->spatial) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1829 // std::cout << "pair_distance_13 " << Angle(stars[1]->spatial, stars[3]->spatial) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1830 // std::cout << "pair_distance_23 " << Angle(stars[2]->spatial, stars[3]->spatial) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1831 // }
                                                                                                                                                                          1832 
                                                                                                                                                                          -
                                                                                                                                                                          1833 // float raRadians;
                                                                                                                                                                          -
                                                                                                                                                                          1834 
                                                                                                                                                                          -
                                                                                                                                                                          1835 // int raHours, raMinutes;
                                                                                                                                                                          -
                                                                                                                                                                          1836 // float raSeconds;
                                                                                                                                                                          -
                                                                                                                                                                          1837 // int raFormatTime = sscanf(raStr.c_str(), "%dh %dm %fs", &raHours, &raMinutes, &raSeconds);
                                                                                                                                                                          +
                                                                                                                                                                          1833 // void InspectTripleAngle(const Catalog &catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          1834 // auto stars = PromptCatalogStars(catalog, 3);
                                                                                                                                                                          +
                                                                                                                                                                          1835 
                                                                                                                                                                          +
                                                                                                                                                                          1836 // // TODO
                                                                                                                                                                          +
                                                                                                                                                                          1837 // }
                                                                                                                                                                          1838 
                                                                                                                                                                          -
                                                                                                                                                                          1839 // float raDeg;
                                                                                                                                                                          -
                                                                                                                                                                          1840 // int raFormatDeg = sscanf(raStr.c_str(), "%f", &raDeg);
                                                                                                                                                                          +
                                                                                                                                                                          1839 // void InspectFindStar(const Catalog &catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          1840 // std::string raStr = PromptLine("Right Ascension");
                                                                                                                                                                          1841 
                                                                                                                                                                          -
                                                                                                                                                                          1842 // if (raFormatTime == 3) {
                                                                                                                                                                          -
                                                                                                                                                                          1843 // raRadians = (raHours * 2*M_PI/24) + (raMinutes * 2*M_PI/24/60) + (raSeconds * 2*M_PI/24/60/60);
                                                                                                                                                                          -
                                                                                                                                                                          1844 // } else if (raFormatDeg == 1) {
                                                                                                                                                                          -
                                                                                                                                                                          1845 // raRadians = DegToRad(raFormatDeg);
                                                                                                                                                                          -
                                                                                                                                                                          1846 // } else {
                                                                                                                                                                          -
                                                                                                                                                                          1847 // std::cerr << "Invalid right ascension format. Do \"09h 38m 29.8754s\" or a number of degrees." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1848 // exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          1849 // }
                                                                                                                                                                          +
                                                                                                                                                                          1842 // decimal raRadians;
                                                                                                                                                                          +
                                                                                                                                                                          1843 
                                                                                                                                                                          +
                                                                                                                                                                          1844 // int raHours, raMinutes;
                                                                                                                                                                          +
                                                                                                                                                                          1845 // decimal raSeconds;
                                                                                                                                                                          +
                                                                                                                                                                          1846 // int raFormatTime = sscanf(raStr.c_str(), "%dh %dm %fs", &raHours, &raMinutes, &raSeconds);
                                                                                                                                                                          +
                                                                                                                                                                          1847 
                                                                                                                                                                          +
                                                                                                                                                                          1848 // decimal raDeg;
                                                                                                                                                                          +
                                                                                                                                                                          1849 // int raFormatDeg = sscanf(raStr.c_str(), "%f", &raDeg);
                                                                                                                                                                          1850 
                                                                                                                                                                          -
                                                                                                                                                                          1851 // std::string deStr = PromptLine("Declination");
                                                                                                                                                                          -
                                                                                                                                                                          1852 
                                                                                                                                                                          -
                                                                                                                                                                          1853 // float deRadians;
                                                                                                                                                                          -
                                                                                                                                                                          1854 
                                                                                                                                                                          -
                                                                                                                                                                          1855 // int deDegPart, deMinPart;
                                                                                                                                                                          -
                                                                                                                                                                          1856 // float deSecPart;
                                                                                                                                                                          -
                                                                                                                                                                          1857 // char dummy[8];
                                                                                                                                                                          -
                                                                                                                                                                          1858 // int deFormatParts = sscanf(deStr.c_str(), "%d%s %d%s %f%s", &deDegPart, dummy, &deMinPart, dummy, &deSecPart, dummy);
                                                                                                                                                                          +
                                                                                                                                                                          1851 // if (raFormatTime == 3) {
                                                                                                                                                                          +
                                                                                                                                                                          1852 // raRadians = (raHours * 2*DECIMAL_M_PI/24) + (raMinutes * 2*DECIMAL_M_PI/24/60) + (raSeconds * 2*DECIMAL_M_PI/24/60/60);
                                                                                                                                                                          +
                                                                                                                                                                          1853 // } else if (raFormatDeg == 1) {
                                                                                                                                                                          +
                                                                                                                                                                          1854 // raRadians = DegToRad(raFormatDeg);
                                                                                                                                                                          +
                                                                                                                                                                          1855 // } else {
                                                                                                                                                                          +
                                                                                                                                                                          1856 // std::cerr << "Invalid right ascension format. Do \"09h 38m 29.8754s\" or a number of degrees." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1857 // exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          1858 // }
                                                                                                                                                                          1859 
                                                                                                                                                                          -
                                                                                                                                                                          1860 // float deDeg;
                                                                                                                                                                          -
                                                                                                                                                                          1861 // int deFormatDeg = sscanf(deStr.c_str(), "%f", &deDeg);
                                                                                                                                                                          -
                                                                                                                                                                          1862 
                                                                                                                                                                          -
                                                                                                                                                                          1863 // if (deFormatParts == 6) {
                                                                                                                                                                          -
                                                                                                                                                                          1864 // deRadians = DegToRad(deDegPart + (float)deMinPart/60 + (float)deSecPart/60/60);
                                                                                                                                                                          -
                                                                                                                                                                          1865 // } else if (deFormatDeg == 1) {
                                                                                                                                                                          -
                                                                                                                                                                          1866 // deRadians = DegToRad(deFormatDeg);
                                                                                                                                                                          -
                                                                                                                                                                          1867 // } else {
                                                                                                                                                                          -
                                                                                                                                                                          1868 // std::cerr << "Invalid declination format." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1869 // exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          1870 // }
                                                                                                                                                                          +
                                                                                                                                                                          1860 // std::string deStr = PromptLine("Declination");
                                                                                                                                                                          +
                                                                                                                                                                          1861 
                                                                                                                                                                          +
                                                                                                                                                                          1862 // decimal deRadians;
                                                                                                                                                                          +
                                                                                                                                                                          1863 
                                                                                                                                                                          +
                                                                                                                                                                          1864 // int deDegPart, deMinPart;
                                                                                                                                                                          +
                                                                                                                                                                          1865 // decimal deSecPart;
                                                                                                                                                                          +
                                                                                                                                                                          1866 // char dummy[8];
                                                                                                                                                                          +
                                                                                                                                                                          1867 // int deFormatParts = sscanf(deStr.c_str(), "%d%s %d%s %f%s", &deDegPart, dummy, &deMinPart, dummy, &deSecPart, dummy);
                                                                                                                                                                          +
                                                                                                                                                                          1868 
                                                                                                                                                                          +
                                                                                                                                                                          1869 // decimal deDeg;
                                                                                                                                                                          +
                                                                                                                                                                          1870 // int deFormatDeg = sscanf(deStr.c_str(), "%f", &deDeg);
                                                                                                                                                                          1871 
                                                                                                                                                                          -
                                                                                                                                                                          1872 // // find the star
                                                                                                                                                                          -
                                                                                                                                                                          1873 
                                                                                                                                                                          -
                                                                                                                                                                          1874 // float tolerance = 0.001;
                                                                                                                                                                          -
                                                                                                                                                                          1875 // Vec3 userSpatial = SphericalToSpatial(raRadians, deRadians);
                                                                                                                                                                          -
                                                                                                                                                                          1876 // int i = 0;
                                                                                                                                                                          -
                                                                                                                                                                          1877 // for (const CatalogStar &curStar : catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          1878 // if ((curStar.spatial - userSpatial).Magnitude() < tolerance) {
                                                                                                                                                                          -
                                                                                                                                                                          1879 // std::cout << "found_star_" << i << " " << curStar.name << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1880 // std::cout << "fonud_star_magnitude_" << i << " " << curStar.magnitude << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1881 // i++;
                                                                                                                                                                          -
                                                                                                                                                                          1882 // }
                                                                                                                                                                          -
                                                                                                                                                                          1883 // }
                                                                                                                                                                          -
                                                                                                                                                                          1884 // if (i == 0) {
                                                                                                                                                                          -
                                                                                                                                                                          1885 // std::cerr << "No stars found" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1886 // }
                                                                                                                                                                          -
                                                                                                                                                                          1887 // }
                                                                                                                                                                          -
                                                                                                                                                                          1888 
                                                                                                                                                                          -
                                                                                                                                                                          1889 // void InspectPrintStar(const Catalog &catalog) {
                                                                                                                                                                          -
                                                                                                                                                                          1890 // auto stars = PromptCatalogStars(catalog, 1);
                                                                                                                                                                          -
                                                                                                                                                                          1891 // float ra, de;
                                                                                                                                                                          -
                                                                                                                                                                          1892 // SpatialToSpherical(stars[0]->spatial, &ra, &de);
                                                                                                                                                                          -
                                                                                                                                                                          1893 
                                                                                                                                                                          -
                                                                                                                                                                          1894 // std::cout << "star_ra " << RadToDeg(ra) << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          1895 // std::cout << "star_de " << RadToDeg(de) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1872 // if (deFormatParts == 6) {
                                                                                                                                                                          +
                                                                                                                                                                          1873 // deRadians = DegToRad(deDegPart + (decimal)deMinPart/60 + (decimal)deSecPart/60/60);
                                                                                                                                                                          +
                                                                                                                                                                          1874 // } else if (deFormatDeg == 1) {
                                                                                                                                                                          +
                                                                                                                                                                          1875 // deRadians = DegToRad(deFormatDeg);
                                                                                                                                                                          +
                                                                                                                                                                          1876 // } else {
                                                                                                                                                                          +
                                                                                                                                                                          1877 // std::cerr << "Invalid declination format." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1878 // exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          1879 // }
                                                                                                                                                                          +
                                                                                                                                                                          1880 
                                                                                                                                                                          +
                                                                                                                                                                          1881 // // find the star
                                                                                                                                                                          +
                                                                                                                                                                          1882 
                                                                                                                                                                          +
                                                                                                                                                                          1883 // decimal tolerance = 0.001;
                                                                                                                                                                          +
                                                                                                                                                                          1884 // Vec3 userSpatial = SphericalToSpatial(raRadians, deRadians);
                                                                                                                                                                          +
                                                                                                                                                                          1885 // int i = 0;
                                                                                                                                                                          +
                                                                                                                                                                          1886 // for (const CatalogStar &curStar : catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          1887 // if ((curStar.spatial - userSpatial).Magnitude() < tolerance) {
                                                                                                                                                                          +
                                                                                                                                                                          1888 // std::cout << "found_star_" << i << " " << curStar.name << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1889 // std::cout << "fonud_star_magnitude_" << i << " " << curStar.magnitude << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1890 // i++;
                                                                                                                                                                          +
                                                                                                                                                                          1891 // }
                                                                                                                                                                          +
                                                                                                                                                                          1892 // }
                                                                                                                                                                          +
                                                                                                                                                                          1893 // if (i == 0) {
                                                                                                                                                                          +
                                                                                                                                                                          1894 // std::cerr << "No stars found" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1895 // }
                                                                                                                                                                          1896 // }
                                                                                                                                                                          1897 
                                                                                                                                                                          -
                                                                                                                                                                          1898 // void InspectCatalog() {
                                                                                                                                                                          -
                                                                                                                                                                          1899 // InteractiveChoice<CatalogInspector> inspectorChoice;
                                                                                                                                                                          -
                                                                                                                                                                          1900 // inspectorChoice.Register("pair_distance", "pair distance angle", InspectPairDistance);
                                                                                                                                                                          -
                                                                                                                                                                          1901 // inspectorChoice.Register("pyramid_distances", "all pair distances in pyramid", InspectPyramidDistances);
                                                                                                                                                                          -
                                                                                                                                                                          1902 // inspectorChoice.Register("triple_angle", "inner angle of a triangle", InspectTripleAngle);
                                                                                                                                                                          -
                                                                                                                                                                          1903 // inspectorChoice.Register("find_star", "find a star name based on ra/de", InspectFindStar);
                                                                                                                                                                          -
                                                                                                                                                                          1904 // inspectorChoice.Register("print_star", "print coordinates of a star", InspectPrintStar);
                                                                                                                                                                          -
                                                                                                                                                                          1905 // (*inspectorChoice.Prompt("Inspect the catalog"))(CatalogRead());
                                                                                                                                                                          -
                                                                                                                                                                          1906 // }
                                                                                                                                                                          -
                                                                                                                                                                          1907 
                                                                                                                                                                          -
                                                                                                                                                                          1908 } // namespace lost
                                                                                                                                                                          +
                                                                                                                                                                          1898 // void InspectPrintStar(const Catalog &catalog) {
                                                                                                                                                                          +
                                                                                                                                                                          1899 // auto stars = PromptCatalogStars(catalog, 1);
                                                                                                                                                                          +
                                                                                                                                                                          1900 // decimal ra, de;
                                                                                                                                                                          +
                                                                                                                                                                          1901 // SpatialToSpherical(stars[0]->spatial, &ra, &de);
                                                                                                                                                                          +
                                                                                                                                                                          1902 
                                                                                                                                                                          +
                                                                                                                                                                          1903 // std::cout << "star_ra " << RadToDeg(ra) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1904 // std::cout << "star_de " << RadToDeg(de) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          1905 // }
                                                                                                                                                                          +
                                                                                                                                                                          1906 
                                                                                                                                                                          +
                                                                                                                                                                          1907 // void InspectCatalog() {
                                                                                                                                                                          +
                                                                                                                                                                          1908 // InteractiveChoice<CatalogInspector> inspectorChoice;
                                                                                                                                                                          +
                                                                                                                                                                          1909 // inspectorChoice.Register("pair_distance", "pair distance angle", InspectPairDistance);
                                                                                                                                                                          +
                                                                                                                                                                          1910 // inspectorChoice.Register("pyramid_distances", "all pair distances in pyramid", InspectPyramidDistances);
                                                                                                                                                                          +
                                                                                                                                                                          1911 // inspectorChoice.Register("triple_angle", "inner angle of a triangle", InspectTripleAngle);
                                                                                                                                                                          +
                                                                                                                                                                          1912 // inspectorChoice.Register("find_star", "find a star name based on ra/de", InspectFindStar);
                                                                                                                                                                          +
                                                                                                                                                                          1913 // inspectorChoice.Register("print_star", "print coordinates of a star", InspectPrintStar);
                                                                                                                                                                          +
                                                                                                                                                                          1914 // (*inspectorChoice.Prompt("Inspect the catalog"))(CatalogRead());
                                                                                                                                                                          +
                                                                                                                                                                          1915 // }
                                                                                                                                                                          +
                                                                                                                                                                          1916 
                                                                                                                                                                          +
                                                                                                                                                                          1917 } // namespace lost
                                                                                                                                                                          An attitude estimation algorithm estimates the orientation of the camera based on identified stars.
                                                                                                                                                                          -
                                                                                                                                                                          The attitude (orientation) of a spacecraft.
                                                                                                                                                                          -
                                                                                                                                                                          EulerAngles ToSpherical() const
                                                                                                                                                                          Get the euler angles from the attitude, converting from whatever format is stored.
                                                                                                                                                                          -
                                                                                                                                                                          Vec3 Rotate(const Vec3 &) const
                                                                                                                                                                          Convert a vector from the reference frame to the body frame.
                                                                                                                                                                          -
                                                                                                                                                                          Quaternion GetQuaternion() const
                                                                                                                                                                          Get the quaternion representing the attitude, converting from whatever format is stored.
                                                                                                                                                                          +
                                                                                                                                                                          The attitude (orientation) of a spacecraft.
                                                                                                                                                                          +
                                                                                                                                                                          EulerAngles ToSpherical() const
                                                                                                                                                                          Get the euler angles from the attitude, converting from whatever format is stored.
                                                                                                                                                                          +
                                                                                                                                                                          Vec3 Rotate(const Vec3 &) const
                                                                                                                                                                          Convert a vector from the reference frame to the body frame.
                                                                                                                                                                          +
                                                                                                                                                                          Quaternion GetQuaternion() const
                                                                                                                                                                          Get the quaternion representing the attitude, converting from whatever format is stored.
                                                                                                                                                                          A full description of a camera. Enough information to reconstruct the camera matrix and then some.
                                                                                                                                                                          Definition: camera.hpp:9
                                                                                                                                                                          -
                                                                                                                                                                          Vec2 SpatialToCamera(const Vec3 &) const
                                                                                                                                                                          Converts from a 3D point in space to a 2D point on the camera sensor.
                                                                                                                                                                          Definition: camera.cpp:14
                                                                                                                                                                          -
                                                                                                                                                                          float Fov() const
                                                                                                                                                                          Horizontal field of view in radians.
                                                                                                                                                                          Definition: camera.cpp:65
                                                                                                                                                                          -
                                                                                                                                                                          bool InSensor(const Vec2 &vector) const
                                                                                                                                                                          Returns whether a given pixel is actually in the camera's field of view.
                                                                                                                                                                          Definition: camera.cpp:50
                                                                                                                                                                          +
                                                                                                                                                                          Vec2 SpatialToCamera(const Vec3 &) const
                                                                                                                                                                          Converts from a 3D point in space to a 2D point on the camera sensor.
                                                                                                                                                                          Definition: camera.cpp:15
                                                                                                                                                                          +
                                                                                                                                                                          bool InSensor(const Vec2 &vector) const
                                                                                                                                                                          Returns whether a given pixel is actually in the camera's field of view.
                                                                                                                                                                          Definition: camera.cpp:51
                                                                                                                                                                          int XResolution() const
                                                                                                                                                                          Width of the sensor in pixels.
                                                                                                                                                                          Definition: camera.hpp:38
                                                                                                                                                                          int YResolution() const
                                                                                                                                                                          Height of the sensor in pixels.
                                                                                                                                                                          Definition: camera.hpp:40
                                                                                                                                                                          -
                                                                                                                                                                          float FocalLength() const
                                                                                                                                                                          Focal length in pixels.
                                                                                                                                                                          Definition: camera.hpp:42
                                                                                                                                                                          +
                                                                                                                                                                          decimal Fov() const
                                                                                                                                                                          Horizontal field of view in radians.
                                                                                                                                                                          Definition: camera.cpp:66
                                                                                                                                                                          +
                                                                                                                                                                          decimal FocalLength() const
                                                                                                                                                                          Focal length in pixels.
                                                                                                                                                                          Definition: camera.hpp:42
                                                                                                                                                                          A star from the Bright Star Catalog.
                                                                                                                                                                          Definition: star-utils.hpp:12
                                                                                                                                                                          int magnitude
                                                                                                                                                                          The magnitude of the star, with the decimal point shifted two places right.
                                                                                                                                                                          Definition: star-utils.hpp:37
                                                                                                                                                                          A simple, fast, and pretty decent centroid algorithm.
                                                                                                                                                                          Definition: centroiders.hpp:37
                                                                                                                                                                          An algorithm that detects the (x,y) coordinates of bright points in an image, called "centroids".
                                                                                                                                                                          Definition: centroiders.hpp:12
                                                                                                                                                                          -
                                                                                                                                                                          The result of comparing actual and expected centroids Used for debugging and benchmarking.
                                                                                                                                                                          Definition: io.cpp:1021
                                                                                                                                                                          -
                                                                                                                                                                          float numExtraCentroids
                                                                                                                                                                          Stars in actual but not expected.
                                                                                                                                                                          Definition: io.cpp:1039
                                                                                                                                                                          -
                                                                                                                                                                          float numCorrectCentroids
                                                                                                                                                                          Number of actual stars within the centroiding threshold of an expected star.
                                                                                                                                                                          Definition: io.cpp:1033
                                                                                                                                                                          -
                                                                                                                                                                          float meanError
                                                                                                                                                                          Average distance from actual to expected centroids (in pixels) Only correct centroids are considered ...
                                                                                                                                                                          Definition: io.cpp:1028
                                                                                                                                                                          - -
                                                                                                                                                                          Commannd line options when using the database command.
                                                                                                                                                                          Definition: io.hpp:285
                                                                                                                                                                          +
                                                                                                                                                                          The result of comparing actual and expected centroids Used for debugging and benchmarking.
                                                                                                                                                                          Definition: io.cpp:1030
                                                                                                                                                                          +
                                                                                                                                                                          decimal numExtraCentroids
                                                                                                                                                                          Stars in actual but not expected.
                                                                                                                                                                          Definition: io.cpp:1048
                                                                                                                                                                          +
                                                                                                                                                                          decimal numCorrectCentroids
                                                                                                                                                                          Number of actual stars within the centroiding threshold of an expected star.
                                                                                                                                                                          Definition: io.cpp:1042
                                                                                                                                                                          +
                                                                                                                                                                          decimal meanError
                                                                                                                                                                          Average distance from actual to expected centroids (in pixels) Only correct centroids are considered ...
                                                                                                                                                                          Definition: io.cpp:1037
                                                                                                                                                                          + +
                                                                                                                                                                          Commannd line options when using the database command.
                                                                                                                                                                          Definition: io.hpp:286
                                                                                                                                                                          A slow but reliable attitude estimation algorithm.
                                                                                                                                                                          - +
                                                                                                                                                                          A centroid algorithm for debugging that returns random centroids.
                                                                                                                                                                          Definition: centroiders.hpp:25
                                                                                                                                                                          A star-id algorithm that returns random results. For debugging.
                                                                                                                                                                          Definition: star-id.hpp:26
                                                                                                                                                                          -
                                                                                                                                                                          A "human-readable" way to represent a 3d rotation or orientation.
                                                                                                                                                                          -
                                                                                                                                                                          float roll
                                                                                                                                                                          How far we roll counterclockwise. Roll is performed last (after yaw and pitch).
                                                                                                                                                                          -
                                                                                                                                                                          float ra
                                                                                                                                                                          Right ascension. How far we yaw left. Yaw is performed first.
                                                                                                                                                                          -
                                                                                                                                                                          float de
                                                                                                                                                                          Declination. How far we pitch up (or down if negative). Pitch is performed second,...
                                                                                                                                                                          -
                                                                                                                                                                          A pipeline input which is generated (fake image).
                                                                                                                                                                          Definition: io.hpp:124
                                                                                                                                                                          -
                                                                                                                                                                          GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, float observedReferenceBrightness, float starSpreadStdDev, float sensitivity, float darkCurrent, float readNoiseStdDev, Attitude motionBlurDirection, float exposureTime, float readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, float perturbationStddev)
                                                                                                                                                                          Create a generated pipeline input.
                                                                                                                                                                          Definition: io.cpp:477
                                                                                                                                                                          -
                                                                                                                                                                          A star used in simulated image generation. Contains extra data about how to simulate the star.
                                                                                                                                                                          Definition: io.cpp:407
                                                                                                                                                                          -
                                                                                                                                                                          Vec2 delta
                                                                                                                                                                          (only meaningful with motion blur) Where the star will appear one time unit in the future.
                                                                                                                                                                          Definition: io.cpp:416
                                                                                                                                                                          -
                                                                                                                                                                          float peakBrightness
                                                                                                                                                                          the brightness density per time unit at the center of the star. 0.0 is black, 1.0 is white.
                                                                                                                                                                          Definition: io.cpp:410
                                                                                                                                                                          -
                                                                                                                                                                          GeneratedStar(Star star, float peakBrightness, Vec2 motionBlurDelta)
                                                                                                                                                                          Definition: io.cpp:409
                                                                                                                                                                          +
                                                                                                                                                                          A "human-readable" way to represent a 3d rotation or orientation.
                                                                                                                                                                          +
                                                                                                                                                                          decimal roll
                                                                                                                                                                          How far we roll counterclockwise. Roll is performed last (after yaw and pitch).
                                                                                                                                                                          +
                                                                                                                                                                          decimal de
                                                                                                                                                                          Declination. How far we pitch up (or down if negative). Pitch is performed second,...
                                                                                                                                                                          +
                                                                                                                                                                          decimal ra
                                                                                                                                                                          Right ascension. How far we yaw left. Yaw is performed first.
                                                                                                                                                                          +
                                                                                                                                                                          A pipeline input which is generated (fake image).
                                                                                                                                                                          Definition: io.hpp:125
                                                                                                                                                                          +
                                                                                                                                                                          GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, decimal observedReferenceBrightness, decimal starSpreadStdDev, decimal sensitivity, decimal darkCurrent, decimal readNoiseStdDev, Attitude motionBlurDirection, decimal exposureTime, decimal readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, decimal perturbationStddev)
                                                                                                                                                                          Create a generated pipeline input.
                                                                                                                                                                          Definition: io.cpp:485
                                                                                                                                                                          +
                                                                                                                                                                          A star used in simulated image generation. Contains extra data about how to simulate the star.
                                                                                                                                                                          Definition: io.cpp:415
                                                                                                                                                                          +
                                                                                                                                                                          decimal peakBrightness
                                                                                                                                                                          the brightness density per time unit at the center of the star. 0.0 is black, 1.0 is white.
                                                                                                                                                                          Definition: io.cpp:418
                                                                                                                                                                          +
                                                                                                                                                                          GeneratedStar(Star star, decimal peakBrightness, Vec2 motionBlurDelta)
                                                                                                                                                                          Definition: io.cpp:417
                                                                                                                                                                          +
                                                                                                                                                                          Vec2 delta
                                                                                                                                                                          (only meaningful with motion blur) Where the star will appear one time unit in the future.
                                                                                                                                                                          Definition: io.cpp:424
                                                                                                                                                                          A star-id algorithm based on assigning votes for each centroid-catalog pair then choosing the highest...
                                                                                                                                                                          Definition: star-id.hpp:35
                                                                                                                                                                          An 8-bit grayscale 2d image.
                                                                                                                                                                          Definition: io.hpp:63
                                                                                                                                                                          unsigned char * image
                                                                                                                                                                          The raw pixel data in the image.
                                                                                                                                                                          Definition: io.hpp:69
                                                                                                                                                                          int height
                                                                                                                                                                          Definition: io.hpp:72
                                                                                                                                                                          int width
                                                                                                                                                                          Definition: io.hpp:71
                                                                                                                                                                          A more complicated centroid algorithm which doesn't perform much better than CenterOfGravityAlgorithm...
                                                                                                                                                                          Definition: centroiders.hpp:47
                                                                                                                                                                          -
                                                                                                                                                                          A database that contains multiple databases This is almost always the database that is actually passe...
                                                                                                                                                                          Definition: databases.hpp:99
                                                                                                                                                                          -
                                                                                                                                                                          const unsigned char * SubDatabasePointer(int32_t magicValue) const
                                                                                                                                                                          MultiDatabase memory layout:
                                                                                                                                                                          Definition: databases.cpp:311
                                                                                                                                                                          -
                                                                                                                                                                          static const int32_t kMagicValue
                                                                                                                                                                          Magic value to use when storing inside a MultiDatabase.
                                                                                                                                                                          Definition: databases.hpp:68
                                                                                                                                                                          -
                                                                                                                                                                          A set of algorithms that describes all or part of the star-tracking "pipeline".
                                                                                                                                                                          Definition: io.hpp:232
                                                                                                                                                                          + +
                                                                                                                                                                          const unsigned char * SubDatabasePointer(int32_t magicValue) const
                                                                                                                                                                          MultiDatabase memory layout:
                                                                                                                                                                          Definition: databases.cpp:316
                                                                                                                                                                          +
                                                                                                                                                                          static const int32_t kMagicValue
                                                                                                                                                                          Magic value to use when storing inside a MultiDatabase.
                                                                                                                                                                          Definition: databases.hpp:70
                                                                                                                                                                          +
                                                                                                                                                                          A set of algorithms that describes all or part of the star-tracking "pipeline".
                                                                                                                                                                          Definition: io.hpp:233
                                                                                                                                                                          Pipeline()=default
                                                                                                                                                                          -
                                                                                                                                                                          PipelineOutput Go(const PipelineInput &)
                                                                                                                                                                          Run all stages of a pipeline.
                                                                                                                                                                          Definition: io.cpp:900
                                                                                                                                                                          -
                                                                                                                                                                          Represents the input and expected outputs of a pipeline run.
                                                                                                                                                                          Definition: io.hpp:93
                                                                                                                                                                          +
                                                                                                                                                                          PipelineOutput Go(const PipelineInput &)
                                                                                                                                                                          Run all stages of a pipeline.
                                                                                                                                                                          Definition: io.cpp:909
                                                                                                                                                                          +
                                                                                                                                                                          Represents the input and expected outputs of a pipeline run.
                                                                                                                                                                          Definition: io.hpp:94
                                                                                                                                                                          virtual const Catalog & GetCatalog() const =0
                                                                                                                                                                          The catalog to which catalog indexes returned from other methods refer.
                                                                                                                                                                          -
                                                                                                                                                                          virtual const StarIdentifiers * InputStarIds() const
                                                                                                                                                                          The centroid indices in the StarIdentifiers returned from InputStarIds should be indices into InputSt...
                                                                                                                                                                          Definition: io.hpp:103
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Image * InputImage() const
                                                                                                                                                                          Definition: io.hpp:97
                                                                                                                                                                          -
                                                                                                                                                                          cairo_surface_t * InputImageSurface() const
                                                                                                                                                                          Convert the InputImage() output into a cairo surface.
                                                                                                                                                                          Definition: io.cpp:332
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Stars * InputStars() const
                                                                                                                                                                          Definition: io.hpp:100
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Camera * InputCamera() const
                                                                                                                                                                          Definition: io.hpp:106
                                                                                                                                                                          -
                                                                                                                                                                          The command line options passed when running a pipeline.
                                                                                                                                                                          Definition: io.hpp:80
                                                                                                                                                                          -
                                                                                                                                                                          A pipeline input created by reading a PNG from a file on disk.
                                                                                                                                                                          Definition: io.hpp:166
                                                                                                                                                                          - -
                                                                                                                                                                          PngPipelineInput(cairo_surface_t *, Camera, const Catalog &)
                                                                                                                                                                          A pipeline input coming from an image with no extra metadata.
                                                                                                                                                                          Definition: io.cpp:358
                                                                                                                                                                          +
                                                                                                                                                                          virtual const StarIdentifiers * InputStarIds() const
                                                                                                                                                                          The centroid indices in the StarIdentifiers returned from InputStarIds should be indices into InputSt...
                                                                                                                                                                          Definition: io.hpp:104
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Image * InputImage() const
                                                                                                                                                                          Definition: io.hpp:98
                                                                                                                                                                          +
                                                                                                                                                                          cairo_surface_t * InputImageSurface() const
                                                                                                                                                                          Convert the InputImage() output into a cairo surface.
                                                                                                                                                                          Definition: io.cpp:340
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Stars * InputStars() const
                                                                                                                                                                          Definition: io.hpp:101
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Camera * InputCamera() const
                                                                                                                                                                          Definition: io.hpp:107
                                                                                                                                                                          +
                                                                                                                                                                          The command line options passed when running a pipeline.
                                                                                                                                                                          Definition: io.hpp:81
                                                                                                                                                                          +
                                                                                                                                                                          A pipeline input created by reading a PNG from a file on disk.
                                                                                                                                                                          Definition: io.hpp:167
                                                                                                                                                                          + +
                                                                                                                                                                          PngPipelineInput(cairo_surface_t *, Camera, const Catalog &)
                                                                                                                                                                          A pipeline input coming from an image with no extra metadata.
                                                                                                                                                                          Definition: io.cpp:366
                                                                                                                                                                          The "de facto" star-id algorithm used in many real-world missions.
                                                                                                                                                                          Definition: star-id.hpp:52
                                                                                                                                                                          -
                                                                                                                                                                          A quaternion is a common way to represent a 3d rotation.
                                                                                                                                                                          -
                                                                                                                                                                          Vec3 Rotate(const Vec3 &) const
                                                                                                                                                                          Rotate a 3d vector according to the rotation represented by the quaternion.
                                                                                                                                                                          -
                                                                                                                                                                          float Angle() const
                                                                                                                                                                          How many radians the rotation represented by this quaternion has.
                                                                                                                                                                          +
                                                                                                                                                                          A quaternion is a common way to represent a 3d rotation.
                                                                                                                                                                          +
                                                                                                                                                                          decimal Angle() const
                                                                                                                                                                          How many radians the rotation represented by this quaternion has.
                                                                                                                                                                          +
                                                                                                                                                                          Vec3 Rotate(const Vec3 &) const
                                                                                                                                                                          Rotate a 3d vector according to the rotation represented by the quaternion.
                                                                                                                                                                          A faster and just as accurate attitude estimator as the Davenport Q algorithm.
                                                                                                                                                                          - -
                                                                                                                                                                          std::vector< unsigned char > buffer
                                                                                                                                                                          + +
                                                                                                                                                                          std::vector< unsigned char > buffer
                                                                                                                                                                          A "centroid" detected in an image.
                                                                                                                                                                          Definition: star-utils.hpp:49
                                                                                                                                                                          +
                                                                                                                                                                          decimal radiusY
                                                                                                                                                                          Approximate vertical radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:65
                                                                                                                                                                          Vec2 position
                                                                                                                                                                          The (x,y) pixel coordinates in the image (top left is 0,0)
                                                                                                                                                                          Definition: star-utils.hpp:58
                                                                                                                                                                          -
                                                                                                                                                                          float radiusY
                                                                                                                                                                          Approximate vertical radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:65
                                                                                                                                                                          -
                                                                                                                                                                          float radiusX
                                                                                                                                                                          Approximate horizontal radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:63
                                                                                                                                                                          +
                                                                                                                                                                          decimal radiusX
                                                                                                                                                                          Approximate horizontal radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:63
                                                                                                                                                                          A star idenification algorithm.
                                                                                                                                                                          Definition: star-id.hpp:16
                                                                                                                                                                          Records that a certain Star (detected in the image) corresponds to a certain CatalogStar.
                                                                                                                                                                          Definition: star-utils.hpp:78
                                                                                                                                                                          A fast attitude estimator which only takes into account information from two stars.
                                                                                                                                                                          - -
                                                                                                                                                                          UserSpecifiedOutputStream(std::string filePath, bool isBinary)
                                                                                                                                                                          Create a PromptedOutputStream which will output to the given file.
                                                                                                                                                                          Definition: io.cpp:33
                                                                                                                                                                          -
                                                                                                                                                                          Three dimensional vector with floating point components.
                                                                                                                                                                          - + +
                                                                                                                                                                          UserSpecifiedOutputStream(std::string filePath, bool isBinary)
                                                                                                                                                                          Create a PromptedOutputStream which will output to the given file.
                                                                                                                                                                          Definition: io.cpp:34
                                                                                                                                                                          +
                                                                                                                                                                          Three dimensional vector with decimaling point components.
                                                                                                                                                                          + -
                                                                                                                                                                          #define DEFAULT_BSC_PATH
                                                                                                                                                                          Definition: io.cpp:87
                                                                                                                                                                          + +
                                                                                                                                                                          double decimal
                                                                                                                                                                          Definition: decimal.hpp:11
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_ASIN(x)
                                                                                                                                                                          Definition: decimal.hpp:55
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_LOG(x)
                                                                                                                                                                          Definition: decimal.hpp:41
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL(x)
                                                                                                                                                                          Definition: decimal.hpp:21
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_POW(base, power)
                                                                                                                                                                          Definition: decimal.hpp:39
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_M_PI
                                                                                                                                                                          Definition: decimal.hpp:29
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_CEIL(x)
                                                                                                                                                                          Definition: decimal.hpp:47
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_SQRT(x)
                                                                                                                                                                          Definition: decimal.hpp:40
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_ERF(x)
                                                                                                                                                                          Definition: decimal.hpp:43
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_EXP(x)
                                                                                                                                                                          Definition: decimal.hpp:42
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_FLOOR(x)
                                                                                                                                                                          Definition: decimal.hpp:48
                                                                                                                                                                          +
                                                                                                                                                                          #define DEFAULT_BSC_PATH
                                                                                                                                                                          Definition: io.cpp:95
                                                                                                                                                                          #define LOST_PIPELINE_COMPARE(precondition, errmsg, comparator, path, isBinary)
                                                                                                                                                                          -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          -
                                                                                                                                                                          CentroidComparison CentroidComparisonsCombine(std::vector< CentroidComparison > comparisons)
                                                                                                                                                                          Definition: io.cpp:1101
                                                                                                                                                                          -
                                                                                                                                                                          unsigned char * SurfaceToGrayscaleImage(cairo_surface_t *cairoSurface)
                                                                                                                                                                          Convert a colored Cairo image surface into a row-major array of grayscale pixels.
                                                                                                                                                                          Definition: io.cpp:119
                                                                                                                                                                          +
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          decimal FovToFocalLength(decimal xFov, decimal xResolution)
                                                                                                                                                                          Definition: camera.cpp:58
                                                                                                                                                                          +
                                                                                                                                                                          CentroidComparison CentroidComparisonsCombine(std::vector< CentroidComparison > comparisons)
                                                                                                                                                                          Definition: io.cpp:1110
                                                                                                                                                                          +
                                                                                                                                                                          unsigned char * SurfaceToGrayscaleImage(cairo_surface_t *cairoSurface)
                                                                                                                                                                          Convert a colored Cairo image surface into a row-major array of grayscale pixels.
                                                                                                                                                                          Definition: io.cpp:127
                                                                                                                                                                          +
                                                                                                                                                                          decimal FocalLengthFromOptions(const PipelineOptions &values, int xResolution)
                                                                                                                                                                          Calculate the focal length, in pixels, based on the given command line options.
                                                                                                                                                                          Definition: io.cpp:319
                                                                                                                                                                          const int32_t kCatalogMagicValue
                                                                                                                                                                          Definition: databases.hpp:13
                                                                                                                                                                          std::vector< StarIdentifier > StarIdentifiers
                                                                                                                                                                          Definition: star-utils.hpp:102
                                                                                                                                                                          void SerializeCatalog(SerializeContext *ser, const Catalog &catalog, bool inclMagnitude, bool inclName)
                                                                                                                                                                          Serialize the catalog to buffer.
                                                                                                                                                                          Definition: star-utils.cpp:107
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< CatalogStar > BscParse(std::string tsvPath)
                                                                                                                                                                          Parse the bright star catalog from the TSV file on disk.
                                                                                                                                                                          Definition: io.cpp:57
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< CatalogStar > BscParse(std::string tsvPath)
                                                                                                                                                                          Parse the bright star catalog from the TSV file on disk.
                                                                                                                                                                          Definition: io.cpp:58
                                                                                                                                                                          Catalog DeserializeCatalog(DeserializeContext *des, bool *inclMagnitudeReturn, bool *inclNameReturn)
                                                                                                                                                                          Deserialize a catalog.
                                                                                                                                                                          Definition: star-utils.cpp:123
                                                                                                                                                                          -
                                                                                                                                                                          const Catalog & CatalogRead()
                                                                                                                                                                          Read and parse the full catalog from disk. If called multiple times, will re-use the first result.
                                                                                                                                                                          Definition: io.cpp:91
                                                                                                                                                                          +
                                                                                                                                                                          const Catalog & CatalogRead()
                                                                                                                                                                          Read and parse the full catalog from disk. If called multiple times, will re-use the first result.
                                                                                                                                                                          Definition: io.cpp:99
                                                                                                                                                                          +
                                                                                                                                                                          decimal MagToBrightness(int mag)
                                                                                                                                                                          returns some relative brightness measure, which is proportional to the total number of photons receiv...
                                                                                                                                                                          Definition: star-utils.cpp:147
                                                                                                                                                                          std::vector< Star > Stars
                                                                                                                                                                          Definition: star-utils.hpp:101
                                                                                                                                                                          -
                                                                                                                                                                          PipelineInputList(* PipelineInputFactory)()
                                                                                                                                                                          Definition: io.cpp:797
                                                                                                                                                                          -
                                                                                                                                                                          float FovToFocalLength(float xFov, float xResolution)
                                                                                                                                                                          Definition: camera.cpp:57
                                                                                                                                                                          -
                                                                                                                                                                          void PipelineComparatorPlotCentroidIndices(std::ostream &os, const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &)
                                                                                                                                                                          Plot an annotated image where centroids are annotated with their centroid index.
                                                                                                                                                                          Definition: io.cpp:1398
                                                                                                                                                                          -
                                                                                                                                                                          Quaternion SphericalToQuaternion(float ra, float dec, float roll)
                                                                                                                                                                          Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given rig...
                                                                                                                                                                          -
                                                                                                                                                                          PipelineInputList GetPngPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Create a PngPipelineInput using command line options.
                                                                                                                                                                          Definition: io.cpp:371
                                                                                                                                                                          -
                                                                                                                                                                          void SurfacePlot(std::string description, cairo_surface_t *cairoSurface, const Stars &stars, const StarIdentifiers *starIds, const Catalog *catalog, const Attitude *attitude, double red, double green, double blue, double alpha, bool rawStarIndexes=false)
                                                                                                                                                                          Plot information about an image onto the image using Cairo.
                                                                                                                                                                          Definition: io.cpp:170
                                                                                                                                                                          -
                                                                                                                                                                          float MagToBrightness(int mag)
                                                                                                                                                                          returns some relative brightness measure, which is proportional to the total number of photons receiv...
                                                                                                                                                                          Definition: star-utils.cpp:147
                                                                                                                                                                          -
                                                                                                                                                                          const int kMaxBrightness
                                                                                                                                                                          Definition: io.cpp:471
                                                                                                                                                                          -
                                                                                                                                                                          float FocalLengthFromOptions(const PipelineOptions &values, int xResolution)
                                                                                                                                                                          Calculate the focal length, in pixels, based on the given command line options.
                                                                                                                                                                          Definition: io.cpp:311
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
                                                                                                                                                                          Definition: databases.hpp:117
                                                                                                                                                                          -
                                                                                                                                                                          void(* PipelineComparator)(std::ostream &os, const PipelineInputList &, const std::vector< PipelineOutput > &, const PipelineOptions &)
                                                                                                                                                                          Definition: io.cpp:1201
                                                                                                                                                                          -
                                                                                                                                                                          StarIdComparison StarIdsCompare(const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, float centroidThreshold, const Stars &expectedStars, const Stars &inputStars)
                                                                                                                                                                          Compare expected and actual star identifications.
                                                                                                                                                                          Definition: io.cpp:1120
                                                                                                                                                                          -
                                                                                                                                                                          float DegToRad(float deg)
                                                                                                                                                                          -
                                                                                                                                                                          MultiDatabaseDescriptor GenerateDatabases(const Catalog &catalog, const DatabaseOptions &values)
                                                                                                                                                                          Appropriately create descriptors for all requested databases according to command-line options.
                                                                                                                                                                          Definition: io.cpp:272
                                                                                                                                                                          -
                                                                                                                                                                          SerializeContext serFromDbValues(const DatabaseOptions &values)
                                                                                                                                                                          Definition: io.cpp:268
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< std::unique_ptr< PipelineInput > > PipelineInputList
                                                                                                                                                                          Definition: io.hpp:161
                                                                                                                                                                          -
                                                                                                                                                                          PipelineInputList GetPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Come up with a list of pipeline inputs based on command line options.
                                                                                                                                                                          Definition: io.cpp:800
                                                                                                                                                                          -
                                                                                                                                                                          void PipelineComparison(const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &values)
                                                                                                                                                                          Print or otherwise analyze the results of (perhaps multiple) runs of a star tracking pipeline.
                                                                                                                                                                          Definition: io.cpp:1690
                                                                                                                                                                          -
                                                                                                                                                                          Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:834
                                                                                                                                                                          -
                                                                                                                                                                          float RadToDeg(float rad)
                                                                                                                                                                          -
                                                                                                                                                                          PipelineInputList GetGeneratedPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Create a GeneratedPipelineInput based on the command line options in values
                                                                                                                                                                          Definition: io.cpp:726
                                                                                                                                                                          +
                                                                                                                                                                          decimal DegToRad(decimal deg)
                                                                                                                                                                          +
                                                                                                                                                                          PipelineInputList(* PipelineInputFactory)()
                                                                                                                                                                          Definition: io.cpp:805
                                                                                                                                                                          +
                                                                                                                                                                          Quaternion SphericalToQuaternion(decimal ra, decimal dec, decimal roll)
                                                                                                                                                                          Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given rig...
                                                                                                                                                                          +
                                                                                                                                                                          decimal RadToDeg(decimal rad)
                                                                                                                                                                          +
                                                                                                                                                                          void PipelineComparatorPlotCentroidIndices(std::ostream &os, const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &)
                                                                                                                                                                          Plot an annotated image where centroids are annotated with their centroid index.
                                                                                                                                                                          Definition: io.cpp:1407
                                                                                                                                                                          +
                                                                                                                                                                          PipelineInputList GetPngPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Create a PngPipelineInput using command line options.
                                                                                                                                                                          Definition: io.cpp:379
                                                                                                                                                                          +
                                                                                                                                                                          void SurfacePlot(std::string description, cairo_surface_t *cairoSurface, const Stars &stars, const StarIdentifiers *starIds, const Catalog *catalog, const Attitude *attitude, double red, double green, double blue, double alpha, bool rawStarIndexes=false)
                                                                                                                                                                          Plot information about an image onto the image using Cairo.
                                                                                                                                                                          Definition: io.cpp:178
                                                                                                                                                                          +
                                                                                                                                                                          StarIdComparison StarIdsCompare(const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, decimal centroidThreshold, const Stars &expectedStars, const Stars &inputStars)
                                                                                                                                                                          Compare expected and actual star identifications.
                                                                                                                                                                          Definition: io.cpp:1129
                                                                                                                                                                          +
                                                                                                                                                                          void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, decimal minDistance, decimal maxDistance, long numBins)
                                                                                                                                                                          Serialize a pair-distance KVector into buffer.
                                                                                                                                                                          Definition: databases.cpp:198
                                                                                                                                                                          +
                                                                                                                                                                          const int kMaxBrightness
                                                                                                                                                                          Definition: io.cpp:479
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
                                                                                                                                                                          Definition: databases.hpp:123
                                                                                                                                                                          +
                                                                                                                                                                          void(* PipelineComparator)(std::ostream &os, const PipelineInputList &, const std::vector< PipelineOutput > &, const PipelineOptions &)
                                                                                                                                                                          Definition: io.cpp:1210
                                                                                                                                                                          +
                                                                                                                                                                          MultiDatabaseDescriptor GenerateDatabases(const Catalog &catalog, const DatabaseOptions &values)
                                                                                                                                                                          Appropriately create descriptors for all requested databases according to command-line options.
                                                                                                                                                                          Definition: io.cpp:280
                                                                                                                                                                          +
                                                                                                                                                                          SerializeContext serFromDbValues(const DatabaseOptions &values)
                                                                                                                                                                          Definition: io.cpp:276
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< std::unique_ptr< PipelineInput > > PipelineInputList
                                                                                                                                                                          Definition: io.hpp:162
                                                                                                                                                                          +
                                                                                                                                                                          PipelineInputList GetPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Come up with a list of pipeline inputs based on command line options.
                                                                                                                                                                          Definition: io.cpp:808
                                                                                                                                                                          +
                                                                                                                                                                          void PipelineComparison(const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &values)
                                                                                                                                                                          Print or otherwise analyze the results of (perhaps multiple) runs of a star tracking pipeline.
                                                                                                                                                                          Definition: io.cpp:1699
                                                                                                                                                                          +
                                                                                                                                                                          Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:842
                                                                                                                                                                          +
                                                                                                                                                                          CentroidComparison CentroidsCompare(decimal threshold, const Stars &expected, const Stars &actual)
                                                                                                                                                                          Compare expected and actual centroids.
                                                                                                                                                                          Definition: io.cpp:1084
                                                                                                                                                                          +
                                                                                                                                                                          PipelineInputList GetGeneratedPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Create a GeneratedPipelineInput based on the command line options in values
                                                                                                                                                                          Definition: io.cpp:734
                                                                                                                                                                          std::vector< CatalogStar > Catalog
                                                                                                                                                                          Definition: star-utils.hpp:100
                                                                                                                                                                          -
                                                                                                                                                                          void SerializePairDistanceKVector(SerializeContext *ser, const Catalog &catalog, float minDistance, float maxDistance, long numBins)
                                                                                                                                                                          Serialize a pair-distance KVector into buffer.
                                                                                                                                                                          Definition: databases.cpp:194
                                                                                                                                                                          -
                                                                                                                                                                          cairo_surface_t * GrayscaleImageToSurface(const unsigned char *image, const int width, const int height)
                                                                                                                                                                          Definition: io.cpp:148
                                                                                                                                                                          -
                                                                                                                                                                          CentroidComparison CentroidsCompare(float threshold, const Stars &expected, const Stars &actual)
                                                                                                                                                                          Compare expected and actual centroids.
                                                                                                                                                                          Definition: io.cpp:1075
                                                                                                                                                                          -
                                                                                                                                                                          std::ostream & operator<<(std::ostream &os, const Camera &camera)
                                                                                                                                                                          Print information about the camera in machine and human-readable form.
                                                                                                                                                                          Definition: io.cpp:296
                                                                                                                                                                          +
                                                                                                                                                                          cairo_surface_t * GrayscaleImageToSurface(const unsigned char *image, const int width, const int height)
                                                                                                                                                                          Definition: io.cpp:156
                                                                                                                                                                          +
                                                                                                                                                                          std::ostream & operator<<(std::ostream &os, const Camera &camera)
                                                                                                                                                                          Print information about the camera in machine and human-readable form.
                                                                                                                                                                          Definition: io.cpp:304
                                                                                                                                                                          -
                                                                                                                                                                          The result of running a pipeline.
                                                                                                                                                                          Definition: io.hpp:189
                                                                                                                                                                          -
                                                                                                                                                                          Catalog catalog
                                                                                                                                                                          The catalog that the indices in starIds refer to.
                                                                                                                                                                          Definition: io.hpp:204
                                                                                                                                                                          -
                                                                                                                                                                          long long centroidingTimeNs
                                                                                                                                                                          How many nanoseconds the centroiding stage of the pipeline took.
                                                                                                                                                                          Definition: io.hpp:196
                                                                                                                                                                          -
                                                                                                                                                                          std::unique_ptr< Stars > stars
                                                                                                                                                                          Definition: io.hpp:190
                                                                                                                                                                          -
                                                                                                                                                                          long long starIdTimeNs
                                                                                                                                                                          Definition: io.hpp:197
                                                                                                                                                                          -
                                                                                                                                                                          long long attitudeEstimationTimeNs
                                                                                                                                                                          Definition: io.hpp:198
                                                                                                                                                                          -
                                                                                                                                                                          std::unique_ptr< Attitude > attitude
                                                                                                                                                                          Definition: io.hpp:192
                                                                                                                                                                          -
                                                                                                                                                                          std::unique_ptr< StarIdentifiers > starIds
                                                                                                                                                                          Definition: io.hpp:191
                                                                                                                                                                          -
                                                                                                                                                                          The result of comparing an actual star identification with the true star idenification,...
                                                                                                                                                                          Definition: io.hpp:208
                                                                                                                                                                          -
                                                                                                                                                                          int numCorrect
                                                                                                                                                                          The number of centroids in the image which are close to an expected centroid that had an expected ide...
                                                                                                                                                                          Definition: io.hpp:211
                                                                                                                                                                          -
                                                                                                                                                                          int numTotal
                                                                                                                                                                          The number of centroids sufficiently close to a true expected star.
                                                                                                                                                                          Definition: io.hpp:219
                                                                                                                                                                          -
                                                                                                                                                                          int numIncorrect
                                                                                                                                                                          The number of centroids which were either:
                                                                                                                                                                          Definition: io.hpp:216
                                                                                                                                                                          -
                                                                                                                                                                          A two dimensional vector with floating point components.
                                                                                                                                                                          -
                                                                                                                                                                          float Magnitude() const
                                                                                                                                                                          - - -
                                                                                                                                                                          float MagnitudeSq() const
                                                                                                                                                                          The square of the magnitude.
                                                                                                                                                                          +
                                                                                                                                                                          The result of running a pipeline.
                                                                                                                                                                          Definition: io.hpp:190
                                                                                                                                                                          +
                                                                                                                                                                          Catalog catalog
                                                                                                                                                                          The catalog that the indices in starIds refer to.
                                                                                                                                                                          Definition: io.hpp:205
                                                                                                                                                                          +
                                                                                                                                                                          long long centroidingTimeNs
                                                                                                                                                                          How many nanoseconds the centroiding stage of the pipeline took.
                                                                                                                                                                          Definition: io.hpp:197
                                                                                                                                                                          +
                                                                                                                                                                          std::unique_ptr< Stars > stars
                                                                                                                                                                          Definition: io.hpp:191
                                                                                                                                                                          +
                                                                                                                                                                          long long starIdTimeNs
                                                                                                                                                                          Definition: io.hpp:198
                                                                                                                                                                          +
                                                                                                                                                                          long long attitudeEstimationTimeNs
                                                                                                                                                                          Definition: io.hpp:199
                                                                                                                                                                          +
                                                                                                                                                                          std::unique_ptr< Attitude > attitude
                                                                                                                                                                          Definition: io.hpp:193
                                                                                                                                                                          +
                                                                                                                                                                          std::unique_ptr< StarIdentifiers > starIds
                                                                                                                                                                          Definition: io.hpp:192
                                                                                                                                                                          +
                                                                                                                                                                          The result of comparing an actual star identification with the true star idenification,...
                                                                                                                                                                          Definition: io.hpp:209
                                                                                                                                                                          +
                                                                                                                                                                          int numCorrect
                                                                                                                                                                          The number of centroids in the image which are close to an expected centroid that had an expected ide...
                                                                                                                                                                          Definition: io.hpp:212
                                                                                                                                                                          +
                                                                                                                                                                          int numTotal
                                                                                                                                                                          The number of centroids sufficiently close to a true expected star.
                                                                                                                                                                          Definition: io.hpp:220
                                                                                                                                                                          +
                                                                                                                                                                          int numIncorrect
                                                                                                                                                                          The number of centroids which were either:
                                                                                                                                                                          Definition: io.hpp:217
                                                                                                                                                                          +
                                                                                                                                                                          A two dimensional vector with decimaling point components.
                                                                                                                                                                          +
                                                                                                                                                                          decimal MagnitudeSq() const
                                                                                                                                                                          The square of the magnitude.
                                                                                                                                                                          + +
                                                                                                                                                                          decimal Magnitude() const
                                                                                                                                                                          + diff --git a/io_8hpp.html b/io_8hpp.html index 9e994f6f..0b7aedb9 100644 --- a/io_8hpp.html +++ b/io_8hpp.html @@ -117,31 +117,33 @@
                                                                                                                                                                          - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                          @@ -230,9 +232,9 @@ void lost::PipelineComparison (const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &values)  Print or otherwise analyze the results of (perhaps multiple) runs of a star tracking pipeline. More...
                                                                                                                                                                            -StarIdComparison lost::StarIdsCompare (const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, float centroidThreshold, const Stars &expectedStars, const Stars &inputStars) - Compare expected and actual star identifications. More...
                                                                                                                                                                          -  +StarIdComparison lost::StarIdsCompare (const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, decimal centroidThreshold, const Stars &expectedStars, const Stars &inputStars) + Compare expected and actual star identifications. More...
                                                                                                                                                                          +  SerializeContext lost::serFromDbValues (const DatabaseOptions &values)   MultiDatabaseDescriptor lost::GenerateDatabases (const Catalog &, const DatabaseOptions &values) @@ -297,7 +299,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 287 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 288 of file io.hpp.

                                                                                                                                                                          @@ -351,7 +353,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 287 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 288 of file io.hpp.

                                                                                                                                                                          @@ -361,7 +363,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/io_8hpp.js b/io_8hpp.js index 54cd8640..4804809d 100644 --- a/io_8hpp.js +++ b/io_8hpp.js @@ -22,7 +22,7 @@ var io_8hpp = [ "PipelineComparison", "io_8hpp.html#ad2caa7f022ed5c5dba03ab479414dafc", null ], [ "serFromDbValues", "io_8hpp.html#aca0350641c0c62bbf6ff900634e92b8e", null ], [ "SetPipeline", "io_8hpp.html#ad4bb00e632a9200a8e42f620e460dd60", null ], - [ "StarIdsCompare", "io_8hpp.html#ab6f75e99dbde3eede31e0b3a7c56878e", null ], + [ "StarIdsCompare", "io_8hpp.html#a863cf60540007697be2b6572e6a2e614", null ], [ "SurfaceToGrayscaleImage", "io_8hpp.html#a1c3caf3f02508df448ec6c761a2d764e", null ], [ "kNoDefaultArgument", "io_8hpp.html#adbeb358ec7311bc89886a09aa017388c", null ] ]; \ No newline at end of file diff --git a/io_8hpp__incl.map b/io_8hpp__incl.map index dd36e211..bd77b423 100644 --- a/io_8hpp__incl.map +++ b/io_8hpp__incl.map @@ -1,27 +1,29 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/io_8hpp__incl.md5 b/io_8hpp__incl.md5 index 4a8af663..7bbd08ef 100644 --- a/io_8hpp__incl.md5 +++ b/io_8hpp__incl.md5 @@ -1 +1 @@ -fc59565d2a864178c718f25ccd780357 \ No newline at end of file +94565f04c845d876659105a917766b6c \ No newline at end of file diff --git a/io_8hpp__incl.png b/io_8hpp__incl.png index 7b179917..092ab837 100644 Binary files a/io_8hpp__incl.png and b/io_8hpp__incl.png differ diff --git a/io_8hpp_source.html b/io_8hpp_source.html index 42951b22..e2578926 100644 --- a/io_8hpp_source.html +++ b/io_8hpp_source.html @@ -156,259 +156,261 @@
                                                                                                                                                                          74 
                                                                                                                                                                          76 // PIPELINE INPUT //
                                                                                                                                                                          78 
                                                                                                                                                                          - -
                                                                                                                                                                          81 public:
                                                                                                                                                                          -
                                                                                                                                                                          82 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          -
                                                                                                                                                                          83  type prop = defaultVal;
                                                                                                                                                                          -
                                                                                                                                                                          84 #include "./pipeline-options.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          85 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          86 };
                                                                                                                                                                          -
                                                                                                                                                                          87 
                                                                                                                                                                          - -
                                                                                                                                                                          94 public:
                                                                                                                                                                          -
                                                                                                                                                                          95  virtual ~PipelineInput(){};
                                                                                                                                                                          -
                                                                                                                                                                          96 
                                                                                                                                                                          -
                                                                                                                                                                          97  virtual const Image *InputImage() const { return NULL; };
                                                                                                                                                                          -
                                                                                                                                                                          99  virtual const Catalog &GetCatalog() const = 0;
                                                                                                                                                                          -
                                                                                                                                                                          100  virtual const Stars *InputStars() const { return NULL; };
                                                                                                                                                                          -
                                                                                                                                                                          103  virtual const StarIdentifiers *InputStarIds() const { return NULL; };
                                                                                                                                                                          -
                                                                                                                                                                          105  virtual const Attitude *InputAttitude() const { return NULL; };
                                                                                                                                                                          -
                                                                                                                                                                          106  virtual const Camera *InputCamera() const { return NULL; };
                                                                                                                                                                          -
                                                                                                                                                                          108  cairo_surface_t *InputImageSurface() const;
                                                                                                                                                                          -
                                                                                                                                                                          109 
                                                                                                                                                                          -
                                                                                                                                                                          110  virtual const Stars *ExpectedStars() const { return InputStars(); };
                                                                                                                                                                          -
                                                                                                                                                                          116  virtual const StarIdentifiers *ExpectedStarIds() const { return InputStarIds(); };
                                                                                                                                                                          -
                                                                                                                                                                          117  virtual const Attitude *ExpectedAttitude() const { return InputAttitude(); };
                                                                                                                                                                          -
                                                                                                                                                                          118 };
                                                                                                                                                                          -
                                                                                                                                                                          119 
                                                                                                                                                                          - -
                                                                                                                                                                          125 public:
                                                                                                                                                                          -
                                                                                                                                                                          126  GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *,
                                                                                                                                                                          -
                                                                                                                                                                          127 
                                                                                                                                                                          -
                                                                                                                                                                          128  bool centroidsOnly,
                                                                                                                                                                          -
                                                                                                                                                                          129  float observedReferenceBrightness, float starSpreadStdDev,
                                                                                                                                                                          -
                                                                                                                                                                          130  float sensitivity, float darkCurrent, float readNoiseStdDev,
                                                                                                                                                                          -
                                                                                                                                                                          131  Attitude motionBlurDirection, float exposureTime, float readoutTime,
                                                                                                                                                                          -
                                                                                                                                                                          132  bool shotNoise, int oversampling,
                                                                                                                                                                          -
                                                                                                                                                                          133  int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude,
                                                                                                                                                                          -
                                                                                                                                                                          134  int cutoffMag,
                                                                                                                                                                          -
                                                                                                                                                                          135  float perturbationStddev);
                                                                                                                                                                          -
                                                                                                                                                                          136 
                                                                                                                                                                          +
                                                                                                                                                                          79 
                                                                                                                                                                          + +
                                                                                                                                                                          82 public:
                                                                                                                                                                          +
                                                                                                                                                                          83 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          +
                                                                                                                                                                          84  type prop = defaultVal;
                                                                                                                                                                          +
                                                                                                                                                                          85 #include "./pipeline-options.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          86 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          87 };
                                                                                                                                                                          +
                                                                                                                                                                          88 
                                                                                                                                                                          + +
                                                                                                                                                                          95 public:
                                                                                                                                                                          +
                                                                                                                                                                          96  virtual ~PipelineInput(){};
                                                                                                                                                                          +
                                                                                                                                                                          97 
                                                                                                                                                                          +
                                                                                                                                                                          98  virtual const Image *InputImage() const { return NULL; };
                                                                                                                                                                          +
                                                                                                                                                                          100  virtual const Catalog &GetCatalog() const = 0;
                                                                                                                                                                          +
                                                                                                                                                                          101  virtual const Stars *InputStars() const { return NULL; };
                                                                                                                                                                          +
                                                                                                                                                                          104  virtual const StarIdentifiers *InputStarIds() const { return NULL; };
                                                                                                                                                                          +
                                                                                                                                                                          106  virtual const Attitude *InputAttitude() const { return NULL; };
                                                                                                                                                                          +
                                                                                                                                                                          107  virtual const Camera *InputCamera() const { return NULL; };
                                                                                                                                                                          +
                                                                                                                                                                          109  cairo_surface_t *InputImageSurface() const;
                                                                                                                                                                          +
                                                                                                                                                                          110 
                                                                                                                                                                          +
                                                                                                                                                                          111  virtual const Stars *ExpectedStars() const { return InputStars(); };
                                                                                                                                                                          +
                                                                                                                                                                          117  virtual const StarIdentifiers *ExpectedStarIds() const { return InputStarIds(); };
                                                                                                                                                                          +
                                                                                                                                                                          118  virtual const Attitude *ExpectedAttitude() const { return InputAttitude(); };
                                                                                                                                                                          +
                                                                                                                                                                          119 };
                                                                                                                                                                          +
                                                                                                                                                                          120 
                                                                                                                                                                          + +
                                                                                                                                                                          126 public:
                                                                                                                                                                          +
                                                                                                                                                                          127  GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *,
                                                                                                                                                                          +
                                                                                                                                                                          128 
                                                                                                                                                                          +
                                                                                                                                                                          129  bool centroidsOnly,
                                                                                                                                                                          +
                                                                                                                                                                          130  decimal observedReferenceBrightness, decimal starSpreadStdDev,
                                                                                                                                                                          +
                                                                                                                                                                          131  decimal sensitivity, decimal darkCurrent, decimal readNoiseStdDev,
                                                                                                                                                                          +
                                                                                                                                                                          132  Attitude motionBlurDirection, decimal exposureTime, decimal readoutTime,
                                                                                                                                                                          +
                                                                                                                                                                          133  bool shotNoise, int oversampling,
                                                                                                                                                                          +
                                                                                                                                                                          134  int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude,
                                                                                                                                                                          +
                                                                                                                                                                          135  int cutoffMag,
                                                                                                                                                                          +
                                                                                                                                                                          136  decimal perturbationStddev);
                                                                                                                                                                          137 
                                                                                                                                                                          -
                                                                                                                                                                          138  const Image *InputImage() const override { return &image; };
                                                                                                                                                                          -
                                                                                                                                                                          139  const Stars *InputStars() const override { return &inputStars; };
                                                                                                                                                                          -
                                                                                                                                                                          140  const Stars *ExpectedStars() const override { return &expectedStars; };
                                                                                                                                                                          -
                                                                                                                                                                          141  const Camera *InputCamera() const override { return &camera; };
                                                                                                                                                                          -
                                                                                                                                                                          142  const StarIdentifiers *InputStarIds() const override { return &inputStarIds; };
                                                                                                                                                                          -
                                                                                                                                                                          143  const StarIdentifiers *ExpectedStarIds() const override { return &expectedStarIds; };
                                                                                                                                                                          -
                                                                                                                                                                          144  const Attitude *InputAttitude() const override { return &attitude; };
                                                                                                                                                                          -
                                                                                                                                                                          145  const Catalog &GetCatalog() const override { return catalog; };
                                                                                                                                                                          -
                                                                                                                                                                          146 
                                                                                                                                                                          -
                                                                                                                                                                          147 private:
                                                                                                                                                                          -
                                                                                                                                                                          148  std::vector<unsigned char> imageData;
                                                                                                                                                                          -
                                                                                                                                                                          149  Image image;
                                                                                                                                                                          -
                                                                                                                                                                          151  Stars expectedStars;
                                                                                                                                                                          -
                                                                                                                                                                          153  Stars inputStars;
                                                                                                                                                                          -
                                                                                                                                                                          154  Camera camera;
                                                                                                                                                                          -
                                                                                                                                                                          155  Attitude attitude;
                                                                                                                                                                          -
                                                                                                                                                                          156  const Catalog &catalog;
                                                                                                                                                                          -
                                                                                                                                                                          157  StarIdentifiers inputStarIds;
                                                                                                                                                                          -
                                                                                                                                                                          158  StarIdentifiers expectedStarIds;
                                                                                                                                                                          -
                                                                                                                                                                          159 };
                                                                                                                                                                          -
                                                                                                                                                                          160 
                                                                                                                                                                          -
                                                                                                                                                                          161 typedef std::vector<std::unique_ptr<PipelineInput>> PipelineInputList;
                                                                                                                                                                          -
                                                                                                                                                                          162 
                                                                                                                                                                          - -
                                                                                                                                                                          164 
                                                                                                                                                                          - -
                                                                                                                                                                          167 public:
                                                                                                                                                                          -
                                                                                                                                                                          168  PngPipelineInput(cairo_surface_t *, Camera, const Catalog &);
                                                                                                                                                                          - -
                                                                                                                                                                          170 
                                                                                                                                                                          -
                                                                                                                                                                          171  const Image *InputImage() const override { return &image; };
                                                                                                                                                                          -
                                                                                                                                                                          172  const Camera *InputCamera() const override { return &camera; };
                                                                                                                                                                          -
                                                                                                                                                                          173  const Catalog &GetCatalog() const override { return catalog; };
                                                                                                                                                                          -
                                                                                                                                                                          174 
                                                                                                                                                                          -
                                                                                                                                                                          175 private:
                                                                                                                                                                          -
                                                                                                                                                                          176  Image image;
                                                                                                                                                                          -
                                                                                                                                                                          177  Camera camera;
                                                                                                                                                                          -
                                                                                                                                                                          178  const Catalog &catalog;
                                                                                                                                                                          -
                                                                                                                                                                          179 };
                                                                                                                                                                          -
                                                                                                                                                                          180 
                                                                                                                                                                          -
                                                                                                                                                                          182 // PIPELINE OUTPUT //
                                                                                                                                                                          -
                                                                                                                                                                          184 
                                                                                                                                                                          - -
                                                                                                                                                                          190  std::unique_ptr<Stars> stars = nullptr;
                                                                                                                                                                          -
                                                                                                                                                                          191  std::unique_ptr<StarIdentifiers> starIds = nullptr;
                                                                                                                                                                          -
                                                                                                                                                                          192  std::unique_ptr<Attitude> attitude = nullptr;
                                                                                                                                                                          -
                                                                                                                                                                          193 
                                                                                                                                                                          -
                                                                                                                                                                          196  long long centroidingTimeNs = -1;
                                                                                                                                                                          -
                                                                                                                                                                          197  long long starIdTimeNs = -1;
                                                                                                                                                                          -
                                                                                                                                                                          198  long long attitudeEstimationTimeNs = -1;
                                                                                                                                                                          -
                                                                                                                                                                          199 
                                                                                                                                                                          - -
                                                                                                                                                                          205 };
                                                                                                                                                                          -
                                                                                                                                                                          206 
                                                                                                                                                                          - - -
                                                                                                                                                                          212 
                                                                                                                                                                          - -
                                                                                                                                                                          217 
                                                                                                                                                                          -
                                                                                                                                                                          219  int numTotal;
                                                                                                                                                                          -
                                                                                                                                                                          220 };
                                                                                                                                                                          -
                                                                                                                                                                          221 
                                                                                                                                                                          -
                                                                                                                                                                          222 std::ostream &operator<<(std::ostream &, const Camera &);
                                                                                                                                                                          -
                                                                                                                                                                          223 
                                                                                                                                                                          -
                                                                                                                                                                          225 // PIPELINE //
                                                                                                                                                                          -
                                                                                                                                                                          227 
                                                                                                                                                                          -
                                                                                                                                                                          232 class Pipeline {
                                                                                                                                                                          -
                                                                                                                                                                          233  friend Pipeline SetPipeline(const PipelineOptions &values);
                                                                                                                                                                          -
                                                                                                                                                                          234 
                                                                                                                                                                          -
                                                                                                                                                                          235 public:
                                                                                                                                                                          -
                                                                                                                                                                          236  Pipeline() = default;
                                                                                                                                                                          - - -
                                                                                                                                                                          239  std::vector<PipelineOutput> Go(const PipelineInputList &);
                                                                                                                                                                          -
                                                                                                                                                                          240 
                                                                                                                                                                          -
                                                                                                                                                                          241 private:
                                                                                                                                                                          -
                                                                                                                                                                          242  std::unique_ptr<CentroidAlgorithm> centroidAlgorithm;
                                                                                                                                                                          -
                                                                                                                                                                          243 
                                                                                                                                                                          -
                                                                                                                                                                          244  // next two options are for magnitude filter:
                                                                                                                                                                          -
                                                                                                                                                                          245  int centroidMinMagnitude = 0;
                                                                                                                                                                          -
                                                                                                                                                                          246  int centroidMinStars = 0;
                                                                                                                                                                          -
                                                                                                                                                                          247 
                                                                                                                                                                          -
                                                                                                                                                                          248  std::unique_ptr<StarIdAlgorithm> starIdAlgorithm;
                                                                                                                                                                          -
                                                                                                                                                                          249  std::unique_ptr<AttitudeEstimationAlgorithm> attitudeEstimationAlgorithm;
                                                                                                                                                                          -
                                                                                                                                                                          250  std::unique_ptr<unsigned char[]> database;
                                                                                                                                                                          -
                                                                                                                                                                          251 };
                                                                                                                                                                          -
                                                                                                                                                                          252 
                                                                                                                                                                          -
                                                                                                                                                                          253 Pipeline SetPipeline(const PipelineOptions &values);
                                                                                                                                                                          -
                                                                                                                                                                          254 
                                                                                                                                                                          -
                                                                                                                                                                          255 // TODO: rename. Do something with the output
                                                                                                                                                                          -
                                                                                                                                                                          256 void PipelineComparison(const PipelineInputList &expected,
                                                                                                                                                                          -
                                                                                                                                                                          257  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          -
                                                                                                                                                                          258  const PipelineOptions &values);
                                                                                                                                                                          -
                                                                                                                                                                          259 
                                                                                                                                                                          -
                                                                                                                                                                          274 StarIdComparison StarIdsCompare(const StarIdentifiers &expected, const StarIdentifiers &actual,
                                                                                                                                                                          -
                                                                                                                                                                          275  // use these to map indices to names for the respective lists of StarIdentifiers
                                                                                                                                                                          -
                                                                                                                                                                          276  const Catalog &expectedCatalog, const Catalog &actualCatalog,
                                                                                                                                                                          -
                                                                                                                                                                          277  float centroidThreshold,
                                                                                                                                                                          -
                                                                                                                                                                          278  const Stars &expectedStars, const Stars &inputStars);
                                                                                                                                                                          -
                                                                                                                                                                          279 
                                                                                                                                                                          -
                                                                                                                                                                          281 // DB BUILDER //
                                                                                                                                                                          -
                                                                                                                                                                          283 
                                                                                                                                                                          - -
                                                                                                                                                                          286 public:
                                                                                                                                                                          -
                                                                                                                                                                          287 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          -
                                                                                                                                                                          288  type prop = defaultVal;
                                                                                                                                                                          -
                                                                                                                                                                          289 #include "database-options.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          290 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          291 };
                                                                                                                                                                          -
                                                                                                                                                                          292 
                                                                                                                                                                          -
                                                                                                                                                                          293 SerializeContext serFromDbValues(const DatabaseOptions &values);
                                                                                                                                                                          -
                                                                                                                                                                          294 
                                                                                                                                                                          -
                                                                                                                                                                          297 MultiDatabaseDescriptor GenerateDatabases(const Catalog &, const DatabaseOptions &values);
                                                                                                                                                                          -
                                                                                                                                                                          298 
                                                                                                                                                                          -
                                                                                                                                                                          300 // INSPECT CATALOG //
                                                                                                                                                                          -
                                                                                                                                                                          302 
                                                                                                                                                                          - -
                                                                                                                                                                          304 
                                                                                                                                                                          -
                                                                                                                                                                          305 }
                                                                                                                                                                          -
                                                                                                                                                                          306 
                                                                                                                                                                          -
                                                                                                                                                                          307 #endif
                                                                                                                                                                          +
                                                                                                                                                                          138 
                                                                                                                                                                          +
                                                                                                                                                                          139  const Image *InputImage() const override { return &image; };
                                                                                                                                                                          +
                                                                                                                                                                          140  const Stars *InputStars() const override { return &inputStars; };
                                                                                                                                                                          +
                                                                                                                                                                          141  const Stars *ExpectedStars() const override { return &expectedStars; };
                                                                                                                                                                          +
                                                                                                                                                                          142  const Camera *InputCamera() const override { return &camera; };
                                                                                                                                                                          +
                                                                                                                                                                          143  const StarIdentifiers *InputStarIds() const override { return &inputStarIds; };
                                                                                                                                                                          +
                                                                                                                                                                          144  const StarIdentifiers *ExpectedStarIds() const override { return &expectedStarIds; };
                                                                                                                                                                          +
                                                                                                                                                                          145  const Attitude *InputAttitude() const override { return &attitude; };
                                                                                                                                                                          +
                                                                                                                                                                          146  const Catalog &GetCatalog() const override { return catalog; };
                                                                                                                                                                          +
                                                                                                                                                                          147 
                                                                                                                                                                          +
                                                                                                                                                                          148 private:
                                                                                                                                                                          +
                                                                                                                                                                          149  std::vector<unsigned char> imageData;
                                                                                                                                                                          +
                                                                                                                                                                          150  Image image;
                                                                                                                                                                          +
                                                                                                                                                                          152  Stars expectedStars;
                                                                                                                                                                          +
                                                                                                                                                                          154  Stars inputStars;
                                                                                                                                                                          +
                                                                                                                                                                          155  Camera camera;
                                                                                                                                                                          +
                                                                                                                                                                          156  Attitude attitude;
                                                                                                                                                                          +
                                                                                                                                                                          157  const Catalog &catalog;
                                                                                                                                                                          +
                                                                                                                                                                          158  StarIdentifiers inputStarIds;
                                                                                                                                                                          +
                                                                                                                                                                          159  StarIdentifiers expectedStarIds;
                                                                                                                                                                          +
                                                                                                                                                                          160 };
                                                                                                                                                                          +
                                                                                                                                                                          161 
                                                                                                                                                                          +
                                                                                                                                                                          162 typedef std::vector<std::unique_ptr<PipelineInput>> PipelineInputList;
                                                                                                                                                                          +
                                                                                                                                                                          163 
                                                                                                                                                                          + +
                                                                                                                                                                          165 
                                                                                                                                                                          + +
                                                                                                                                                                          168 public:
                                                                                                                                                                          +
                                                                                                                                                                          169  PngPipelineInput(cairo_surface_t *, Camera, const Catalog &);
                                                                                                                                                                          + +
                                                                                                                                                                          171 
                                                                                                                                                                          +
                                                                                                                                                                          172  const Image *InputImage() const override { return &image; };
                                                                                                                                                                          +
                                                                                                                                                                          173  const Camera *InputCamera() const override { return &camera; };
                                                                                                                                                                          +
                                                                                                                                                                          174  const Catalog &GetCatalog() const override { return catalog; };
                                                                                                                                                                          +
                                                                                                                                                                          175 
                                                                                                                                                                          +
                                                                                                                                                                          176 private:
                                                                                                                                                                          +
                                                                                                                                                                          177  Image image;
                                                                                                                                                                          +
                                                                                                                                                                          178  Camera camera;
                                                                                                                                                                          +
                                                                                                                                                                          179  const Catalog &catalog;
                                                                                                                                                                          +
                                                                                                                                                                          180 };
                                                                                                                                                                          +
                                                                                                                                                                          181 
                                                                                                                                                                          +
                                                                                                                                                                          183 // PIPELINE OUTPUT //
                                                                                                                                                                          +
                                                                                                                                                                          185 
                                                                                                                                                                          + +
                                                                                                                                                                          191  std::unique_ptr<Stars> stars = nullptr;
                                                                                                                                                                          +
                                                                                                                                                                          192  std::unique_ptr<StarIdentifiers> starIds = nullptr;
                                                                                                                                                                          +
                                                                                                                                                                          193  std::unique_ptr<Attitude> attitude = nullptr;
                                                                                                                                                                          +
                                                                                                                                                                          194 
                                                                                                                                                                          +
                                                                                                                                                                          197  long long centroidingTimeNs = -1;
                                                                                                                                                                          +
                                                                                                                                                                          198  long long starIdTimeNs = -1;
                                                                                                                                                                          +
                                                                                                                                                                          199  long long attitudeEstimationTimeNs = -1;
                                                                                                                                                                          +
                                                                                                                                                                          200 
                                                                                                                                                                          + +
                                                                                                                                                                          206 };
                                                                                                                                                                          +
                                                                                                                                                                          207 
                                                                                                                                                                          + + +
                                                                                                                                                                          213 
                                                                                                                                                                          + +
                                                                                                                                                                          218 
                                                                                                                                                                          +
                                                                                                                                                                          220  int numTotal;
                                                                                                                                                                          +
                                                                                                                                                                          221 };
                                                                                                                                                                          +
                                                                                                                                                                          222 
                                                                                                                                                                          +
                                                                                                                                                                          223 std::ostream &operator<<(std::ostream &, const Camera &);
                                                                                                                                                                          +
                                                                                                                                                                          224 
                                                                                                                                                                          +
                                                                                                                                                                          226 // PIPELINE //
                                                                                                                                                                          +
                                                                                                                                                                          228 
                                                                                                                                                                          +
                                                                                                                                                                          233 class Pipeline {
                                                                                                                                                                          +
                                                                                                                                                                          234  friend Pipeline SetPipeline(const PipelineOptions &values);
                                                                                                                                                                          +
                                                                                                                                                                          235 
                                                                                                                                                                          +
                                                                                                                                                                          236 public:
                                                                                                                                                                          +
                                                                                                                                                                          237  Pipeline() = default;
                                                                                                                                                                          + + +
                                                                                                                                                                          240  std::vector<PipelineOutput> Go(const PipelineInputList &);
                                                                                                                                                                          +
                                                                                                                                                                          241 
                                                                                                                                                                          +
                                                                                                                                                                          242 private:
                                                                                                                                                                          +
                                                                                                                                                                          243  std::unique_ptr<CentroidAlgorithm> centroidAlgorithm;
                                                                                                                                                                          +
                                                                                                                                                                          244 
                                                                                                                                                                          +
                                                                                                                                                                          245  // next two options are for magnitude filter:
                                                                                                                                                                          +
                                                                                                                                                                          246  int centroidMinMagnitude = 0;
                                                                                                                                                                          +
                                                                                                                                                                          247  int centroidMinStars = 0;
                                                                                                                                                                          +
                                                                                                                                                                          248 
                                                                                                                                                                          +
                                                                                                                                                                          249  std::unique_ptr<StarIdAlgorithm> starIdAlgorithm;
                                                                                                                                                                          +
                                                                                                                                                                          250  std::unique_ptr<AttitudeEstimationAlgorithm> attitudeEstimationAlgorithm;
                                                                                                                                                                          +
                                                                                                                                                                          251  std::unique_ptr<unsigned char[]> database;
                                                                                                                                                                          +
                                                                                                                                                                          252 };
                                                                                                                                                                          +
                                                                                                                                                                          253 
                                                                                                                                                                          +
                                                                                                                                                                          254 Pipeline SetPipeline(const PipelineOptions &values);
                                                                                                                                                                          +
                                                                                                                                                                          255 
                                                                                                                                                                          +
                                                                                                                                                                          256 // TODO: rename. Do something with the output
                                                                                                                                                                          +
                                                                                                                                                                          257 void PipelineComparison(const PipelineInputList &expected,
                                                                                                                                                                          +
                                                                                                                                                                          258  const std::vector<PipelineOutput> &actual,
                                                                                                                                                                          +
                                                                                                                                                                          259  const PipelineOptions &values);
                                                                                                                                                                          +
                                                                                                                                                                          260 
                                                                                                                                                                          +
                                                                                                                                                                          275 StarIdComparison StarIdsCompare(const StarIdentifiers &expected, const StarIdentifiers &actual,
                                                                                                                                                                          +
                                                                                                                                                                          276  // use these to map indices to names for the respective lists of StarIdentifiers
                                                                                                                                                                          +
                                                                                                                                                                          277  const Catalog &expectedCatalog, const Catalog &actualCatalog,
                                                                                                                                                                          +
                                                                                                                                                                          278  decimal centroidThreshold,
                                                                                                                                                                          +
                                                                                                                                                                          279  const Stars &expectedStars, const Stars &inputStars);
                                                                                                                                                                          +
                                                                                                                                                                          280 
                                                                                                                                                                          +
                                                                                                                                                                          282 // DB BUILDER //
                                                                                                                                                                          +
                                                                                                                                                                          284 
                                                                                                                                                                          + +
                                                                                                                                                                          287 public:
                                                                                                                                                                          +
                                                                                                                                                                          288 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          +
                                                                                                                                                                          289  type prop = defaultVal;
                                                                                                                                                                          +
                                                                                                                                                                          290 #include "database-options.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          291 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          292 };
                                                                                                                                                                          +
                                                                                                                                                                          293 
                                                                                                                                                                          +
                                                                                                                                                                          294 SerializeContext serFromDbValues(const DatabaseOptions &values);
                                                                                                                                                                          +
                                                                                                                                                                          295 
                                                                                                                                                                          +
                                                                                                                                                                          298 MultiDatabaseDescriptor GenerateDatabases(const Catalog &, const DatabaseOptions &values);
                                                                                                                                                                          +
                                                                                                                                                                          299 
                                                                                                                                                                          +
                                                                                                                                                                          301 // INSPECT CATALOG //
                                                                                                                                                                          +
                                                                                                                                                                          303 
                                                                                                                                                                          + +
                                                                                                                                                                          305 
                                                                                                                                                                          +
                                                                                                                                                                          306 }
                                                                                                                                                                          +
                                                                                                                                                                          307 
                                                                                                                                                                          +
                                                                                                                                                                          308 #endif
                                                                                                                                                                          An attitude estimation algorithm estimates the orientation of the camera based on identified stars.
                                                                                                                                                                          -
                                                                                                                                                                          The attitude (orientation) of a spacecraft.
                                                                                                                                                                          +
                                                                                                                                                                          The attitude (orientation) of a spacecraft.
                                                                                                                                                                          A full description of a camera. Enough information to reconstruct the camera matrix and then some.
                                                                                                                                                                          Definition: camera.hpp:9
                                                                                                                                                                          An algorithm that detects the (x,y) coordinates of bright points in an image, called "centroids".
                                                                                                                                                                          Definition: centroiders.hpp:12
                                                                                                                                                                          -
                                                                                                                                                                          Commannd line options when using the database command.
                                                                                                                                                                          Definition: io.hpp:285
                                                                                                                                                                          -
                                                                                                                                                                          A pipeline input which is generated (fake image).
                                                                                                                                                                          Definition: io.hpp:124
                                                                                                                                                                          -
                                                                                                                                                                          const StarIdentifiers * InputStarIds() const override
                                                                                                                                                                          The centroid indices in the StarIdentifiers returned from InputStarIds should be indices into InputSt...
                                                                                                                                                                          Definition: io.hpp:142
                                                                                                                                                                          -
                                                                                                                                                                          const Image * InputImage() const override
                                                                                                                                                                          Definition: io.hpp:138
                                                                                                                                                                          -
                                                                                                                                                                          GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, float observedReferenceBrightness, float starSpreadStdDev, float sensitivity, float darkCurrent, float readNoiseStdDev, Attitude motionBlurDirection, float exposureTime, float readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, float perturbationStddev)
                                                                                                                                                                          Create a generated pipeline input.
                                                                                                                                                                          Definition: io.cpp:477
                                                                                                                                                                          -
                                                                                                                                                                          const Stars * InputStars() const override
                                                                                                                                                                          Definition: io.hpp:139
                                                                                                                                                                          -
                                                                                                                                                                          const Attitude * InputAttitude() const override
                                                                                                                                                                          Only used in tracking mode, in which case it is an estimate of the current attitude based on the last...
                                                                                                                                                                          Definition: io.hpp:144
                                                                                                                                                                          -
                                                                                                                                                                          const Stars * ExpectedStars() const override
                                                                                                                                                                          Definition: io.hpp:140
                                                                                                                                                                          -
                                                                                                                                                                          const Catalog & GetCatalog() const override
                                                                                                                                                                          The catalog to which catalog indexes returned from other methods refer.
                                                                                                                                                                          Definition: io.hpp:145
                                                                                                                                                                          -
                                                                                                                                                                          const Camera * InputCamera() const override
                                                                                                                                                                          Definition: io.hpp:141
                                                                                                                                                                          -
                                                                                                                                                                          const StarIdentifiers * ExpectedStarIds() const override
                                                                                                                                                                          Centroid indices in the StarIdentifiers returned from ExpectedStarIds should be indices into Expected...
                                                                                                                                                                          Definition: io.hpp:143
                                                                                                                                                                          +
                                                                                                                                                                          Commannd line options when using the database command.
                                                                                                                                                                          Definition: io.hpp:286
                                                                                                                                                                          +
                                                                                                                                                                          A pipeline input which is generated (fake image).
                                                                                                                                                                          Definition: io.hpp:125
                                                                                                                                                                          +
                                                                                                                                                                          const StarIdentifiers * InputStarIds() const override
                                                                                                                                                                          The centroid indices in the StarIdentifiers returned from InputStarIds should be indices into InputSt...
                                                                                                                                                                          Definition: io.hpp:143
                                                                                                                                                                          +
                                                                                                                                                                          const Image * InputImage() const override
                                                                                                                                                                          Definition: io.hpp:139
                                                                                                                                                                          +
                                                                                                                                                                          const Stars * InputStars() const override
                                                                                                                                                                          Definition: io.hpp:140
                                                                                                                                                                          +
                                                                                                                                                                          const Attitude * InputAttitude() const override
                                                                                                                                                                          Only used in tracking mode, in which case it is an estimate of the current attitude based on the last...
                                                                                                                                                                          Definition: io.hpp:145
                                                                                                                                                                          +
                                                                                                                                                                          const Stars * ExpectedStars() const override
                                                                                                                                                                          Definition: io.hpp:141
                                                                                                                                                                          +
                                                                                                                                                                          const Catalog & GetCatalog() const override
                                                                                                                                                                          The catalog to which catalog indexes returned from other methods refer.
                                                                                                                                                                          Definition: io.hpp:146
                                                                                                                                                                          +
                                                                                                                                                                          GeneratedPipelineInput(const Catalog &, Attitude, Camera, std::default_random_engine *, bool centroidsOnly, decimal observedReferenceBrightness, decimal starSpreadStdDev, decimal sensitivity, decimal darkCurrent, decimal readNoiseStdDev, Attitude motionBlurDirection, decimal exposureTime, decimal readoutTime, bool shotNoise, int oversampling, int numFalseStars, int falseMinMagnitude, int falseMaxMagnitude, int cutoffMag, decimal perturbationStddev)
                                                                                                                                                                          Create a generated pipeline input.
                                                                                                                                                                          Definition: io.cpp:485
                                                                                                                                                                          +
                                                                                                                                                                          const Camera * InputCamera() const override
                                                                                                                                                                          Definition: io.hpp:142
                                                                                                                                                                          +
                                                                                                                                                                          const StarIdentifiers * ExpectedStarIds() const override
                                                                                                                                                                          Centroid indices in the StarIdentifiers returned from ExpectedStarIds should be indices into Expected...
                                                                                                                                                                          Definition: io.hpp:144
                                                                                                                                                                          An 8-bit grayscale 2d image.
                                                                                                                                                                          Definition: io.hpp:63
                                                                                                                                                                          unsigned char * image
                                                                                                                                                                          The raw pixel data in the image.
                                                                                                                                                                          Definition: io.hpp:69
                                                                                                                                                                          int height
                                                                                                                                                                          Definition: io.hpp:72
                                                                                                                                                                          int width
                                                                                                                                                                          Definition: io.hpp:71
                                                                                                                                                                          -
                                                                                                                                                                          A set of algorithms that describes all or part of the star-tracking "pipeline".
                                                                                                                                                                          Definition: io.hpp:232
                                                                                                                                                                          -
                                                                                                                                                                          friend Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:834
                                                                                                                                                                          +
                                                                                                                                                                          A set of algorithms that describes all or part of the star-tracking "pipeline".
                                                                                                                                                                          Definition: io.hpp:233
                                                                                                                                                                          +
                                                                                                                                                                          friend Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:842
                                                                                                                                                                          Pipeline()=default
                                                                                                                                                                          -
                                                                                                                                                                          PipelineOutput Go(const PipelineInput &)
                                                                                                                                                                          Run all stages of a pipeline.
                                                                                                                                                                          Definition: io.cpp:900
                                                                                                                                                                          -
                                                                                                                                                                          Represents the input and expected outputs of a pipeline run.
                                                                                                                                                                          Definition: io.hpp:93
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Attitude * InputAttitude() const
                                                                                                                                                                          Only used in tracking mode, in which case it is an estimate of the current attitude based on the last...
                                                                                                                                                                          Definition: io.hpp:105
                                                                                                                                                                          +
                                                                                                                                                                          PipelineOutput Go(const PipelineInput &)
                                                                                                                                                                          Run all stages of a pipeline.
                                                                                                                                                                          Definition: io.cpp:909
                                                                                                                                                                          +
                                                                                                                                                                          Represents the input and expected outputs of a pipeline run.
                                                                                                                                                                          Definition: io.hpp:94
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Attitude * InputAttitude() const
                                                                                                                                                                          Only used in tracking mode, in which case it is an estimate of the current attitude based on the last...
                                                                                                                                                                          Definition: io.hpp:106
                                                                                                                                                                          virtual const Catalog & GetCatalog() const =0
                                                                                                                                                                          The catalog to which catalog indexes returned from other methods refer.
                                                                                                                                                                          -
                                                                                                                                                                          virtual const StarIdentifiers * InputStarIds() const
                                                                                                                                                                          The centroid indices in the StarIdentifiers returned from InputStarIds should be indices into InputSt...
                                                                                                                                                                          Definition: io.hpp:103
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Stars * ExpectedStars() const
                                                                                                                                                                          Definition: io.hpp:110
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Image * InputImage() const
                                                                                                                                                                          Definition: io.hpp:97
                                                                                                                                                                          -
                                                                                                                                                                          cairo_surface_t * InputImageSurface() const
                                                                                                                                                                          Convert the InputImage() output into a cairo surface.
                                                                                                                                                                          Definition: io.cpp:332
                                                                                                                                                                          -
                                                                                                                                                                          virtual const StarIdentifiers * ExpectedStarIds() const
                                                                                                                                                                          Centroid indices in the StarIdentifiers returned from ExpectedStarIds should be indices into Expected...
                                                                                                                                                                          Definition: io.hpp:116
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Stars * InputStars() const
                                                                                                                                                                          Definition: io.hpp:100
                                                                                                                                                                          -
                                                                                                                                                                          virtual ~PipelineInput()
                                                                                                                                                                          Definition: io.hpp:95
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Attitude * ExpectedAttitude() const
                                                                                                                                                                          Definition: io.hpp:117
                                                                                                                                                                          -
                                                                                                                                                                          virtual const Camera * InputCamera() const
                                                                                                                                                                          Definition: io.hpp:106
                                                                                                                                                                          -
                                                                                                                                                                          The command line options passed when running a pipeline.
                                                                                                                                                                          Definition: io.hpp:80
                                                                                                                                                                          -
                                                                                                                                                                          A pipeline input created by reading a PNG from a file on disk.
                                                                                                                                                                          Definition: io.hpp:166
                                                                                                                                                                          - -
                                                                                                                                                                          const Camera * InputCamera() const override
                                                                                                                                                                          Definition: io.hpp:172
                                                                                                                                                                          -
                                                                                                                                                                          const Image * InputImage() const override
                                                                                                                                                                          Definition: io.hpp:171
                                                                                                                                                                          -
                                                                                                                                                                          const Catalog & GetCatalog() const override
                                                                                                                                                                          The catalog to which catalog indexes returned from other methods refer.
                                                                                                                                                                          Definition: io.hpp:173
                                                                                                                                                                          -
                                                                                                                                                                          PngPipelineInput(cairo_surface_t *, Camera, const Catalog &)
                                                                                                                                                                          A pipeline input coming from an image with no extra metadata.
                                                                                                                                                                          Definition: io.cpp:358
                                                                                                                                                                          +
                                                                                                                                                                          virtual const StarIdentifiers * InputStarIds() const
                                                                                                                                                                          The centroid indices in the StarIdentifiers returned from InputStarIds should be indices into InputSt...
                                                                                                                                                                          Definition: io.hpp:104
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Stars * ExpectedStars() const
                                                                                                                                                                          Definition: io.hpp:111
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Image * InputImage() const
                                                                                                                                                                          Definition: io.hpp:98
                                                                                                                                                                          +
                                                                                                                                                                          cairo_surface_t * InputImageSurface() const
                                                                                                                                                                          Convert the InputImage() output into a cairo surface.
                                                                                                                                                                          Definition: io.cpp:340
                                                                                                                                                                          +
                                                                                                                                                                          virtual const StarIdentifiers * ExpectedStarIds() const
                                                                                                                                                                          Centroid indices in the StarIdentifiers returned from ExpectedStarIds should be indices into Expected...
                                                                                                                                                                          Definition: io.hpp:117
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Stars * InputStars() const
                                                                                                                                                                          Definition: io.hpp:101
                                                                                                                                                                          +
                                                                                                                                                                          virtual ~PipelineInput()
                                                                                                                                                                          Definition: io.hpp:96
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Attitude * ExpectedAttitude() const
                                                                                                                                                                          Definition: io.hpp:118
                                                                                                                                                                          +
                                                                                                                                                                          virtual const Camera * InputCamera() const
                                                                                                                                                                          Definition: io.hpp:107
                                                                                                                                                                          +
                                                                                                                                                                          The command line options passed when running a pipeline.
                                                                                                                                                                          Definition: io.hpp:81
                                                                                                                                                                          +
                                                                                                                                                                          A pipeline input created by reading a PNG from a file on disk.
                                                                                                                                                                          Definition: io.hpp:167
                                                                                                                                                                          + +
                                                                                                                                                                          const Camera * InputCamera() const override
                                                                                                                                                                          Definition: io.hpp:173
                                                                                                                                                                          +
                                                                                                                                                                          const Image * InputImage() const override
                                                                                                                                                                          Definition: io.hpp:172
                                                                                                                                                                          +
                                                                                                                                                                          const Catalog & GetCatalog() const override
                                                                                                                                                                          The catalog to which catalog indexes returned from other methods refer.
                                                                                                                                                                          Definition: io.hpp:174
                                                                                                                                                                          +
                                                                                                                                                                          PngPipelineInput(cairo_surface_t *, Camera, const Catalog &)
                                                                                                                                                                          A pipeline input coming from an image with no extra metadata.
                                                                                                                                                                          Definition: io.cpp:366
                                                                                                                                                                          A star idenification algorithm.
                                                                                                                                                                          Definition: star-id.hpp:16
                                                                                                                                                                          An output stream which might be a file or stdout.
                                                                                                                                                                          Definition: io.hpp:35
                                                                                                                                                                          - -
                                                                                                                                                                          UserSpecifiedOutputStream(std::string filePath, bool isBinary)
                                                                                                                                                                          Create a PromptedOutputStream which will output to the given file.
                                                                                                                                                                          Definition: io.cpp:33
                                                                                                                                                                          + +
                                                                                                                                                                          UserSpecifiedOutputStream(std::string filePath, bool isBinary)
                                                                                                                                                                          Create a PromptedOutputStream which will output to the given file.
                                                                                                                                                                          Definition: io.cpp:34
                                                                                                                                                                          std::ostream & Stream()
                                                                                                                                                                          return the inner output stream, suitable for use with <<
                                                                                                                                                                          Definition: io.hpp:41
                                                                                                                                                                          -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          -
                                                                                                                                                                          unsigned char * SurfaceToGrayscaleImage(cairo_surface_t *cairoSurface)
                                                                                                                                                                          Convert a colored Cairo image surface into a row-major array of grayscale pixels.
                                                                                                                                                                          Definition: io.cpp:119
                                                                                                                                                                          +
                                                                                                                                                                          double decimal
                                                                                                                                                                          Definition: decimal.hpp:11
                                                                                                                                                                          +
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          unsigned char * SurfaceToGrayscaleImage(cairo_surface_t *cairoSurface)
                                                                                                                                                                          Convert a colored Cairo image surface into a row-major array of grayscale pixels.
                                                                                                                                                                          Definition: io.cpp:127
                                                                                                                                                                          std::vector< StarIdentifier > StarIdentifiers
                                                                                                                                                                          Definition: star-utils.hpp:102
                                                                                                                                                                          -
                                                                                                                                                                          const Catalog & CatalogRead()
                                                                                                                                                                          Read and parse the full catalog from disk. If called multiple times, will re-use the first result.
                                                                                                                                                                          Definition: io.cpp:91
                                                                                                                                                                          +
                                                                                                                                                                          const Catalog & CatalogRead()
                                                                                                                                                                          Read and parse the full catalog from disk. If called multiple times, will re-use the first result.
                                                                                                                                                                          Definition: io.cpp:99
                                                                                                                                                                          std::vector< Star > Stars
                                                                                                                                                                          Definition: star-utils.hpp:101
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
                                                                                                                                                                          Definition: databases.hpp:117
                                                                                                                                                                          -
                                                                                                                                                                          StarIdComparison StarIdsCompare(const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, float centroidThreshold, const Stars &expectedStars, const Stars &inputStars)
                                                                                                                                                                          Compare expected and actual star identifications.
                                                                                                                                                                          Definition: io.cpp:1120
                                                                                                                                                                          -
                                                                                                                                                                          MultiDatabaseDescriptor GenerateDatabases(const Catalog &catalog, const DatabaseOptions &values)
                                                                                                                                                                          Appropriately create descriptors for all requested databases according to command-line options.
                                                                                                                                                                          Definition: io.cpp:272
                                                                                                                                                                          -
                                                                                                                                                                          SerializeContext serFromDbValues(const DatabaseOptions &values)
                                                                                                                                                                          Definition: io.cpp:268
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< std::unique_ptr< PipelineInput > > PipelineInputList
                                                                                                                                                                          Definition: io.hpp:161
                                                                                                                                                                          -
                                                                                                                                                                          PipelineInputList GetPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Come up with a list of pipeline inputs based on command line options.
                                                                                                                                                                          Definition: io.cpp:800
                                                                                                                                                                          -
                                                                                                                                                                          void PipelineComparison(const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &values)
                                                                                                                                                                          Print or otherwise analyze the results of (perhaps multiple) runs of a star tracking pipeline.
                                                                                                                                                                          Definition: io.cpp:1690
                                                                                                                                                                          -
                                                                                                                                                                          Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:834
                                                                                                                                                                          +
                                                                                                                                                                          StarIdComparison StarIdsCompare(const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, decimal centroidThreshold, const Stars &expectedStars, const Stars &inputStars)
                                                                                                                                                                          Compare expected and actual star identifications.
                                                                                                                                                                          Definition: io.cpp:1129
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
                                                                                                                                                                          Definition: databases.hpp:123
                                                                                                                                                                          +
                                                                                                                                                                          MultiDatabaseDescriptor GenerateDatabases(const Catalog &catalog, const DatabaseOptions &values)
                                                                                                                                                                          Appropriately create descriptors for all requested databases according to command-line options.
                                                                                                                                                                          Definition: io.cpp:280
                                                                                                                                                                          +
                                                                                                                                                                          SerializeContext serFromDbValues(const DatabaseOptions &values)
                                                                                                                                                                          Definition: io.cpp:276
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< std::unique_ptr< PipelineInput > > PipelineInputList
                                                                                                                                                                          Definition: io.hpp:162
                                                                                                                                                                          +
                                                                                                                                                                          PipelineInputList GetPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Come up with a list of pipeline inputs based on command line options.
                                                                                                                                                                          Definition: io.cpp:808
                                                                                                                                                                          +
                                                                                                                                                                          void PipelineComparison(const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &values)
                                                                                                                                                                          Print or otherwise analyze the results of (perhaps multiple) runs of a star tracking pipeline.
                                                                                                                                                                          Definition: io.cpp:1699
                                                                                                                                                                          +
                                                                                                                                                                          Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:842
                                                                                                                                                                          void InspectCatalog()
                                                                                                                                                                          const char kNoDefaultArgument
                                                                                                                                                                          Definition: io.hpp:32
                                                                                                                                                                          std::vector< CatalogStar > Catalog
                                                                                                                                                                          Definition: star-utils.hpp:100
                                                                                                                                                                          -
                                                                                                                                                                          cairo_surface_t * GrayscaleImageToSurface(const unsigned char *image, const int width, const int height)
                                                                                                                                                                          Definition: io.cpp:148
                                                                                                                                                                          -
                                                                                                                                                                          std::ostream & operator<<(std::ostream &os, const Camera &camera)
                                                                                                                                                                          Print information about the camera in machine and human-readable form.
                                                                                                                                                                          Definition: io.cpp:296
                                                                                                                                                                          +
                                                                                                                                                                          cairo_surface_t * GrayscaleImageToSurface(const unsigned char *image, const int width, const int height)
                                                                                                                                                                          Definition: io.cpp:156
                                                                                                                                                                          +
                                                                                                                                                                          std::ostream & operator<<(std::ostream &os, const Camera &camera)
                                                                                                                                                                          Print information about the camera in machine and human-readable form.
                                                                                                                                                                          Definition: io.cpp:304
                                                                                                                                                                          -
                                                                                                                                                                          The result of running a pipeline.
                                                                                                                                                                          Definition: io.hpp:189
                                                                                                                                                                          -
                                                                                                                                                                          Catalog catalog
                                                                                                                                                                          The catalog that the indices in starIds refer to.
                                                                                                                                                                          Definition: io.hpp:204
                                                                                                                                                                          -
                                                                                                                                                                          long long centroidingTimeNs
                                                                                                                                                                          How many nanoseconds the centroiding stage of the pipeline took.
                                                                                                                                                                          Definition: io.hpp:196
                                                                                                                                                                          -
                                                                                                                                                                          std::unique_ptr< Stars > stars
                                                                                                                                                                          Definition: io.hpp:190
                                                                                                                                                                          -
                                                                                                                                                                          long long starIdTimeNs
                                                                                                                                                                          Definition: io.hpp:197
                                                                                                                                                                          -
                                                                                                                                                                          long long attitudeEstimationTimeNs
                                                                                                                                                                          Definition: io.hpp:198
                                                                                                                                                                          -
                                                                                                                                                                          std::unique_ptr< Attitude > attitude
                                                                                                                                                                          Definition: io.hpp:192
                                                                                                                                                                          -
                                                                                                                                                                          std::unique_ptr< StarIdentifiers > starIds
                                                                                                                                                                          Definition: io.hpp:191
                                                                                                                                                                          -
                                                                                                                                                                          The result of comparing an actual star identification with the true star idenification,...
                                                                                                                                                                          Definition: io.hpp:208
                                                                                                                                                                          -
                                                                                                                                                                          int numCorrect
                                                                                                                                                                          The number of centroids in the image which are close to an expected centroid that had an expected ide...
                                                                                                                                                                          Definition: io.hpp:211
                                                                                                                                                                          -
                                                                                                                                                                          int numTotal
                                                                                                                                                                          The number of centroids sufficiently close to a true expected star.
                                                                                                                                                                          Definition: io.hpp:219
                                                                                                                                                                          -
                                                                                                                                                                          int numIncorrect
                                                                                                                                                                          The number of centroids which were either:
                                                                                                                                                                          Definition: io.hpp:216
                                                                                                                                                                          +
                                                                                                                                                                          The result of running a pipeline.
                                                                                                                                                                          Definition: io.hpp:190
                                                                                                                                                                          +
                                                                                                                                                                          Catalog catalog
                                                                                                                                                                          The catalog that the indices in starIds refer to.
                                                                                                                                                                          Definition: io.hpp:205
                                                                                                                                                                          +
                                                                                                                                                                          long long centroidingTimeNs
                                                                                                                                                                          How many nanoseconds the centroiding stage of the pipeline took.
                                                                                                                                                                          Definition: io.hpp:197
                                                                                                                                                                          +
                                                                                                                                                                          std::unique_ptr< Stars > stars
                                                                                                                                                                          Definition: io.hpp:191
                                                                                                                                                                          +
                                                                                                                                                                          long long starIdTimeNs
                                                                                                                                                                          Definition: io.hpp:198
                                                                                                                                                                          +
                                                                                                                                                                          long long attitudeEstimationTimeNs
                                                                                                                                                                          Definition: io.hpp:199
                                                                                                                                                                          +
                                                                                                                                                                          std::unique_ptr< Attitude > attitude
                                                                                                                                                                          Definition: io.hpp:193
                                                                                                                                                                          +
                                                                                                                                                                          std::unique_ptr< StarIdentifiers > starIds
                                                                                                                                                                          Definition: io.hpp:192
                                                                                                                                                                          +
                                                                                                                                                                          The result of comparing an actual star identification with the true star idenification,...
                                                                                                                                                                          Definition: io.hpp:209
                                                                                                                                                                          +
                                                                                                                                                                          int numCorrect
                                                                                                                                                                          The number of centroids in the image which are close to an expected centroid that had an expected ide...
                                                                                                                                                                          Definition: io.hpp:212
                                                                                                                                                                          +
                                                                                                                                                                          int numTotal
                                                                                                                                                                          The number of centroids sufficiently close to a true expected star.
                                                                                                                                                                          Definition: io.hpp:220
                                                                                                                                                                          +
                                                                                                                                                                          int numIncorrect
                                                                                                                                                                          The number of centroids which were either:
                                                                                                                                                                          Definition: io.hpp:217
                                                                                                                                                                          diff --git a/main_8cpp.html b/main_8cpp.html index 7d507c14..38e699d5 100644 --- a/main_8cpp.html +++ b/main_8cpp.html @@ -92,8 +92,10 @@
                                                                                                                                                                          #include <assert.h>
                                                                                                                                                                          +#include <sys/types.h>
                                                                                                                                                                          #include <unistd.h>
                                                                                                                                                                          #include <getopt.h>
                                                                                                                                                                          +#include <bitset>
                                                                                                                                                                          #include <string>
                                                                                                                                                                          #include <iostream>
                                                                                                                                                                          #include <fstream>
                                                                                                                                                                          @@ -102,6 +104,7 @@ #include <map>
                                                                                                                                                                          #include "databases.hpp"
                                                                                                                                                                          #include "centroiders.hpp"
                                                                                                                                                                          +#include "decimal.hpp"
                                                                                                                                                                          #include "io.hpp"
                                                                                                                                                                          #include "man-database.h"
                                                                                                                                                                          #include "man-pipeline.h"
                                                                                                                                                                          @@ -112,40 +115,44 @@
                                                                                                                                                                          - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                          @@ -352,7 +359,7 @@

                                                                                                                                                                          } \

                                                                                                                                                                          } \
                                                                                                                                                                          break;
                                                                                                                                                                          -
                                                                                                                                                                          #define LOST_OPTIONAL_OPTARG()
                                                                                                                                                                          Handle optional CLI arguments https://stackoverflow.com/a/69177115.
                                                                                                                                                                          Definition: main.cpp:112
                                                                                                                                                                          +
                                                                                                                                                                          #define LOST_OPTIONAL_OPTARG()
                                                                                                                                                                          Handle optional CLI arguments https://stackoverflow.com/a/69177115.
                                                                                                                                                                          Definition: main.cpp:122
                                                                                                                                                                          @@ -547,7 +554,7 @@

                                                                                                                                                                          https://stackoverflow.com/a/69177115.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 112 of file main.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 122 of file main.cpp.

                                                                                                                                                                          @@ -578,7 +585,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 242 of file main.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 252 of file main.cpp.

                                                                                                                                                                          @@ -588,7 +595,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/main_8cpp__incl.map b/main_8cpp__incl.map index c9a4aa5f..c746242c 100644 --- a/main_8cpp__incl.map +++ b/main_8cpp__incl.map @@ -1,36 +1,40 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/main_8cpp__incl.md5 b/main_8cpp__incl.md5 index 7daffa23..dc35a681 100644 --- a/main_8cpp__incl.md5 +++ b/main_8cpp__incl.md5 @@ -1 +1 @@ -5c0620dd1220ccb4a89dbd33e7e962ef \ No newline at end of file +e4b7d3d77094ac4dbf360f7009468c62 \ No newline at end of file diff --git a/main_8cpp__incl.png b/main_8cpp__incl.png index 35fee04d..62998359 100644 Binary files a/main_8cpp__incl.png and b/main_8cpp__incl.png differ diff --git a/main_8cpp_source.html b/main_8cpp_source.html index 3104947c..e30dbe7d 100644 --- a/main_8cpp_source.html +++ b/main_8cpp_source.html @@ -89,256 +89,269 @@
                                                                                                                                                                          Go to the documentation of this file.
                                                                                                                                                                          1 
                                                                                                                                                                          7 #include <assert.h>
                                                                                                                                                                          -
                                                                                                                                                                          8 #include <unistd.h>
                                                                                                                                                                          -
                                                                                                                                                                          9 #include <getopt.h>
                                                                                                                                                                          -
                                                                                                                                                                          10 
                                                                                                                                                                          -
                                                                                                                                                                          11 #include <string>
                                                                                                                                                                          -
                                                                                                                                                                          12 #include <iostream>
                                                                                                                                                                          -
                                                                                                                                                                          13 #include <fstream>
                                                                                                                                                                          -
                                                                                                                                                                          14 #include <chrono>
                                                                                                                                                                          -
                                                                                                                                                                          15 #include <cstring>
                                                                                                                                                                          -
                                                                                                                                                                          16 #include <map>
                                                                                                                                                                          -
                                                                                                                                                                          17 
                                                                                                                                                                          -
                                                                                                                                                                          18 #include "databases.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          19 #include "centroiders.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          20 #include "io.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          21 #include "man-database.h"
                                                                                                                                                                          -
                                                                                                                                                                          22 #include "man-pipeline.h"
                                                                                                                                                                          -
                                                                                                                                                                          23 
                                                                                                                                                                          -
                                                                                                                                                                          24 namespace lost {
                                                                                                                                                                          -
                                                                                                                                                                          25 
                                                                                                                                                                          -
                                                                                                                                                                          27 static void DatabaseBuild(const DatabaseOptions &values) {
                                                                                                                                                                          -
                                                                                                                                                                          28  Catalog narrowedCatalog = NarrowCatalog(CatalogRead(), (int) (values.minMag * 100), values.maxStars, DegToRad(values.minSeparation));
                                                                                                                                                                          -
                                                                                                                                                                          29  std::cerr << "Narrowed catalog has " << narrowedCatalog.size() << " stars." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          30 
                                                                                                                                                                          -
                                                                                                                                                                          31  MultiDatabaseDescriptor dbEntries = GenerateDatabases(narrowedCatalog, values);
                                                                                                                                                                          -
                                                                                                                                                                          32  SerializeContext ser = serFromDbValues(values);
                                                                                                                                                                          -
                                                                                                                                                                          33  SerializeMultiDatabase(&ser, dbEntries);
                                                                                                                                                                          -
                                                                                                                                                                          34 
                                                                                                                                                                          -
                                                                                                                                                                          35  std::cerr << "Generated database with " << ser.buffer.size() << " bytes" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          8 #include <sys/types.h>
                                                                                                                                                                          +
                                                                                                                                                                          9 #include <unistd.h>
                                                                                                                                                                          +
                                                                                                                                                                          10 #include <getopt.h>
                                                                                                                                                                          +
                                                                                                                                                                          11 
                                                                                                                                                                          +
                                                                                                                                                                          12 #include <bitset>
                                                                                                                                                                          +
                                                                                                                                                                          13 #include <string>
                                                                                                                                                                          +
                                                                                                                                                                          14 #include <iostream>
                                                                                                                                                                          +
                                                                                                                                                                          15 #include <fstream>
                                                                                                                                                                          +
                                                                                                                                                                          16 #include <chrono>
                                                                                                                                                                          +
                                                                                                                                                                          17 #include <cstring>
                                                                                                                                                                          +
                                                                                                                                                                          18 #include <map>
                                                                                                                                                                          +
                                                                                                                                                                          19 
                                                                                                                                                                          +
                                                                                                                                                                          20 #include "databases.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          21 #include "centroiders.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          22 #include "decimal.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          23 #include "io.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          24 #include "man-database.h"
                                                                                                                                                                          +
                                                                                                                                                                          25 #include "man-pipeline.h"
                                                                                                                                                                          +
                                                                                                                                                                          26 
                                                                                                                                                                          +
                                                                                                                                                                          27 namespace lost {
                                                                                                                                                                          +
                                                                                                                                                                          28 
                                                                                                                                                                          +
                                                                                                                                                                          30 static void DatabaseBuild(const DatabaseOptions &values) {
                                                                                                                                                                          +
                                                                                                                                                                          31  Catalog narrowedCatalog = NarrowCatalog(CatalogRead(), (int) (values.minMag * 100), values.maxStars, DegToRad(values.minSeparation));
                                                                                                                                                                          +
                                                                                                                                                                          32  std::cerr << "Narrowed catalog has " << narrowedCatalog.size() << " stars." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          33 
                                                                                                                                                                          +
                                                                                                                                                                          34  MultiDatabaseDescriptor dbEntries = GenerateDatabases(narrowedCatalog, values);
                                                                                                                                                                          +
                                                                                                                                                                          35  SerializeContext ser = serFromDbValues(values);
                                                                                                                                                                          36 
                                                                                                                                                                          -
                                                                                                                                                                          37  UserSpecifiedOutputStream pos = UserSpecifiedOutputStream(values.outputPath, true);
                                                                                                                                                                          -
                                                                                                                                                                          38  pos.Stream().write((char *) ser.buffer.data(), ser.buffer.size());
                                                                                                                                                                          -
                                                                                                                                                                          39 
                                                                                                                                                                          -
                                                                                                                                                                          40 }
                                                                                                                                                                          -
                                                                                                                                                                          41 
                                                                                                                                                                          -
                                                                                                                                                                          43 static void PipelineRun(const PipelineOptions &values) {
                                                                                                                                                                          -
                                                                                                                                                                          44  PipelineInputList input = GetPipelineInput(values);
                                                                                                                                                                          -
                                                                                                                                                                          45  Pipeline pipeline = SetPipeline(values);
                                                                                                                                                                          -
                                                                                                                                                                          46  std::vector<PipelineOutput> outputs = pipeline.Go(input);
                                                                                                                                                                          -
                                                                                                                                                                          47  PipelineComparison(input, outputs, values);
                                                                                                                                                                          -
                                                                                                                                                                          48 }
                                                                                                                                                                          +
                                                                                                                                                                          37  // Create & Set Flags.
                                                                                                                                                                          +
                                                                                                                                                                          38  uint32_t dbFlags = 0;
                                                                                                                                                                          +
                                                                                                                                                                          39  dbFlags |= typeid(decimal) == typeid(float) ? MULTI_DB_FLOAT_FLAG : 0;
                                                                                                                                                                          +
                                                                                                                                                                          40 
                                                                                                                                                                          +
                                                                                                                                                                          41  // Serialize Flags
                                                                                                                                                                          +
                                                                                                                                                                          42  SerializeMultiDatabase(&ser, dbEntries, dbFlags);
                                                                                                                                                                          +
                                                                                                                                                                          43 
                                                                                                                                                                          +
                                                                                                                                                                          44  std::cerr << "Generated database with " << ser.buffer.size() << " bytes" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          45  std::cerr << "Database flagged with " << std::bitset<8*sizeof(dbFlags)>(dbFlags) << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          46 
                                                                                                                                                                          +
                                                                                                                                                                          47  UserSpecifiedOutputStream pos = UserSpecifiedOutputStream(values.outputPath, true);
                                                                                                                                                                          +
                                                                                                                                                                          48  pos.Stream().write((char *) ser.buffer.data(), ser.buffer.size());
                                                                                                                                                                          49 
                                                                                                                                                                          -
                                                                                                                                                                          50 // DO NOT DELETE
                                                                                                                                                                          -
                                                                                                                                                                          51 // static void PipelineBenchmark() {
                                                                                                                                                                          -
                                                                                                                                                                          52 // PipelineInputList input = PromptPipelineInput();
                                                                                                                                                                          -
                                                                                                                                                                          53 // Pipeline pipeline = PromptPipeline();
                                                                                                                                                                          -
                                                                                                                                                                          54 // int iterations = Prompt<int>("Times to run the pipeline");
                                                                                                                                                                          -
                                                                                                                                                                          55 // std::cerr << "Benchmarking..." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          56 
                                                                                                                                                                          -
                                                                                                                                                                          57 // // TODO: we can do better than this :| maybe include mean time, 99% time, or allow a vector of
                                                                                                                                                                          -
                                                                                                                                                                          58 // // input and determine which one took the longest
                                                                                                                                                                          -
                                                                                                                                                                          59 // auto startTime = std::chrono::high_resolution_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          60 // for (int i = 0; i < iterations; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          61 // pipeline.Go(input);
                                                                                                                                                                          -
                                                                                                                                                                          62 // }
                                                                                                                                                                          -
                                                                                                                                                                          63 // auto endTime = std::chrono::high_resolution_clock::now();
                                                                                                                                                                          -
                                                                                                                                                                          64 // auto totalTime = std::chrono::duration<double, std::milli>(endTime - startTime);
                                                                                                                                                                          -
                                                                                                                                                                          65 // std::cout << "total_ms " << totalTime.count() << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          66 // }
                                                                                                                                                                          -
                                                                                                                                                                          67 
                                                                                                                                                                          -
                                                                                                                                                                          68 // static void EstimateCamera() {
                                                                                                                                                                          -
                                                                                                                                                                          69 // std::cerr << "Enter estimated camera details when prompted." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          70 // PipelineInputList inputs = PromptPngPipelineInput();
                                                                                                                                                                          -
                                                                                                                                                                          71 // float baseFocalLength = inputs[0]->InputCamera()->FocalLength();
                                                                                                                                                                          -
                                                                                                                                                                          72 // float deviationIncrement = Prompt<float>("Focal length increment (base: " + std::to_string(baseFocalLength) + ")");
                                                                                                                                                                          -
                                                                                                                                                                          73 // float deviationMax = Prompt<float>("Maximum focal length deviation to attempt");
                                                                                                                                                                          -
                                                                                                                                                                          74 // Pipeline pipeline = PromptPipeline();
                                                                                                                                                                          -
                                                                                                                                                                          75 
                                                                                                                                                                          -
                                                                                                                                                                          76 // while (inputs[0]->InputCamera()->FocalLength() - baseFocalLength <= deviationMax) {
                                                                                                                                                                          -
                                                                                                                                                                          77 // std::cerr << "Attempt focal length " << inputs[0]->InputCamera()->FocalLength() << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          78 // std::vector<PipelineOutput> outputs = pipeline.Go(inputs);
                                                                                                                                                                          -
                                                                                                                                                                          79 // if (outputs[0].nice) {
                                                                                                                                                                          -
                                                                                                                                                                          80 // std::cout << "camera_identified true" << std::endl << *inputs[0]->InputCamera();
                                                                                                                                                                          -
                                                                                                                                                                          81 // return;
                                                                                                                                                                          -
                                                                                                                                                                          82 // }
                                                                                                                                                                          -
                                                                                                                                                                          83 
                                                                                                                                                                          -
                                                                                                                                                                          84 // Camera camera(*inputs[0]->InputCamera());
                                                                                                                                                                          -
                                                                                                                                                                          85 // if (camera.FocalLength() - baseFocalLength > 0) {
                                                                                                                                                                          -
                                                                                                                                                                          86 // // yes i know this expression can be simplified shut up
                                                                                                                                                                          -
                                                                                                                                                                          87 // camera.SetFocalLength(camera.FocalLength() - 2*(camera.FocalLength() - baseFocalLength));
                                                                                                                                                                          -
                                                                                                                                                                          88 // } else {
                                                                                                                                                                          -
                                                                                                                                                                          89 // camera.SetFocalLength(camera.FocalLength() + 2*(baseFocalLength - camera.FocalLength()) + deviationIncrement);
                                                                                                                                                                          -
                                                                                                                                                                          90 // }
                                                                                                                                                                          -
                                                                                                                                                                          91 // ((PngPipelineInput *)(inputs[0].get()))->SetCamera(camera);
                                                                                                                                                                          -
                                                                                                                                                                          92 // }
                                                                                                                                                                          -
                                                                                                                                                                          93 // std::cout << "camera_identified false" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          94 // }
                                                                                                                                                                          -
                                                                                                                                                                          95 
                                                                                                                                                                          -
                                                                                                                                                                          97 bool atobool(const char *cstr) {
                                                                                                                                                                          -
                                                                                                                                                                          98  std::string str(cstr);
                                                                                                                                                                          -
                                                                                                                                                                          99  if (str == "1" || str == "true") {
                                                                                                                                                                          -
                                                                                                                                                                          100  return true;
                                                                                                                                                                          -
                                                                                                                                                                          101  }
                                                                                                                                                                          -
                                                                                                                                                                          102  if (str == "0" || str == "false") {
                                                                                                                                                                          -
                                                                                                                                                                          103  return false;
                                                                                                                                                                          -
                                                                                                                                                                          104  }
                                                                                                                                                                          -
                                                                                                                                                                          105  assert(false);
                                                                                                                                                                          -
                                                                                                                                                                          106 }
                                                                                                                                                                          -
                                                                                                                                                                          107 
                                                                                                                                                                          -
                                                                                                                                                                          112 #define LOST_OPTIONAL_OPTARG() \
                                                                                                                                                                          -
                                                                                                                                                                          113  ((optarg == NULL && optind < argc && argv[optind][0] != '-') \
                                                                                                                                                                          -
                                                                                                                                                                          114  ? (bool) (optarg = argv[optind++]) \
                                                                                                                                                                          -
                                                                                                                                                                          115  : (optarg != NULL))
                                                                                                                                                                          -
                                                                                                                                                                          116 
                                                                                                                                                                          -
                                                                                                                                                                          117 // This is separate from `main` just because it's in the `lost` namespace
                                                                                                                                                                          -
                                                                                                                                                                          118 static int LostMain(int argc, char **argv) {
                                                                                                                                                                          -
                                                                                                                                                                          119 
                                                                                                                                                                          -
                                                                                                                                                                          120  if (argc == 1) {
                                                                                                                                                                          -
                                                                                                                                                                          121  std::cout << "Usage: ./lost database or ./lost pipeline" << std::endl
                                                                                                                                                                          -
                                                                                                                                                                          122  << "Use --help flag on those commands for further help" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          123  return 0;
                                                                                                                                                                          -
                                                                                                                                                                          124  }
                                                                                                                                                                          -
                                                                                                                                                                          125 
                                                                                                                                                                          -
                                                                                                                                                                          126  std::string command(argv[1]);
                                                                                                                                                                          -
                                                                                                                                                                          127  optind = 2;
                                                                                                                                                                          -
                                                                                                                                                                          128 
                                                                                                                                                                          -
                                                                                                                                                                          129  if (command == "database") {
                                                                                                                                                                          -
                                                                                                                                                                          130 
                                                                                                                                                                          -
                                                                                                                                                                          131  enum class DatabaseCliOption {
                                                                                                                                                                          -
                                                                                                                                                                          132 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) prop,
                                                                                                                                                                          -
                                                                                                                                                                          133 #include "database-options.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          134 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          135  help
                                                                                                                                                                          -
                                                                                                                                                                          136  };
                                                                                                                                                                          -
                                                                                                                                                                          137 
                                                                                                                                                                          -
                                                                                                                                                                          138  static struct option long_options[] = {
                                                                                                                                                                          -
                                                                                                                                                                          139 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          -
                                                                                                                                                                          140  {name, \
                                                                                                                                                                          -
                                                                                                                                                                          141  defaultArg == 0 ? required_argument : optional_argument, \
                                                                                                                                                                          -
                                                                                                                                                                          142  0, \
                                                                                                                                                                          -
                                                                                                                                                                          143  (int)DatabaseCliOption::prop},
                                                                                                                                                                          -
                                                                                                                                                                          144 #include "database-options.hpp" // NOLINT
                                                                                                                                                                          -
                                                                                                                                                                          145 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          146  {"help", no_argument, 0, (int) DatabaseCliOption::help},
                                                                                                                                                                          -
                                                                                                                                                                          147  {0}
                                                                                                                                                                          -
                                                                                                                                                                          148  };
                                                                                                                                                                          -
                                                                                                                                                                          149 
                                                                                                                                                                          -
                                                                                                                                                                          150  DatabaseOptions databaseOptions;
                                                                                                                                                                          -
                                                                                                                                                                          151  int index;
                                                                                                                                                                          -
                                                                                                                                                                          152  int option;
                                                                                                                                                                          -
                                                                                                                                                                          153 
                                                                                                                                                                          -
                                                                                                                                                                          154  while ((option = getopt_long(argc, argv, "", long_options, &index)) != -1) {
                                                                                                                                                                          -
                                                                                                                                                                          155  switch (option) {
                                                                                                                                                                          -
                                                                                                                                                                          156 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          -
                                                                                                                                                                          157  case (int)DatabaseCliOption::prop : \
                                                                                                                                                                          -
                                                                                                                                                                          158  if (defaultArg == 0) { \
                                                                                                                                                                          -
                                                                                                                                                                          159  databaseOptions.prop = converter; \
                                                                                                                                                                          -
                                                                                                                                                                          160  } else { \
                                                                                                                                                                          -
                                                                                                                                                                          161  if (LOST_OPTIONAL_OPTARG()) { \
                                                                                                                                                                          -
                                                                                                                                                                          162  databaseOptions.prop = converter; \
                                                                                                                                                                          -
                                                                                                                                                                          163  } else { \
                                                                                                                                                                          -
                                                                                                                                                                          164  databaseOptions.prop = defaultArg; \
                                                                                                                                                                          -
                                                                                                                                                                          165  } \
                                                                                                                                                                          -
                                                                                                                                                                          166  } \
                                                                                                                                                                          -
                                                                                                                                                                          167  break;
                                                                                                                                                                          -
                                                                                                                                                                          168 #include "database-options.hpp" // NOLINT
                                                                                                                                                                          -
                                                                                                                                                                          169 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          170  case (int) DatabaseCliOption::help :std::cout << documentation_database_txt << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          171  return 0;
                                                                                                                                                                          -
                                                                                                                                                                          172  break;
                                                                                                                                                                          -
                                                                                                                                                                          173  default :std::cout << "Illegal flag" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          174  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          175  }
                                                                                                                                                                          -
                                                                                                                                                                          176  }
                                                                                                                                                                          -
                                                                                                                                                                          177 
                                                                                                                                                                          -
                                                                                                                                                                          178  lost::DatabaseBuild(databaseOptions);
                                                                                                                                                                          -
                                                                                                                                                                          179 
                                                                                                                                                                          -
                                                                                                                                                                          180  } else if (command == "pipeline") {
                                                                                                                                                                          -
                                                                                                                                                                          181 
                                                                                                                                                                          -
                                                                                                                                                                          182  enum class PipelineCliOption {
                                                                                                                                                                          -
                                                                                                                                                                          183 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) prop,
                                                                                                                                                                          -
                                                                                                                                                                          184 #include "pipeline-options.hpp"
                                                                                                                                                                          -
                                                                                                                                                                          185 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          186  help
                                                                                                                                                                          -
                                                                                                                                                                          187  };
                                                                                                                                                                          -
                                                                                                                                                                          188 
                                                                                                                                                                          -
                                                                                                                                                                          189  static struct option long_options[] = {
                                                                                                                                                                          -
                                                                                                                                                                          190 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          -
                                                                                                                                                                          191  {name, \
                                                                                                                                                                          -
                                                                                                                                                                          192  defaultArg == 0 ? required_argument : optional_argument, \
                                                                                                                                                                          -
                                                                                                                                                                          193  0, \
                                                                                                                                                                          -
                                                                                                                                                                          194  (int)PipelineCliOption::prop},
                                                                                                                                                                          -
                                                                                                                                                                          195 #include "pipeline-options.hpp" // NOLINT
                                                                                                                                                                          -
                                                                                                                                                                          196 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          197 
                                                                                                                                                                          -
                                                                                                                                                                          198  // DATABASES
                                                                                                                                                                          -
                                                                                                                                                                          199  {"help", no_argument, 0, (int) PipelineCliOption::help},
                                                                                                                                                                          -
                                                                                                                                                                          200  {0, 0, 0, 0}
                                                                                                                                                                          -
                                                                                                                                                                          201  };
                                                                                                                                                                          -
                                                                                                                                                                          202 
                                                                                                                                                                          -
                                                                                                                                                                          203  lost::PipelineOptions pipelineOptions;
                                                                                                                                                                          -
                                                                                                                                                                          204  int index;
                                                                                                                                                                          -
                                                                                                                                                                          205  int option;
                                                                                                                                                                          -
                                                                                                                                                                          206 
                                                                                                                                                                          -
                                                                                                                                                                          207  while ((option = getopt_long(argc, argv, "", long_options, &index)) != -1) {
                                                                                                                                                                          -
                                                                                                                                                                          208  switch (option) {
                                                                                                                                                                          -
                                                                                                                                                                          209 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          -
                                                                                                                                                                          210  case (int)PipelineCliOption::prop : \
                                                                                                                                                                          -
                                                                                                                                                                          211  if (defaultArg == 0) { \
                                                                                                                                                                          -
                                                                                                                                                                          212  pipelineOptions.prop = converter; \
                                                                                                                                                                          -
                                                                                                                                                                          213  } else { \
                                                                                                                                                                          -
                                                                                                                                                                          214  if (LOST_OPTIONAL_OPTARG()) { \
                                                                                                                                                                          -
                                                                                                                                                                          215  pipelineOptions.prop = converter; \
                                                                                                                                                                          -
                                                                                                                                                                          216  } else { \
                                                                                                                                                                          -
                                                                                                                                                                          217  pipelineOptions.prop = defaultArg; \
                                                                                                                                                                          -
                                                                                                                                                                          218  } \
                                                                                                                                                                          -
                                                                                                                                                                          219  } \
                                                                                                                                                                          -
                                                                                                                                                                          220  break;
                                                                                                                                                                          -
                                                                                                                                                                          221 #include "pipeline-options.hpp" // NOLINT
                                                                                                                                                                          -
                                                                                                                                                                          222 #undef LOST_CLI_OPTION
                                                                                                                                                                          -
                                                                                                                                                                          223  case (int) PipelineCliOption::help :std::cout << documentation_pipeline_txt << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          224  return 0;
                                                                                                                                                                          -
                                                                                                                                                                          225  break;
                                                                                                                                                                          -
                                                                                                                                                                          226  default :std::cout << "Illegal flag" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          227  exit(1);
                                                                                                                                                                          -
                                                                                                                                                                          228  }
                                                                                                                                                                          -
                                                                                                                                                                          229  }
                                                                                                                                                                          -
                                                                                                                                                                          230 
                                                                                                                                                                          -
                                                                                                                                                                          231  lost::PipelineRun(pipelineOptions);
                                                                                                                                                                          -
                                                                                                                                                                          232 
                                                                                                                                                                          -
                                                                                                                                                                          233  } else {
                                                                                                                                                                          -
                                                                                                                                                                          234  std::cout << "Usage: ./lost database or ./lost pipeline" << std::endl
                                                                                                                                                                          -
                                                                                                                                                                          235  << "Use --help flag on those commands for further help" << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          236  }
                                                                                                                                                                          -
                                                                                                                                                                          237  return 0;
                                                                                                                                                                          -
                                                                                                                                                                          238 }
                                                                                                                                                                          -
                                                                                                                                                                          239 
                                                                                                                                                                          -
                                                                                                                                                                          240 }
                                                                                                                                                                          -
                                                                                                                                                                          241 
                                                                                                                                                                          -
                                                                                                                                                                          242 int main(int argc, char **argv) {
                                                                                                                                                                          -
                                                                                                                                                                          243  return lost::LostMain(argc, argv);
                                                                                                                                                                          -
                                                                                                                                                                          244 }
                                                                                                                                                                          +
                                                                                                                                                                          50 }
                                                                                                                                                                          +
                                                                                                                                                                          51 
                                                                                                                                                                          +
                                                                                                                                                                          53 static void PipelineRun(const PipelineOptions &values) {
                                                                                                                                                                          +
                                                                                                                                                                          54  PipelineInputList input = GetPipelineInput(values);
                                                                                                                                                                          +
                                                                                                                                                                          55  Pipeline pipeline = SetPipeline(values);
                                                                                                                                                                          +
                                                                                                                                                                          56  std::vector<PipelineOutput> outputs = pipeline.Go(input);
                                                                                                                                                                          +
                                                                                                                                                                          57  PipelineComparison(input, outputs, values);
                                                                                                                                                                          +
                                                                                                                                                                          58 }
                                                                                                                                                                          +
                                                                                                                                                                          59 
                                                                                                                                                                          +
                                                                                                                                                                          60 // DO NOT DELETE
                                                                                                                                                                          +
                                                                                                                                                                          61 // static void PipelineBenchmark() {
                                                                                                                                                                          +
                                                                                                                                                                          62 // PipelineInputList input = PromptPipelineInput();
                                                                                                                                                                          +
                                                                                                                                                                          63 // Pipeline pipeline = PromptPipeline();
                                                                                                                                                                          +
                                                                                                                                                                          64 // int iterations = Prompt<int>("Times to run the pipeline");
                                                                                                                                                                          +
                                                                                                                                                                          65 // std::cerr << "Benchmarking..." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          66 
                                                                                                                                                                          +
                                                                                                                                                                          67 // // TODO: we can do better than this :| maybe include mean time, 99% time, or allow a vector of
                                                                                                                                                                          +
                                                                                                                                                                          68 // // input and determine which one took the longest
                                                                                                                                                                          +
                                                                                                                                                                          69 // auto startTime = std::chrono::high_resolution_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          70 // for (int i = 0; i < iterations; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          71 // pipeline.Go(input);
                                                                                                                                                                          +
                                                                                                                                                                          72 // }
                                                                                                                                                                          +
                                                                                                                                                                          73 // auto endTime = std::chrono::high_resolution_clock::now();
                                                                                                                                                                          +
                                                                                                                                                                          74 // auto totalTime = std::chrono::duration<double, std::milli>(endTime - startTime);
                                                                                                                                                                          +
                                                                                                                                                                          75 // std::cout << "total_ms " << totalTime.count() << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          76 // }
                                                                                                                                                                          +
                                                                                                                                                                          77 
                                                                                                                                                                          +
                                                                                                                                                                          78 // static void EstimateCamera() {
                                                                                                                                                                          +
                                                                                                                                                                          79 // std::cerr << "Enter estimated camera details when prompted." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          80 // PipelineInputList inputs = PromptPngPipelineInput();
                                                                                                                                                                          +
                                                                                                                                                                          81 // float baseFocalLength = inputs[0]->InputCamera()->FocalLength();
                                                                                                                                                                          +
                                                                                                                                                                          82 // float deviationIncrement = Prompt<float>("Focal length increment (base: " + std::to_string(baseFocalLength) + ")");
                                                                                                                                                                          +
                                                                                                                                                                          83 // float deviationMax = Prompt<float>("Maximum focal length deviation to attempt");
                                                                                                                                                                          +
                                                                                                                                                                          84 // Pipeline pipeline = PromptPipeline();
                                                                                                                                                                          +
                                                                                                                                                                          85 
                                                                                                                                                                          +
                                                                                                                                                                          86 // while (inputs[0]->InputCamera()->FocalLength() - baseFocalLength <= deviationMax) {
                                                                                                                                                                          +
                                                                                                                                                                          87 // std::cerr << "Attempt focal length " << inputs[0]->InputCamera()->FocalLength() << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          88 // std::vector<PipelineOutput> outputs = pipeline.Go(inputs);
                                                                                                                                                                          +
                                                                                                                                                                          89 // if (outputs[0].nice) {
                                                                                                                                                                          +
                                                                                                                                                                          90 // std::cout << "camera_identified true" << std::endl << *inputs[0]->InputCamera();
                                                                                                                                                                          +
                                                                                                                                                                          91 // return;
                                                                                                                                                                          +
                                                                                                                                                                          92 // }
                                                                                                                                                                          +
                                                                                                                                                                          93 
                                                                                                                                                                          +
                                                                                                                                                                          94 // Camera camera(*inputs[0]->InputCamera());
                                                                                                                                                                          +
                                                                                                                                                                          95 // if (camera.FocalLength() - baseFocalLength > 0) {
                                                                                                                                                                          +
                                                                                                                                                                          96 // // yes i know this expression can be simplified shut up
                                                                                                                                                                          +
                                                                                                                                                                          97 // camera.SetFocalLength(camera.FocalLength() - 2*(camera.FocalLength() - baseFocalLength));
                                                                                                                                                                          +
                                                                                                                                                                          98 // } else {
                                                                                                                                                                          +
                                                                                                                                                                          99 // camera.SetFocalLength(camera.FocalLength() + 2*(baseFocalLength - camera.FocalLength()) + deviationIncrement);
                                                                                                                                                                          +
                                                                                                                                                                          100 // }
                                                                                                                                                                          +
                                                                                                                                                                          101 // ((PngPipelineInput *)(inputs[0].get()))->SetCamera(camera);
                                                                                                                                                                          +
                                                                                                                                                                          102 // }
                                                                                                                                                                          +
                                                                                                                                                                          103 // std::cout << "camera_identified false" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          104 // }
                                                                                                                                                                          +
                                                                                                                                                                          105 
                                                                                                                                                                          +
                                                                                                                                                                          107 bool atobool(const char *cstr) {
                                                                                                                                                                          +
                                                                                                                                                                          108  std::string str(cstr);
                                                                                                                                                                          +
                                                                                                                                                                          109  if (str == "1" || str == "true") {
                                                                                                                                                                          +
                                                                                                                                                                          110  return true;
                                                                                                                                                                          +
                                                                                                                                                                          111  }
                                                                                                                                                                          +
                                                                                                                                                                          112  if (str == "0" || str == "false") {
                                                                                                                                                                          +
                                                                                                                                                                          113  return false;
                                                                                                                                                                          +
                                                                                                                                                                          114  }
                                                                                                                                                                          +
                                                                                                                                                                          115  assert(false);
                                                                                                                                                                          +
                                                                                                                                                                          116 }
                                                                                                                                                                          +
                                                                                                                                                                          117 
                                                                                                                                                                          +
                                                                                                                                                                          122 #define LOST_OPTIONAL_OPTARG() \
                                                                                                                                                                          +
                                                                                                                                                                          123  ((optarg == NULL && optind < argc && argv[optind][0] != '-') \
                                                                                                                                                                          +
                                                                                                                                                                          124  ? (bool) (optarg = argv[optind++]) \
                                                                                                                                                                          +
                                                                                                                                                                          125  : (optarg != NULL))
                                                                                                                                                                          +
                                                                                                                                                                          126 
                                                                                                                                                                          +
                                                                                                                                                                          127 // This is separate from `main` just because it's in the `lost` namespace
                                                                                                                                                                          +
                                                                                                                                                                          128 static int LostMain(int argc, char **argv) {
                                                                                                                                                                          +
                                                                                                                                                                          129 
                                                                                                                                                                          +
                                                                                                                                                                          130  if (argc == 1) {
                                                                                                                                                                          +
                                                                                                                                                                          131  std::cout << "Usage: ./lost database or ./lost pipeline" << std::endl
                                                                                                                                                                          +
                                                                                                                                                                          132  << "Use --help flag on those commands for further help" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          133  return 0;
                                                                                                                                                                          +
                                                                                                                                                                          134  }
                                                                                                                                                                          +
                                                                                                                                                                          135 
                                                                                                                                                                          +
                                                                                                                                                                          136  std::string command(argv[1]);
                                                                                                                                                                          +
                                                                                                                                                                          137  optind = 2;
                                                                                                                                                                          +
                                                                                                                                                                          138 
                                                                                                                                                                          +
                                                                                                                                                                          139  if (command == "database") {
                                                                                                                                                                          +
                                                                                                                                                                          140 
                                                                                                                                                                          +
                                                                                                                                                                          141  enum class DatabaseCliOption {
                                                                                                                                                                          +
                                                                                                                                                                          142 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) prop,
                                                                                                                                                                          +
                                                                                                                                                                          143 #include "database-options.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          144 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          145  help
                                                                                                                                                                          +
                                                                                                                                                                          146  };
                                                                                                                                                                          +
                                                                                                                                                                          147 
                                                                                                                                                                          +
                                                                                                                                                                          148  static struct option long_options[] = {
                                                                                                                                                                          +
                                                                                                                                                                          149 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          +
                                                                                                                                                                          150  {name, \
                                                                                                                                                                          +
                                                                                                                                                                          151  defaultArg == 0 ? required_argument : optional_argument, \
                                                                                                                                                                          +
                                                                                                                                                                          152  0, \
                                                                                                                                                                          +
                                                                                                                                                                          153  (int)DatabaseCliOption::prop},
                                                                                                                                                                          +
                                                                                                                                                                          154 #include "database-options.hpp" // NOLINT
                                                                                                                                                                          +
                                                                                                                                                                          155 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          156  {"help", no_argument, 0, (int) DatabaseCliOption::help},
                                                                                                                                                                          +
                                                                                                                                                                          157  {0}
                                                                                                                                                                          +
                                                                                                                                                                          158  };
                                                                                                                                                                          +
                                                                                                                                                                          159 
                                                                                                                                                                          +
                                                                                                                                                                          160  DatabaseOptions databaseOptions;
                                                                                                                                                                          +
                                                                                                                                                                          161  int index;
                                                                                                                                                                          +
                                                                                                                                                                          162  int option;
                                                                                                                                                                          +
                                                                                                                                                                          163 
                                                                                                                                                                          +
                                                                                                                                                                          164  while ((option = getopt_long(argc, argv, "", long_options, &index)) != -1) {
                                                                                                                                                                          +
                                                                                                                                                                          165  switch (option) {
                                                                                                                                                                          +
                                                                                                                                                                          166 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          +
                                                                                                                                                                          167  case (int)DatabaseCliOption::prop : \
                                                                                                                                                                          +
                                                                                                                                                                          168  if (defaultArg == 0) { \
                                                                                                                                                                          +
                                                                                                                                                                          169  databaseOptions.prop = converter; \
                                                                                                                                                                          +
                                                                                                                                                                          170  } else { \
                                                                                                                                                                          +
                                                                                                                                                                          171  if (LOST_OPTIONAL_OPTARG()) { \
                                                                                                                                                                          +
                                                                                                                                                                          172  databaseOptions.prop = converter; \
                                                                                                                                                                          +
                                                                                                                                                                          173  } else { \
                                                                                                                                                                          +
                                                                                                                                                                          174  databaseOptions.prop = defaultArg; \
                                                                                                                                                                          +
                                                                                                                                                                          175  } \
                                                                                                                                                                          +
                                                                                                                                                                          176  } \
                                                                                                                                                                          +
                                                                                                                                                                          177  break;
                                                                                                                                                                          +
                                                                                                                                                                          178 #include "database-options.hpp" // NOLINT
                                                                                                                                                                          +
                                                                                                                                                                          179 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          180  case (int) DatabaseCliOption::help :std::cout << documentation_database_txt << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          181  return 0;
                                                                                                                                                                          +
                                                                                                                                                                          182  break;
                                                                                                                                                                          +
                                                                                                                                                                          183  default :std::cout << "Illegal flag" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          184  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          185  }
                                                                                                                                                                          +
                                                                                                                                                                          186  }
                                                                                                                                                                          +
                                                                                                                                                                          187 
                                                                                                                                                                          +
                                                                                                                                                                          188  lost::DatabaseBuild(databaseOptions);
                                                                                                                                                                          +
                                                                                                                                                                          189 
                                                                                                                                                                          +
                                                                                                                                                                          190  } else if (command == "pipeline") {
                                                                                                                                                                          +
                                                                                                                                                                          191 
                                                                                                                                                                          +
                                                                                                                                                                          192  enum class PipelineCliOption {
                                                                                                                                                                          +
                                                                                                                                                                          193 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) prop,
                                                                                                                                                                          +
                                                                                                                                                                          194 #include "pipeline-options.hpp"
                                                                                                                                                                          +
                                                                                                                                                                          195 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          196  help
                                                                                                                                                                          +
                                                                                                                                                                          197  };
                                                                                                                                                                          +
                                                                                                                                                                          198 
                                                                                                                                                                          +
                                                                                                                                                                          199  static struct option long_options[] = {
                                                                                                                                                                          +
                                                                                                                                                                          200 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          +
                                                                                                                                                                          201  {name, \
                                                                                                                                                                          +
                                                                                                                                                                          202  defaultArg == 0 ? required_argument : optional_argument, \
                                                                                                                                                                          +
                                                                                                                                                                          203  0, \
                                                                                                                                                                          +
                                                                                                                                                                          204  (int)PipelineCliOption::prop},
                                                                                                                                                                          +
                                                                                                                                                                          205 #include "pipeline-options.hpp" // NOLINT
                                                                                                                                                                          +
                                                                                                                                                                          206 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          207 
                                                                                                                                                                          +
                                                                                                                                                                          208  // DATABASES
                                                                                                                                                                          +
                                                                                                                                                                          209  {"help", no_argument, 0, (int) PipelineCliOption::help},
                                                                                                                                                                          +
                                                                                                                                                                          210  {0, 0, 0, 0}
                                                                                                                                                                          +
                                                                                                                                                                          211  };
                                                                                                                                                                          +
                                                                                                                                                                          212 
                                                                                                                                                                          +
                                                                                                                                                                          213  lost::PipelineOptions pipelineOptions;
                                                                                                                                                                          +
                                                                                                                                                                          214  int index;
                                                                                                                                                                          +
                                                                                                                                                                          215  int option;
                                                                                                                                                                          +
                                                                                                                                                                          216 
                                                                                                                                                                          +
                                                                                                                                                                          217  while ((option = getopt_long(argc, argv, "", long_options, &index)) != -1) {
                                                                                                                                                                          +
                                                                                                                                                                          218  switch (option) {
                                                                                                                                                                          +
                                                                                                                                                                          219 #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg) \
                                                                                                                                                                          +
                                                                                                                                                                          220  case (int)PipelineCliOption::prop : \
                                                                                                                                                                          +
                                                                                                                                                                          221  if (defaultArg == 0) { \
                                                                                                                                                                          +
                                                                                                                                                                          222  pipelineOptions.prop = converter; \
                                                                                                                                                                          +
                                                                                                                                                                          223  } else { \
                                                                                                                                                                          +
                                                                                                                                                                          224  if (LOST_OPTIONAL_OPTARG()) { \
                                                                                                                                                                          +
                                                                                                                                                                          225  pipelineOptions.prop = converter; \
                                                                                                                                                                          +
                                                                                                                                                                          226  } else { \
                                                                                                                                                                          +
                                                                                                                                                                          227  pipelineOptions.prop = defaultArg; \
                                                                                                                                                                          +
                                                                                                                                                                          228  } \
                                                                                                                                                                          +
                                                                                                                                                                          229  } \
                                                                                                                                                                          +
                                                                                                                                                                          230  break;
                                                                                                                                                                          +
                                                                                                                                                                          231 #include "pipeline-options.hpp" // NOLINT
                                                                                                                                                                          +
                                                                                                                                                                          232 #undef LOST_CLI_OPTION
                                                                                                                                                                          +
                                                                                                                                                                          233  case (int) PipelineCliOption::help :std::cout << documentation_pipeline_txt << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          234  return 0;
                                                                                                                                                                          +
                                                                                                                                                                          235  break;
                                                                                                                                                                          +
                                                                                                                                                                          236  default :std::cout << "Illegal flag" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          237  exit(1);
                                                                                                                                                                          +
                                                                                                                                                                          238  }
                                                                                                                                                                          +
                                                                                                                                                                          239  }
                                                                                                                                                                          +
                                                                                                                                                                          240 
                                                                                                                                                                          +
                                                                                                                                                                          241  lost::PipelineRun(pipelineOptions);
                                                                                                                                                                          +
                                                                                                                                                                          242 
                                                                                                                                                                          +
                                                                                                                                                                          243  } else {
                                                                                                                                                                          +
                                                                                                                                                                          244  std::cout << "Usage: ./lost database or ./lost pipeline" << std::endl
                                                                                                                                                                          +
                                                                                                                                                                          245  << "Use --help flag on those commands for further help" << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          246  }
                                                                                                                                                                          +
                                                                                                                                                                          247  return 0;
                                                                                                                                                                          +
                                                                                                                                                                          248 }
                                                                                                                                                                          +
                                                                                                                                                                          249 
                                                                                                                                                                          +
                                                                                                                                                                          250 }
                                                                                                                                                                          +
                                                                                                                                                                          251 
                                                                                                                                                                          +
                                                                                                                                                                          252 int main(int argc, char **argv) {
                                                                                                                                                                          +
                                                                                                                                                                          253  return lost::LostMain(argc, argv);
                                                                                                                                                                          +
                                                                                                                                                                          254 }
                                                                                                                                                                          -
                                                                                                                                                                          The command line options passed when running a pipeline.
                                                                                                                                                                          Definition: io.hpp:80
                                                                                                                                                                          +
                                                                                                                                                                          The command line options passed when running a pipeline.
                                                                                                                                                                          Definition: io.hpp:81
                                                                                                                                                                          +
                                                                                                                                                                          #define MULTI_DB_FLOAT_FLAG
                                                                                                                                                                          A database that contains multiple databases This is almost always the database that is actually passe...
                                                                                                                                                                          Definition: databases.hpp:102
                                                                                                                                                                          + +
                                                                                                                                                                          double decimal
                                                                                                                                                                          Definition: decimal.hpp:11
                                                                                                                                                                          -
                                                                                                                                                                          int main(int argc, char **argv)
                                                                                                                                                                          Definition: main.cpp:242
                                                                                                                                                                          -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          -
                                                                                                                                                                          const Catalog & CatalogRead()
                                                                                                                                                                          Read and parse the full catalog from disk. If called multiple times, will re-use the first result.
                                                                                                                                                                          Definition: io.cpp:91
                                                                                                                                                                          -
                                                                                                                                                                          void SerializeMultiDatabase(SerializeContext *ser, const MultiDatabaseDescriptor &dbs)
                                                                                                                                                                          Definition: databases.cpp:333
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
                                                                                                                                                                          Definition: databases.hpp:117
                                                                                                                                                                          -
                                                                                                                                                                          float DegToRad(float deg)
                                                                                                                                                                          -
                                                                                                                                                                          MultiDatabaseDescriptor GenerateDatabases(const Catalog &catalog, const DatabaseOptions &values)
                                                                                                                                                                          Appropriately create descriptors for all requested databases according to command-line options.
                                                                                                                                                                          Definition: io.cpp:272
                                                                                                                                                                          -
                                                                                                                                                                          SerializeContext serFromDbValues(const DatabaseOptions &values)
                                                                                                                                                                          Definition: io.cpp:268
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< std::unique_ptr< PipelineInput > > PipelineInputList
                                                                                                                                                                          Definition: io.hpp:161
                                                                                                                                                                          -
                                                                                                                                                                          PipelineInputList GetPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Come up with a list of pipeline inputs based on command line options.
                                                                                                                                                                          Definition: io.cpp:800
                                                                                                                                                                          -
                                                                                                                                                                          void PipelineComparison(const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &values)
                                                                                                                                                                          Print or otherwise analyze the results of (perhaps multiple) runs of a star tracking pipeline.
                                                                                                                                                                          Definition: io.cpp:1690
                                                                                                                                                                          -
                                                                                                                                                                          Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:834
                                                                                                                                                                          -
                                                                                                                                                                          bool atobool(const char *cstr)
                                                                                                                                                                          Convert string to boolean.
                                                                                                                                                                          Definition: main.cpp:97
                                                                                                                                                                          +
                                                                                                                                                                          int main(int argc, char **argv)
                                                                                                                                                                          Definition: main.cpp:252
                                                                                                                                                                          +
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          const Catalog & CatalogRead()
                                                                                                                                                                          Read and parse the full catalog from disk. If called multiple times, will re-use the first result.
                                                                                                                                                                          Definition: io.cpp:99
                                                                                                                                                                          +
                                                                                                                                                                          decimal DegToRad(decimal deg)
                                                                                                                                                                          +
                                                                                                                                                                          Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, decimal minSeparation)
                                                                                                                                                                          Remove unwanted stars from an unfiltered catalog.
                                                                                                                                                                          Definition: star-utils.cpp:17
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< MultiDatabaseEntry > MultiDatabaseDescriptor
                                                                                                                                                                          Definition: databases.hpp:123
                                                                                                                                                                          +
                                                                                                                                                                          MultiDatabaseDescriptor GenerateDatabases(const Catalog &catalog, const DatabaseOptions &values)
                                                                                                                                                                          Appropriately create descriptors for all requested databases according to command-line options.
                                                                                                                                                                          Definition: io.cpp:280
                                                                                                                                                                          +
                                                                                                                                                                          SerializeContext serFromDbValues(const DatabaseOptions &values)
                                                                                                                                                                          Definition: io.cpp:276
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< std::unique_ptr< PipelineInput > > PipelineInputList
                                                                                                                                                                          Definition: io.hpp:162
                                                                                                                                                                          +
                                                                                                                                                                          PipelineInputList GetPipelineInput(const PipelineOptions &values)
                                                                                                                                                                          Come up with a list of pipeline inputs based on command line options.
                                                                                                                                                                          Definition: io.cpp:808
                                                                                                                                                                          +
                                                                                                                                                                          void SerializeMultiDatabase(SerializeContext *ser, const MultiDatabaseDescriptor &dbs, uint32_t flags)
                                                                                                                                                                          Definition: databases.cpp:353
                                                                                                                                                                          +
                                                                                                                                                                          void PipelineComparison(const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &values)
                                                                                                                                                                          Print or otherwise analyze the results of (perhaps multiple) runs of a star tracking pipeline.
                                                                                                                                                                          Definition: io.cpp:1699
                                                                                                                                                                          +
                                                                                                                                                                          Pipeline SetPipeline(const PipelineOptions &values)
                                                                                                                                                                          Create a pipeline from command line options.
                                                                                                                                                                          Definition: io.cpp:842
                                                                                                                                                                          +
                                                                                                                                                                          bool atobool(const char *cstr)
                                                                                                                                                                          Convert string to boolean.
                                                                                                                                                                          Definition: main.cpp:107
                                                                                                                                                                          std::vector< CatalogStar > Catalog
                                                                                                                                                                          Definition: star-utils.hpp:100
                                                                                                                                                                          -
                                                                                                                                                                          Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, float minSeparation)
                                                                                                                                                                          Remove unwanted stars from an unfiltered catalog.
                                                                                                                                                                          Definition: star-utils.cpp:17
                                                                                                                                                                          @@ -346,7 +359,7 @@ diff --git a/menudata.js b/menudata.js index 7947fa14..8b1609c6 100644 --- a/menudata.js +++ b/menudata.js @@ -121,6 +121,7 @@ var menudata={children:[ {text:"b",url:"functions_vars.html#index_b"}, {text:"c",url:"functions_vars.html#index_c"}, {text:"d",url:"functions_vars.html#index_d"}, +{text:"f",url:"functions_vars.html#index_f"}, {text:"g",url:"functions_vars.html#index_g"}, {text:"h",url:"functions_vars.html#index_h"}, {text:"i",url:"functions_vars.html#index_i"}, @@ -139,6 +140,19 @@ var menudata={children:[ {text:"Files",url:"files.html",children:[ {text:"File List",url:"files.html"}, {text:"File Members",url:"globals.html",children:[ -{text:"All",url:"globals.html"}, +{text:"All",url:"globals.html",children:[ +{text:"_",url:"globals.html#index__5F"}, +{text:"d",url:"globals.html#index_d"}, +{text:"e",url:"globals.html#index_e"}, +{text:"l",url:"globals.html#index_l"}, +{text:"m",url:"globals.html#index_m"}, +{text:"s",url:"globals.html#index_s"}]}, {text:"Functions",url:"globals_func.html"}, -{text:"Macros",url:"globals_defs.html"}]}]}]} +{text:"Typedefs",url:"globals_type.html"}, +{text:"Macros",url:"globals_defs.html",children:[ +{text:"_",url:"globals_defs.html#index__5F"}, +{text:"d",url:"globals_defs.html#index_d"}, +{text:"e",url:"globals_defs.html#index_e"}, +{text:"l",url:"globals_defs.html#index_l"}, +{text:"m",url:"globals_defs.html#index_m"}, +{text:"s",url:"globals_defs.html#index_s"}]}]}]}]} diff --git a/namespacelost.html b/namespacelost.html index dc67015a..c212b7b9 100644 --- a/namespacelost.html +++ b/namespacelost.html @@ -111,13 +111,13 @@  A faster and just as accurate attitude estimator as the Davenport Q algorithm. More...
                                                                                                                                                                            struct  Vec2 - A two dimensional vector with floating point components. More...
                                                                                                                                                                          + A two dimensional vector with decimaling point components. More...
                                                                                                                                                                            class  Vec3 - Three dimensional vector with floating point components. More...
                                                                                                                                                                          + Three dimensional vector with decimaling point components. More...
                                                                                                                                                                            class  Mat3 - 3x3 vector with floating point components More...
                                                                                                                                                                          + 3x3 vector with decimaling point components More...
                                                                                                                                                                            class  EulerAngles  A "human-readable" way to represent a 3d rotation or orientation. More...
                                                                                                                                                                          @@ -156,7 +156,6 @@  A database storing distances between pairs of stars. More...
                                                                                                                                                                            class  MultiDatabase - A database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database. More...
                                                                                                                                                                            class  MultiDatabaseEntry   @@ -253,35 +252,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -289,24 +288,24 @@ - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -319,22 +318,24 @@ + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -357,9 +358,9 @@ - - - + + + @@ -372,14 +373,14 @@ - - - + + + - - - + + + @@ -399,12 +400,9 @@ - - - - - - + + + @@ -422,30 +420,30 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - + + + @@ -461,31 +459,31 @@ - - - + + +

                                                                                                                                                                          Functions

                                                                                                                                                                          float QuestCharPoly (float x, float a, float b, float c, float d, float s)
                                                                                                                                                                           Characteristic polynomial of the quest K-matrix. More...
                                                                                                                                                                           
                                                                                                                                                                          float QuestCharPolyPrime (float x, float a, float b, float c)
                                                                                                                                                                           Derivitive of the characteristic polynomial of the quest K-matrix. More...
                                                                                                                                                                           
                                                                                                                                                                          float QuestEigenvalueEstimator (float guess, float a, float b, float c, float d, float s)
                                                                                                                                                                           Approximates roots of a real function using the Newton-Raphson algorithm. More...
                                                                                                                                                                           
                                                                                                                                                                          Quaternion SphericalToQuaternion (float ra, float dec, float roll)
                                                                                                                                                                           Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given right ascension and declination, then roll the coordinate axes counterclockwise (i.e., the stars will appear to rotate clockwise). More...
                                                                                                                                                                           
                                                                                                                                                                          Vec3 SphericalToSpatial (float ra, float de)
                                                                                                                                                                           Convert from right ascension & declination to a 3d point on the unit sphere. More...
                                                                                                                                                                           
                                                                                                                                                                          void SpatialToSpherical (const Vec3 &vec, float *ra, float *de)
                                                                                                                                                                           Convert from a 3d point on the unit sphere to right ascension & declination. More...
                                                                                                                                                                           
                                                                                                                                                                          float RadToDeg (float rad)
                                                                                                                                                                           
                                                                                                                                                                          float DegToRad (float deg)
                                                                                                                                                                           
                                                                                                                                                                          float RadToArcSec (float rad)
                                                                                                                                                                           
                                                                                                                                                                          float ArcSecToRad (float arcSec)
                                                                                                                                                                           
                                                                                                                                                                          float FloatModulo (float x, float mod)
                                                                                                                                                                           Given a float, find it "modulo" another float, in the true mathematical sense (not remainder). More...
                                                                                                                                                                           
                                                                                                                                                                          decimal QuestCharPoly (decimal x, decimal a, decimal b, decimal c, decimal d, decimal s)
                                                                                                                                                                           Characteristic polynomial of the quest K-matrix. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal QuestCharPolyPrime (decimal x, decimal a, decimal b, decimal c)
                                                                                                                                                                           Derivitive of the characteristic polynomial of the quest K-matrix. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal QuestEigenvalueEstimator (decimal guess, decimal a, decimal b, decimal c, decimal d, decimal s)
                                                                                                                                                                           Approximates roots of a real function using the Newton-Raphson algorithm. More...
                                                                                                                                                                           
                                                                                                                                                                          Quaternion SphericalToQuaternion (decimal ra, decimal dec, decimal roll)
                                                                                                                                                                           Return a quaternion that will reorient the coordinate axes so that the x-axis points at the given right ascension and declination, then roll the coordinate axes counterclockwise (i.e., the stars will appear to rotate clockwise). More...
                                                                                                                                                                           
                                                                                                                                                                          Vec3 SphericalToSpatial (decimal ra, decimal de)
                                                                                                                                                                           Convert from right ascension & declination to a 3d point on the unit sphere. More...
                                                                                                                                                                           
                                                                                                                                                                          void SpatialToSpherical (const Vec3 &vec, decimal *ra, decimal *de)
                                                                                                                                                                           Convert from a 3d point on the unit sphere to right ascension & declination. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal RadToDeg (decimal rad)
                                                                                                                                                                           
                                                                                                                                                                          decimal DegToRad (decimal deg)
                                                                                                                                                                           
                                                                                                                                                                          decimal RadToArcSec (decimal rad)
                                                                                                                                                                           
                                                                                                                                                                          decimal ArcSecToRad (decimal arcSec)
                                                                                                                                                                           
                                                                                                                                                                          decimal DecimalModulo (decimal x, decimal mod)
                                                                                                                                                                           Given a decimal, find it "modulo" another decimal, in the true mathematical sense (not remainder). More...
                                                                                                                                                                           
                                                                                                                                                                          Mat3 QuaternionToDCM (const Quaternion &quat)
                                                                                                                                                                           Convert a quaternion to a rotation matrix (Direction Cosine Matrix) More...
                                                                                                                                                                           
                                                                                                                                                                           Convert a rotation matrix (Direction Cosine Matrix) to a quaternion representing the same rotation. More...
                                                                                                                                                                           
                                                                                                                                                                          void SerializeVec3 (SerializeContext *ser, const Vec3 &vec)
                                                                                                                                                                           Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3. More...
                                                                                                                                                                           Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3. More...
                                                                                                                                                                           
                                                                                                                                                                          Vec3 DeserializeVec3 (DeserializeContext *des)
                                                                                                                                                                           
                                                                                                                                                                          float Angle (const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                           Calculate the inner angle, in radians, between two vectors. More...
                                                                                                                                                                           
                                                                                                                                                                          float AngleUnit (const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                           Calculate the inner angle, in radians, between two /unit/ vectors. More...
                                                                                                                                                                           
                                                                                                                                                                          float Distance (const Vec2 &, const Vec2 &)
                                                                                                                                                                           
                                                                                                                                                                          float Distance (const Vec3 &, const Vec3 &)
                                                                                                                                                                           
                                                                                                                                                                          float FovToFocalLength (float xFov, float xResolution)
                                                                                                                                                                           
                                                                                                                                                                          float FocalLengthToFov (float focalLength, float xResolution, float pixelSize)
                                                                                                                                                                           
                                                                                                                                                                          decimal Angle (const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                           Calculate the inner angle, in radians, between two vectors. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal AngleUnit (const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                           Calculate the inner angle, in radians, between two /unit/ vectors. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal Distance (const Vec2 &, const Vec2 &)
                                                                                                                                                                           
                                                                                                                                                                          decimal Distance (const Vec3 &, const Vec3 &)
                                                                                                                                                                           
                                                                                                                                                                          decimal FovToFocalLength (decimal xFov, decimal xResolution)
                                                                                                                                                                           
                                                                                                                                                                          decimal FocalLengthToFov (decimal focalLength, decimal xResolution, decimal pixelSize)
                                                                                                                                                                           
                                                                                                                                                                          int BadThreshold (unsigned char *image, int imageWidth, int imageHeight)
                                                                                                                                                                           
                                                                                                                                                                          int OtsusThreshold (unsigned char *image, int imageWidth, int imageHeight)
                                                                                                                                                                           
                                                                                                                                                                          void IWCoGHelper (IWCoGParams *p, long i, unsigned char *image, int imageWidth, int imageHeight, std::vector< int > *starIndices)
                                                                                                                                                                           
                                                                                                                                                                          bool isFlagSet (uint32_t dbFlags, uint32_t flag)
                                                                                                                                                                           
                                                                                                                                                                          bool CompareKVectorPairs (const KVectorPair &p1, const KVectorPair &p2)
                                                                                                                                                                           
                                                                                                                                                                          void SerializeKVectorIndex (SerializeContext *ser, const std::vector< float > &values, float min, float max, long numBins)
                                                                                                                                                                           K-vector index layout. More...
                                                                                                                                                                           
                                                                                                                                                                          std::vector< KVectorPairCatalogToPairDistances (const Catalog &catalog, float minDistance, float maxDistance)
                                                                                                                                                                           pair K-vector database layout. More...
                                                                                                                                                                           
                                                                                                                                                                          void SerializePairDistanceKVector (SerializeContext *ser, const Catalog &catalog, float minDistance, float maxDistance, long numBins)
                                                                                                                                                                           Serialize a pair-distance KVector into buffer. More...
                                                                                                                                                                           
                                                                                                                                                                          float Clamp (float num, float low, float high)
                                                                                                                                                                           Return the value in the range [low,high] which is closest to num. More...
                                                                                                                                                                           
                                                                                                                                                                          void SerializeMultiDatabase (SerializeContext *ser, const MultiDatabaseDescriptor &dbs)
                                                                                                                                                                           
                                                                                                                                                                          void SerializeKVectorIndex (SerializeContext *ser, const std::vector< decimal > &values, decimal min, decimal max, long numBins)
                                                                                                                                                                           K-vector index layout. More...
                                                                                                                                                                           
                                                                                                                                                                          std::vector< KVectorPairCatalogToPairDistances (const Catalog &catalog, decimal minDistance, decimal maxDistance)
                                                                                                                                                                           pair K-vector database layout. More...
                                                                                                                                                                           
                                                                                                                                                                          void SerializePairDistanceKVector (SerializeContext *ser, const Catalog &catalog, decimal minDistance, decimal maxDistance, long numBins)
                                                                                                                                                                           Serialize a pair-distance KVector into buffer. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal Clamp (decimal num, decimal low, decimal high)
                                                                                                                                                                           Return the value in the range [low,high] which is closest to num. More...
                                                                                                                                                                           
                                                                                                                                                                          void SerializeMultiDatabase (SerializeContext *ser, const MultiDatabaseDescriptor &dbs, uint32_t flags)
                                                                                                                                                                           
                                                                                                                                                                          std::vector< CatalogStarBscParse (std::string tsvPath)
                                                                                                                                                                           Parse the bright star catalog from the TSV file on disk. More...
                                                                                                                                                                           
                                                                                                                                                                          std::ostream & operator<< (std::ostream &os, const Camera &camera)
                                                                                                                                                                           Print information about the camera in machine and human-readable form. More...
                                                                                                                                                                           
                                                                                                                                                                          float FocalLengthFromOptions (const PipelineOptions &values, int xResolution)
                                                                                                                                                                           Calculate the focal length, in pixels, based on the given command line options. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal FocalLengthFromOptions (const PipelineOptions &values, int xResolution)
                                                                                                                                                                           Calculate the focal length, in pixels, based on the given command line options. More...
                                                                                                                                                                           
                                                                                                                                                                          PipelineInputList GetPngPipelineInput (const PipelineOptions &values)
                                                                                                                                                                           Create a PngPipelineInput using command line options. More...
                                                                                                                                                                           
                                                                                                                                                                          Pipeline SetPipeline (const PipelineOptions &values)
                                                                                                                                                                           Create a pipeline from command line options. More...
                                                                                                                                                                           
                                                                                                                                                                          CentroidComparison CentroidsCompare (float threshold, const Stars &expected, const Stars &actual)
                                                                                                                                                                           Compare expected and actual centroids. More...
                                                                                                                                                                           
                                                                                                                                                                          CentroidComparison CentroidsCompare (decimal threshold, const Stars &expected, const Stars &actual)
                                                                                                                                                                           Compare expected and actual centroids. More...
                                                                                                                                                                           
                                                                                                                                                                          CentroidComparison CentroidComparisonsCombine (std::vector< CentroidComparison > comparisons)
                                                                                                                                                                           
                                                                                                                                                                          StarIdComparison StarIdsCompare (const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, float centroidThreshold, const Stars &expectedStars, const Stars &inputStars)
                                                                                                                                                                           Compare expected and actual star identifications. More...
                                                                                                                                                                           
                                                                                                                                                                          StarIdComparison StarIdsCompare (const StarIdentifiers &expected, const StarIdentifiers &actual, const Catalog &expectedCatalog, const Catalog &actualCatalog, decimal centroidThreshold, const Stars &expectedStars, const Stars &inputStars)
                                                                                                                                                                           Compare expected and actual star identifications. More...
                                                                                                                                                                           
                                                                                                                                                                          void PipelineComparatorPlotCentroidIndices (std::ostream &os, const PipelineInputList &expected, const std::vector< PipelineOutput > &actual, const PipelineOptions &)
                                                                                                                                                                           Plot an annotated image where centroids are annotated with their centroid index. More...
                                                                                                                                                                           
                                                                                                                                                                          void SwapEndiannessIfNecessary (unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                           Swap the endianness of a value if necessary. More...
                                                                                                                                                                           
                                                                                                                                                                          template<>
                                                                                                                                                                          void SwapEndiannessIfNecessary< float > (unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                           
                                                                                                                                                                          template<>
                                                                                                                                                                          void SwapEndiannessIfNecessary< double > (unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                           
                                                                                                                                                                          template<>
                                                                                                                                                                          void SwapEndiannessIfNecessary< decimal > (unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                           
                                                                                                                                                                          template<typename T >
                                                                                                                                                                          void DeserializePadding (DeserializeContext *des)
                                                                                                                                                                           Move the cursor forward past any padding that would appear before a value of type T. More...
                                                                                                                                                                          template<typename T >
                                                                                                                                                                          void SerializePrimitive (SerializeContext *ser, const T &val)
                                                                                                                                                                           
                                                                                                                                                                          std::vector< int16_t > IdentifyThirdStar (const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, float distance1, float distance2, float tolerance)
                                                                                                                                                                           Given two already-identified centroids, and the distance from each to an as-yet unidentified third centroid, return a list of candidate catalog stars that could be the third centroid. More...
                                                                                                                                                                           
                                                                                                                                                                          int IdentifyRemainingStarsPairDistance (StarIdentifiers *identifiers, const Stars &stars, const PairDistanceKVectorDatabase &db, const Catalog &catalog, const Camera &camera, float tolerance)
                                                                                                                                                                           Given some identified stars, attempt to identify the rest. More...
                                                                                                                                                                           
                                                                                                                                                                          std::vector< int16_t > IdentifyThirdStar (const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, decimal distance1, decimal distance2, decimal tolerance)
                                                                                                                                                                           Given two already-identified centroids, and the distance from each to an as-yet unidentified third centroid, return a list of candidate catalog stars that could be the third centroid. More...
                                                                                                                                                                           
                                                                                                                                                                          int IdentifyRemainingStarsPairDistance (StarIdentifiers *identifiers, const Stars &stars, const PairDistanceKVectorDatabase &db, const Catalog &catalog, const Camera &camera, decimal tolerance)
                                                                                                                                                                           Given some identified stars, attempt to identify the rest. More...
                                                                                                                                                                           
                                                                                                                                                                          std::vector< int16_t > ConsumeInvolvingIterator (PairDistanceInvolvingIterator it)
                                                                                                                                                                           
                                                                                                                                                                          std::unordered_multimap< int16_t, int16_t > PairDistanceQueryToMap (const int16_t *pairs, const int16_t *end)
                                                                                                                                                                           Given the result of a pair-distance kvector query, build a hashmultimap of stars to other stars that appeared with it in the query. More...
                                                                                                                                                                           
                                                                                                                                                                          std::vector< std::vector< IRUnidentifiedCentroid * >::iterator > FindUnidentifiedCentroidsInRange (std::vector< IRUnidentifiedCentroid * > *centroids, const Star &star, const Camera &camera, float minDistance, float maxDistance)
                                                                                                                                                                           Return all the unidentified centroids within the requested distance bounds from star More...
                                                                                                                                                                           
                                                                                                                                                                          void AddToAllUnidentifiedCentroids (const StarIdentifier &starId, const Stars &stars, std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids, float minDistance, float maxDistance, float angleFrom90Threshold, const Camera &camera)
                                                                                                                                                                           Given a list of unidentified centroids not yet at the soft threshold, and a list of unidentified centroids already below the soft threshold, appropriately add the given centroid to all the unidentified centroids still above the threshold, and perhaps move them to the below threshold list. More...
                                                                                                                                                                           
                                                                                                                                                                          std::vector< std::vector< IRUnidentifiedCentroid * >::iterator > FindUnidentifiedCentroidsInRange (std::vector< IRUnidentifiedCentroid * > *centroids, const Star &star, const Camera &camera, decimal minDistance, decimal maxDistance)
                                                                                                                                                                           Return all the unidentified centroids within the requested distance bounds from star More...
                                                                                                                                                                           
                                                                                                                                                                          void AddToAllUnidentifiedCentroids (const StarIdentifier &starId, const Stars &stars, std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids, decimal minDistance, decimal maxDistance, decimal angleFrom90Threshold, const Camera &camera)
                                                                                                                                                                           Given a list of unidentified centroids not yet at the soft threshold, and a list of unidentified centroids already below the soft threshold, appropriately add the given centroid to all the unidentified centroids still above the threshold, and perhaps move them to the below threshold list. More...
                                                                                                                                                                           
                                                                                                                                                                          IRUnidentifiedCentroidSelectNextUnidentifiedCentroid (std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids)
                                                                                                                                                                           
                                                                                                                                                                          bool CatalogStarMagnitudeCompare (const CatalogStar &a, const CatalogStar &b)
                                                                                                                                                                           
                                                                                                                                                                          Catalog NarrowCatalog (const Catalog &, int maxMagnitude, int maxStars, float minSeparation)
                                                                                                                                                                           Remove unwanted stars from an unfiltered catalog. More...
                                                                                                                                                                           
                                                                                                                                                                          Catalog NarrowCatalog (const Catalog &, int maxMagnitude, int maxStars, decimal minSeparation)
                                                                                                                                                                           Remove unwanted stars from an unfiltered catalog. More...
                                                                                                                                                                           
                                                                                                                                                                          Catalog::const_iterator FindNamedStar (const Catalog &catalog, int name)
                                                                                                                                                                           Return a pointer to the star with the given name, or NULL if not found. More...
                                                                                                                                                                           
                                                                                                                                                                          Catalog DeserializeCatalog (DeserializeContext *des, bool *inclMagnitudeReturn, bool *inclNameReturn)
                                                                                                                                                                           Deserialize a catalog. More...
                                                                                                                                                                           
                                                                                                                                                                          float MagToBrightness (int magnitude)
                                                                                                                                                                           returns some relative brightness measure, which is proportional to the total number of photons received from a star. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal MagToBrightness (int magnitude)
                                                                                                                                                                           returns some relative brightness measure, which is proportional to the total number of photons received from a star. More...
                                                                                                                                                                           
                                                                                                                                                                          - - + + - - + +

                                                                                                                                                                          Variables

                                                                                                                                                                          const Mat3 kIdentityMat3
                                                                                                                                                                           3x3 identity matrix More...
                                                                                                                                                                           
                                                                                                                                                                          float iWCoGMinChange = 0.0002
                                                                                                                                                                           
                                                                                                                                                                          decimal iWCoGMinChange = DECIMAL(0.0002)
                                                                                                                                                                           
                                                                                                                                                                          const int32_t kCatalogMagicValue = 0xF9A283BC
                                                                                                                                                                           
                                                                                                                                                                          const int kMaxBrightness = 255
                                                                                                                                                                           
                                                                                                                                                                          const char kNoDefaultArgument = 0
                                                                                                                                                                           
                                                                                                                                                                          const float kAngleFrom90SoftThreshold = M_PI_4
                                                                                                                                                                           
                                                                                                                                                                          const decimal kAngleFrom90SoftThreshold = DECIMAL_M_PI_4
                                                                                                                                                                           

                                                                                                                                                                          Detailed Description

                                                                                                                                                                          LOST starting point.

                                                                                                                                                                          Helpers to serialize and deserialize arbitrary data types to disk.

                                                                                                                                                                          Reads in CLI arguments/flags and starts the appropriate pipelines

                                                                                                                                                                          -

                                                                                                                                                                          The serialization and deserialization helpers here assume that (a) integers and floating point numbers are stored in the same format on the source and target systems except for endianness, and (b) the target system requires no greater than n-byte alignment for n-byte values (eg, an int32_t only needs 4-byte alignment, not 8-byte), and (c) the database itself will be aligned at a multiple of the largest size of any value stored within (because we only align values relative to the start of the database, so everything breaks if the database itself is misaligned).

                                                                                                                                                                          +

                                                                                                                                                                          The serialization and deserialization helpers here assume that (a) integers and decimal point numbers are stored in the same format on the source and target systems except for endianness, and (b) the target system requires no greater than n-byte alignment for n-byte values (eg, an int32_t only needs 4-byte alignment, not 8-byte), and (c) the database itself will be aligned at a multiple of the largest size of any value stored within (because we only align values relative to the start of the database, so everything breaks if the database itself is misaligned).

                                                                                                                                                                          Generally, the "bulk" of any database will not be explicitly deserialized into a data structure in memory, but instead will just effectively memory-mapped, by just storing a pointer to a certain offset into the database. The serialization functions in this file can still be used to create such a "bulk" section, but deserialization must be handled manually.

                                                                                                                                                                          Typedef Documentation

                                                                                                                                                                          @@ -500,7 +498,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 262 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 270 of file io.cpp.

                                                                                                                                                                          @@ -532,7 +530,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 260 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 268 of file io.cpp.

                                                                                                                                                                          @@ -548,7 +546,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 117 of file databases.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 123 of file databases.hpp.

                                                                                                                                                                          @@ -564,7 +562,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 1201 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 1210 of file io.cpp.

                                                                                                                                                                          @@ -580,7 +578,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 797 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 805 of file io.cpp.

                                                                                                                                                                          @@ -596,7 +594,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 161 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 162 of file io.hpp.

                                                                                                                                                                          @@ -612,7 +610,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 261 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 269 of file io.cpp.

                                                                                                                                                                          @@ -649,8 +647,8 @@

                                                                                                                                                                          Function Documentation

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ AddToAllUnidentifiedCentroids()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ AddToAllUnidentifiedCentroids()

                                                                                                                                                                          @@ -682,19 +680,19 @@

                                                                                                                                                                          - float  + decimal  minDistance, - float  + decimal  maxDistance, - float  + decimal  angleFrom90Threshold, @@ -723,37 +721,37 @@

                                                                                                                                                                          Here is the call graph for this function:

                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + - +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          - -

                                                                                                                                                                          ◆ Angle()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ Angle()

                                                                                                                                                                          - + @@ -775,40 +773,40 @@

                                                                                                                                                                          Definition at line 468 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 470 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + - +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          - -

                                                                                                                                                                          ◆ AngleUnit()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ AngleUnit()

                                                                                                                                                                          float lost::Angle decimal lost::Angle ( const Vec3 vec1,
                                                                                                                                                                          - + @@ -829,28 +827,28 @@

                                                                                                                                                                          Angle() @warn If the vectors are not already unit vectors, will return the wrong result!

                                                                                                                                                                          +

                                                                                                                                                                          Slightly faster than Angle() @warn If the vectors are not already unit vectors, will return the wrong result!

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 477 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 479 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + - + - - - - - + + + + + - + @@ -860,30 +858,30 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ ArcSecToRad()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ ArcSecToRad()

                                                                                                                                                                          float lost::AngleUnit decimal lost::AngleUnit ( const Vec3 vec1,
                                                                                                                                                                          - + - +
                                                                                                                                                                          float lost::ArcSecToRad decimal lost::ArcSecToRad (float decimal  arcSec)
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 162 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 164 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          @@ -907,7 +905,7 @@

                                                                                                                                                                          Definition at line 97 of file main.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 107 of file main.cpp.

                                                                                                                                                                          @@ -943,7 +941,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 29 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 31 of file centroiders.cpp.

                                                                                                                                                                          @@ -979,7 +977,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 79 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 81 of file centroiders.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -1025,7 +1023,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 95 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 97 of file centroiders.cpp.

                                                                                                                                                                          @@ -1047,14 +1045,14 @@

                                                                                                                                                                          Definition at line 57 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 58 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          - +
                                                                                                                                                                          @@ -1089,7 +1087,7 @@

                                                                                                                                                                          Definition at line 91 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 99 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -1097,7 +1095,7 @@

                                                                                                                                                                          - +

                                                                                                                                                                          - +

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ CatalogToPairDistances()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ CatalogToPairDistances()

                                                                                                                                                                          @@ -1168,13 +1166,13 @@

                                                                                                                                                                          - float  + decimal  minDistance, - float  + decimal  maxDistance  @@ -1191,23 +1189,23 @@

                                                                                                                                                                          Definition at line 171 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 175 of file databases.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          @@ -1230,12 +1228,12 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 1101 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 1110 of file io.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ CentroidsCompare()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ CentroidsCompare()

                                                                                                                                                                          @@ -1243,7 +1241,7 @@

                                                                                                                                                                          CentroidComparison lost::CentroidsCompare ( - float  + decimal  threshold, @@ -1274,32 +1272,32 @@

                                                                                                                                                                          Definition at line 1075 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 1084 of file io.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ Clamp()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ Clamp()

                                                                                                                                                                          - + - + - + - + @@ -1312,7 +1310,7 @@

                                                                                                                                                                          Definition at line 224 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 228 of file databases.cpp.

                                                                                                                                                                          @@ -1360,7 +1358,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 124 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 126 of file centroiders.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -1399,14 +1397,14 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 25 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 29 of file databases.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          - +
                                                                                                                                                                          @@ -1460,20 +1458,20 @@

                                                                                                                                                                          Definition at line 365 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 367 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          - + - - + + @@ -1485,7 +1483,7 @@

                                                                                                                                                                          - + @@ -1495,33 +1493,66 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ DegToRad()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ DecimalModulo()

                                                                                                                                                                          float lost::Clamp decimal lost::Clamp (float decimal  num,
                                                                                                                                                                          float decimal  low,
                                                                                                                                                                          float decimal  high 
                                                                                                                                                                          - + - + + + + + + + + + + + + + + +
                                                                                                                                                                          float lost::DegToRad decimal lost::DecimalModulo (float decimal x,
                                                                                                                                                                          decimal mod 
                                                                                                                                                                          )
                                                                                                                                                                          +
                                                                                                                                                                          + +

                                                                                                                                                                          Given a decimal, find it "modulo" another decimal, in the true mathematical sense (not remainder).

                                                                                                                                                                          +

                                                                                                                                                                          Always returns something in [0,mod) Eg -0.8 mod 0.6 = 0.4

                                                                                                                                                                          + +

                                                                                                                                                                          Definition at line 168 of file attitude-utils.cpp.

                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + +

                                                                                                                                                                          ◆ DegToRad()

                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + +
                                                                                                                                                                          decimal lost::DegToRad (decimal  deg)
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 154 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 156 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + - + @@ -1561,7 +1592,7 @@

                                                                                                                                                                          Definition at line 110 of file serialize-helpers.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 105 of file serialize-helpers.hpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -1718,7 +1749,7 @@

                                                                                                                                                                          Definition at line 96 of file serialize-helpers.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 91 of file serialize-helpers.hpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -1750,7 +1781,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 101 of file serialize-helpers.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 96 of file serialize-helpers.hpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -1780,7 +1811,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 458 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 460 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -1796,14 +1827,14 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ Distance() [1/2]

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ Distance() [1/2]

                                                                                                                                                                          - + @@ -1824,14 +1855,14 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ Distance() [2/2]

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ Distance() [2/2]

                                                                                                                                                                          float lost::Distance decimal lost::Distance ( const Vec2 ,
                                                                                                                                                                          - + @@ -1884,8 +1915,8 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ FindUnidentifiedCentroidsInRange()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ FindUnidentifiedCentroidsInRange()

                                                                                                                                                                          @@ -1911,13 +1942,13 @@

                                                                                                                                                                          - + - + @@ -1935,70 +1966,37 @@

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - - + +
                                                                                                                                                                          -
                                                                                                                                                                          -

                                                                                                                                                                          ◆ FloatModulo()

                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          -
                                                                                                                                                                          float lost::Distance decimal lost::Distance ( const Vec3 , float decimal  minDistance,
                                                                                                                                                                          float decimal  maxDistance 
                                                                                                                                                                          - - - - - - - - - - - - - - - - - -
                                                                                                                                                                          float lost::FloatModulo (float x,
                                                                                                                                                                          float mod 
                                                                                                                                                                          )
                                                                                                                                                                          -
                                                                                                                                                                          - -

                                                                                                                                                                          Given a float, find it "modulo" another float, in the true mathematical sense (not remainder).

                                                                                                                                                                          -

                                                                                                                                                                          Always returns something in [0,mod) Eg -0.8 mod 0.6 = 0.4

                                                                                                                                                                          - -

                                                                                                                                                                          Definition at line 166 of file attitude-utils.cpp.

                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          - -

                                                                                                                                                                          ◆ FocalLengthFromOptions()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ FocalLengthFromOptions()

                                                                                                                                                                          - + @@ -2020,22 +2018,22 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 311 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 319 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - - + +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + @@ -2045,28 +2043,28 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ FocalLengthToFov()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ FocalLengthToFov()

                                                                                                                                                                          float lost::FocalLengthFromOptions decimal lost::FocalLengthFromOptions ( const PipelineOptions values,
                                                                                                                                                                          - + - + - + - + @@ -2077,36 +2075,36 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 61 of file camera.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 62 of file camera.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          - -

                                                                                                                                                                          ◆ FovToFocalLength()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ FovToFocalLength()

                                                                                                                                                                          float lost::FocalLengthToFov decimal lost::FocalLengthToFov (float decimal  focalLength,
                                                                                                                                                                          float decimal  xResolution,
                                                                                                                                                                          float decimal  pixelSize 
                                                                                                                                                                          - + - + - + @@ -2117,14 +2115,14 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 57 of file camera.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 58 of file camera.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + @@ -2160,25 +2158,25 @@

                                                                                                                                                                          Appropriately create descriptors for all requested databases according to command-line options.

                                                                                                                                                                          -
                                                                                                                                                                          See also
                                                                                                                                                                          SerializeMultiDatabase
                                                                                                                                                                          +
                                                                                                                                                                          See also
                                                                                                                                                                          SerializeMultiDatabase
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 272 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 280 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          - + - + - + - - + +
                                                                                                                                                                          @@ -2202,7 +2200,7 @@

                                                                                                                                                                          GeneratedPipelineInput based on the command line options in values

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 726 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 734 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -2210,11 +2208,11 @@

                                                                                                                                                                          - - - + + + - +

                                                                                                                                                                          @@ -2247,7 +2245,7 @@

                                                                                                                                                                          Definition at line 800 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 808 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -2257,11 +2255,11 @@

                                                                                                                                                                          - - - + + + - +

                                                                                                                                                                          @@ -2285,7 +2283,7 @@

                                                                                                                                                                          PngPipelineInput using command line options.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 371 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 379 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -2293,10 +2291,10 @@

                                                                                                                                                                          - + - - + +

                                                                                                                                                                          @@ -2343,7 +2341,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 148 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 156 of file io.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -2356,8 +2354,8 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ IdentifyRemainingStarsPairDistance()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ IdentifyRemainingStarsPairDistance()

                                                                                                                                                                          @@ -2395,7 +2393,7 @@

                                                                                                                                                                          - + @@ -2413,34 +2411,34 @@

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + - + - - - + + + - + - - - + + + - - - + + +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + @@ -2448,8 +2446,8 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ IdentifyThirdStar()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ IdentifyThirdStar()

                                                                                                                                                                          @@ -2481,19 +2479,19 @@

                                                                                                                                                                          - + - + - + @@ -2511,23 +2509,23 @@

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + - + - +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          @@ -2549,6 +2547,57 @@

                                                                                                                                                                          + + + +

                                                                                                                                                                          ◆ isFlagSet()

                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          float lost::FovToFocalLength decimal lost::FovToFocalLength (float decimal  xFov,
                                                                                                                                                                          float decimal  xResolution 
                                                                                                                                                                          float decimal  tolerance 
                                                                                                                                                                          float decimal  distance1,
                                                                                                                                                                          float decimal  distance2,
                                                                                                                                                                          float decimal  tolerance 
                                                                                                                                                                          + + + + +
                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                          bool lost::isFlagSet (uint32_t dbFlags,
                                                                                                                                                                          uint32_t flag 
                                                                                                                                                                          )
                                                                                                                                                                          +
                                                                                                                                                                          +inline
                                                                                                                                                                          +
                                                                                                                                                                          + +

                                                                                                                                                                          Definition at line 19 of file databases.cpp.

                                                                                                                                                                          +
                                                                                                                                                                          +Here is the caller graph for this function:
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          @@ -2601,7 +2650,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 212 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 214 of file centroiders.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -2614,14 +2663,14 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ MagToBrightness()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ MagToBrightness()

                                                                                                                                                                          - + @@ -2637,17 +2686,17 @@

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          -
                                                                                                                                                                          -

                                                                                                                                                                          ◆ NarrowCatalog()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ NarrowCatalog()

                                                                                                                                                                          @@ -2673,7 +2722,7 @@

                                                                                                                                                                          - + @@ -2699,10 +2748,10 @@

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          @@ -2737,18 +2786,18 @@

                                                                                                                                                                          Definition at line 296 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 304 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          - - + + - +
                                                                                                                                                                          @@ -2786,7 +2835,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 39 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 41 of file centroiders.cpp.

                                                                                                                                                                          @@ -2873,7 +2922,7 @@

                                                                                                                                                                          Definition at line 1398 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 1407 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -2881,18 +2930,18 @@

                                                                                                                                                                          - + - + - - + + @@ -2944,7 +2993,7 @@

                                                                                                                                                                          Definition at line 1690 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 1699 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -2953,18 +3002,18 @@

                                                                                                                                                                          - + - + - - + + @@ -2990,7 +3039,7 @@

                                                                                                                                                                          Definition at line 353 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 355 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          @@ -3014,46 +3063,46 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ QuestCharPoly()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ QuestCharPoly()

                                                                                                                                                                          float lost::MagToBrightness decimal lost::MagToBrightness ( int  magnitude)float decimal  minSeparation 
                                                                                                                                                                          - + - + - + - + - + - + - + @@ -3067,48 +3116,48 @@

                                                                                                                                                                          See also
                                                                                                                                                                          equation 19b of https://arc.aiaa.org/doi/pdf/10.2514/1.62549
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 120 of file attitude-estimators.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 163 of file attitude-estimators.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          - -

                                                                                                                                                                          ◆ QuestCharPolyPrime()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ QuestCharPolyPrime()

                                                                                                                                                                          float lost::QuestCharPoly decimal lost::QuestCharPoly (float decimal  x,
                                                                                                                                                                          float decimal  a,
                                                                                                                                                                          float decimal  b,
                                                                                                                                                                          float decimal  c,
                                                                                                                                                                          float decimal  d,
                                                                                                                                                                          float decimal  s 
                                                                                                                                                                          - + - + - + - + - + @@ -3121,60 +3170,60 @@

                                                                                                                                                                          Definition at line 125 of file attitude-estimators.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 168 of file attitude-estimators.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          - -

                                                                                                                                                                          ◆ QuestEigenvalueEstimator()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ QuestEigenvalueEstimator()

                                                                                                                                                                          float lost::QuestCharPolyPrime decimal lost::QuestCharPolyPrime (float decimal  x,
                                                                                                                                                                          float decimal  a,
                                                                                                                                                                          float decimal  b,
                                                                                                                                                                          float decimal  c 
                                                                                                                                                                          - + - + - + - + - + - + - + @@ -3188,22 +3237,22 @@

                                                                                                                                                                          See also
                                                                                                                                                                          https://www.geeksforgeeks.org/program-for-newton-raphson-method/
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 131 of file attitude-estimators.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 174 of file attitude-estimators.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - - + +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + @@ -3211,59 +3260,59 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ RadToArcSec()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ RadToArcSec()

                                                                                                                                                                          float lost::QuestEigenvalueEstimator decimal lost::QuestEigenvalueEstimator (float decimal  guess,
                                                                                                                                                                          float decimal  a,
                                                                                                                                                                          float decimal  b,
                                                                                                                                                                          float decimal  c,
                                                                                                                                                                          float decimal  d,
                                                                                                                                                                          float decimal  s 
                                                                                                                                                                          - + - +
                                                                                                                                                                          float lost::RadToArcSec decimal lost::RadToArcSec (float decimal  rad)
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 158 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 160 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +
                                                                                                                                                                          - -

                                                                                                                                                                          ◆ RadToDeg()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ RadToDeg()

                                                                                                                                                                          - + - +
                                                                                                                                                                          float lost::RadToDeg decimal lost::RadToDeg (float decimal  rad)
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 150 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 152 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + @@ -3305,7 +3354,7 @@

                                                                                                                                                                          - +
                                                                                                                                                                          @@ -3328,7 +3377,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 268 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 276 of file io.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -3481,8 +3530,8 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ SerializeKVectorIndex()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ SerializeKVectorIndex()

                                                                                                                                                                          @@ -3496,19 +3545,19 @@

                                                                                                                                                                          - const std::vector< float > &  + const std::vector< decimal > &  values, - float  + decimal  min, - float  + decimal  max, @@ -3526,7 +3575,7 @@

                                                                                                                                                                          K-vector index layout.

                                                                                                                                                                          -

                                                                                                                                                                          No magic value because its never used on its own. | size | name | description | |------------—+---------—+----------------------------------------------------------—| | 4 | numEntries | | | sizeof float | min | minimum value contained in the database | | sizeof float | max | max value contained in index | | 4 | numBins | | | 4*(numBins+1) | bins | The `i'th bin (starting from zero) stores how many pairs of | | | | stars have a distance lesst han or equal to: | | | | min+i*(max-min)/numBins | Serialize a KVector index to disk. Use SerializeLengthKVectorIndex to determine how long the buffer should be.

                                                                                                                                                                          Parameters
                                                                                                                                                                          +

                                                                                                                                                                          No magic value because its never used on its own. | size | name | description | |------------—+---------—+----------------------------------------------------------—| | 4 | numEntries | | | sizeof decimal | min | minimum value contained in the database | | sizeof decimal | max | max value contained in index | | 4 | numBins | | | 4*(numBins+1) | bins | The `i'th bin (starting from zero) stores how many pairs of | | | | stars have a distance lesst han or equal to: | | | | min+i*(max-min)/numBins | Serialize a KVector index to disk. Use SerializeLengthKVectorIndex to determine how long the buffer should be.

                                                                                                                                                                          Parameters
                                                                                                                                                                          valuesThe actual entries the kvector should be referring to, sorted in ascending order.
                                                                                                                                                                          @@ -3548,22 +3597,22 @@

                                                                                                                                                                          Definition at line 60 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 64 of file databases.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - +

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ SerializeMultiDatabase()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ SerializeMultiDatabase()

                                                                                                                                                                          @@ -3578,7 +3627,13 @@

                                                                                                                                                                          const MultiDatabaseDescriptor &  - dbs  + dbs, + + + + + uint32_t  + flags  @@ -3588,7 +3643,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 333 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 353 of file databases.cpp.

                                                                                                                                                                          @@ -3610,12 +3665,12 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 119 of file serialize-helpers.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 114 of file serialize-helpers.hpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ SerializePairDistanceKVector()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ SerializePairDistanceKVector()

                                                                                                                                                                          @@ -3635,13 +3690,13 @@

                                                                                                                                                                          - float  + decimal  minDistance, - float  + decimal  maxDistance, @@ -3661,24 +3716,24 @@

                                                                                                                                                                          Definition at line 194 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 198 of file databases.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + - + - - + +
                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + @@ -3714,7 +3769,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 126 of file serialize-helpers.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 121 of file serialize-helpers.hpp.

                                                                                                                                                                          @@ -3744,9 +3799,9 @@

                                                                                                                                                                          -

                                                                                                                                                                          Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.

                                                                                                                                                                          +

                                                                                                                                                                          Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 452 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 454 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -3779,12 +3834,12 @@

                                                                                                                                                                          Definition at line 834 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 842 of file io.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ SpatialToSpherical()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ SpatialToSpherical()

                                                                                                                                                                          @@ -3798,13 +3853,13 @@

                                                                                                                                                                          - float *  + decimalra, - float *  + decimalde  @@ -3817,12 +3872,12 @@

                                                                                                                                                                          Definition at line 143 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 145 of file attitude-utils.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ SphericalToQuaternion()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ SphericalToQuaternion()

                                                                                                                                                                          @@ -3830,19 +3885,19 @@

                                                                                                                                                                          Quaternion lost::SphericalToQuaternion ( - float  + decimal  ra, - float  + decimal  dec, - float  + decimal  roll  @@ -3856,12 +3911,12 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 98 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 100 of file attitude-utils.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          -
                                                                                                                                                                          - +
                                                                                                                                                                          + @@ -3870,8 +3925,8 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ SphericalToSpatial()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ SphericalToSpatial()

                                                                                                                                                                          @@ -3879,13 +3934,13 @@

                                                                                                                                                                          Vec3 lost::SphericalToSpatial ( - float  + decimal  ra, - float  + decimal  de  @@ -3899,12 +3954,12 @@

                                                                                                                                                                          Definition at line 134 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 136 of file attitude-utils.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ StarIdsCompare()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ StarIdsCompare()

                                                                                                                                                                          @@ -3936,7 +3991,7 @@

                                                                                                                                                                          - float  + decimal  centroidThreshold, @@ -3964,7 +4019,7 @@

                                                                                                                                                                          StarIdComparison. A star-id is correct if the centroid is the closest centroid to some expected centroid, and the referenced catalog star is the same one as in the expected star-ids for that centroid. Also permissible is if the centroid is not the closest to any expected centroid, but it has the same star-id as another star closer to the closest expected centroid. All other star-ids are incorrect (because they are either identifying false stars, or are incorrect identifications on true stars)

                                                                                                                                                                          The "total" in the result is just the number of input stars.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 1120 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 1129 of file io.cpp.

                                                                                                                                                                          @@ -4058,25 +4113,25 @@

                                                                                                                                                                          Definition at line 170 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 178 of file io.cpp.

                                                                                                                                                                          Here is the call graph for this function:
                                                                                                                                                                          - + - + - - + + @@ -4113,7 +4168,7 @@

                                                                                                                                                                          Definition at line 119 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 127 of file io.cpp.

                                                                                                                                                                          Here is the caller graph for this function:
                                                                                                                                                                          @@ -4146,7 +4201,7 @@

                                                                                                                                                                          Definition at line 62 of file serialize-helpers.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 64 of file serialize-helpers.hpp.

                                                                                                                                                                          @@ -4179,54 +4234,14 @@

                                                                                                                                                                          Swap the endianness of a value if necessary.

                                                                                                                                                                          -

                                                                                                                                                                          Uses LOST_DATABASE_{SOURCE,TARGET}_INTEGER_ENDIANNESS to determine to switch all values but float and double, which use LOST_DATABASE_{SOURCE,TARGET}_FLOAT_ENDIANNESS.

                                                                                                                                                                          - -

                                                                                                                                                                          Definition at line 72 of file serialize-helpers.hpp.

                                                                                                                                                                          - -

                                                                                                                                                                          -

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ SwapEndiannessIfNecessary< double >()

                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          -
                                                                                                                                                                          -template<>
                                                                                                                                                                          - - - - - -
                                                                                                                                                                          - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                          void lost::SwapEndiannessIfNecessary< double > (unsigned char * buffer,
                                                                                                                                                                          SerializeContextser 
                                                                                                                                                                          )
                                                                                                                                                                          -
                                                                                                                                                                          -inline
                                                                                                                                                                          -
                                                                                                                                                                          +

                                                                                                                                                                          Uses LOST_DATABASE_{SOURCE,TARGET}_INTEGER_ENDIANNESS to determine to switch all values but decimal which uses LOST_DATABASE_{SOURCE,TARGET}_DECIMAL_ENDIANNESS.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 88 of file serialize-helpers.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 74 of file serialize-helpers.hpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ SwapEndiannessIfNecessary< float >()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ SwapEndiannessIfNecessary< decimal >()

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ kAngleFrom90SoftThreshold

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ kAngleFrom90SoftThreshold

                                                                                                                                                                          - +
                                                                                                                                                                          const float lost::kAngleFrom90SoftThreshold = M_PI_4const decimal lost::kAngleFrom90SoftThreshold = DECIMAL_M_PI_4
                                                                                                                                                                          @@ -4331,7 +4346,7 @@

                                                                                                                                                                          Definition at line 342 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 344 of file attitude-utils.cpp.

                                                                                                                                                                          @@ -4347,7 +4362,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 471 of file io.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 479 of file io.cpp.

                                                                                                                                                                          @@ -4373,7 +4388,7 @@

                                                                                                                                                                            - +

                                                                                                                                                                          diff --git a/namespacelost.js b/namespacelost.js index f7cda5ce..583a6949 100644 --- a/namespacelost.js +++ b/namespacelost.js @@ -55,10 +55,10 @@ var namespacelost = [ "StarIdAlgorithmFactory", "namespacelost.html#a106f3da2d75b2af268f5e9abfc7ea681", null ], [ "StarIdentifiers", "namespacelost.html#a288b872531de219e9cfc87beb8d8bada", null ], [ "Stars", "namespacelost.html#a4bd359d9c09dbecb81c3a3e536f0b5c5", null ], - [ "AddToAllUnidentifiedCentroids", "namespacelost.html#a1e9642f2c2d486db201514b9ff579811", null ], - [ "Angle", "namespacelost.html#a6b951e30f05e0a748e6c906697002093", null ], - [ "AngleUnit", "namespacelost.html#a07ccf05a4c7ac13fbee5edb5beb309bb", null ], - [ "ArcSecToRad", "namespacelost.html#a5bbe6ecaad42a3489cfd2b3482e7fc58", null ], + [ "AddToAllUnidentifiedCentroids", "namespacelost.html#af9b934e077b49bfc0b7eca88188013fe", null ], + [ "Angle", "namespacelost.html#a6bdf1016fe03a8c46f98bc4633f644d3", null ], + [ "AngleUnit", "namespacelost.html#a4d066d222770cdbde925ab67813193dc", null ], + [ "ArcSecToRad", "namespacelost.html#a0bf2bbf8b3bc82f9647c9f327d1369de", null ], [ "atobool", "namespacelost.html#ad716669cae846c56701cf10aff6f8e5f", null ], [ "BadThreshold", "namespacelost.html#a27ae3010999abecce396cebbdee8ef0d", null ], [ "BasicThreshold", "namespacelost.html#ae369ca6366d9b3c350a14a403107641a", null ], @@ -66,74 +66,74 @@ var namespacelost = [ "BscParse", "namespacelost.html#a2de388cdf7e0c6b9c572903605480568", null ], [ "CatalogRead", "namespacelost.html#a41f5bb669129790c12bd70e1d641441f", null ], [ "CatalogStarMagnitudeCompare", "namespacelost.html#a5c01d4154fbfefd3af1f3c081a372035", null ], - [ "CatalogToPairDistances", "namespacelost.html#a63bf3cd684687462bda2231e2aa1f14c", null ], + [ "CatalogToPairDistances", "namespacelost.html#a7df31f0f6e3ed20311231573630124dc", null ], [ "CentroidComparisonsCombine", "namespacelost.html#a0fe01051c958fa8ced02e772aefdc991", null ], - [ "CentroidsCompare", "namespacelost.html#afd017fba4090829c28c431509c4cfc1c", null ], - [ "Clamp", "namespacelost.html#a4753c4aab04ad2deb202dd8be458e5d8", null ], + [ "CentroidsCompare", "namespacelost.html#ae28fabb74b772e447140deee8de524f0", null ], + [ "Clamp", "namespacelost.html#ae06c1b87a560fb7d9de673b46ff60d9c", null ], [ "CogHelper", "namespacelost.html#ab27cb6dc471b1c682f9dc67f41097529", null ], [ "CompareKVectorPairs", "namespacelost.html#a68f14b0d645721125203e669cde68358", null ], [ "ConsumeInvolvingIterator", "namespacelost.html#a686a62724d40abe3ccef8aa0b2d77afe", null ], [ "DCMToQuaternion", "namespacelost.html#a6bb9983e45dfa4b82b531ca96c397eed", null ], - [ "DegToRad", "namespacelost.html#abf3a90819d379c9a4d0c48f385f52613", null ], + [ "DecimalModulo", "namespacelost.html#a8a1cf9ee7fb4af17e417110197dd813e", null ], + [ "DegToRad", "namespacelost.html#a543c802e0faa7d19b8bfb148573309fe", null ], [ "DeserializeArray", "namespacelost.html#afeff6712fff1f0bfab088d35a25f52ab", null ], [ "DeserializeCatalog", "namespacelost.html#a3d0e0e4b5dd7521775ee2d00143ab022", null ], [ "DeserializeCatalogStar", "namespacelost.html#a7b5da8e7e7f7a91826c99bcc2be8f482", null ], [ "DeserializePadding", "namespacelost.html#ac6dcbacca390790e2623b918f25a0ed2", null ], [ "DeserializePrimitive", "namespacelost.html#a808e750fa7f99bc945155638df303fb7", null ], [ "DeserializeVec3", "namespacelost.html#ab5201d0881b201c54c1a7b7c293523ba", null ], - [ "Distance", "namespacelost.html#a1a50ad86abfc9430d15d2f855311a1f0", null ], - [ "Distance", "namespacelost.html#a10f0dede807e0a46e2a09defd4270f51", null ], + [ "Distance", "namespacelost.html#a36351539266df1a549d5e98ee01fc339", null ], + [ "Distance", "namespacelost.html#ae254d39e7932059a7b1e3024272d48a2", null ], [ "FindNamedStar", "namespacelost.html#ac722314f3b14385ade7e5f05699ef006", null ], - [ "FindUnidentifiedCentroidsInRange", "namespacelost.html#a0f709f580bfbe3bd0196b50226f22683", null ], - [ "FloatModulo", "namespacelost.html#a01c855b3690f601ec92a40471aa05ebd", null ], - [ "FocalLengthFromOptions", "namespacelost.html#a9eaa81a9fc5f13a447e4209b5b230308", null ], - [ "FocalLengthToFov", "namespacelost.html#ae05e275818c57f3b736b70236d0e6703", null ], - [ "FovToFocalLength", "namespacelost.html#a5e7d67bec758d4922935c84b8a0f8526", null ], + [ "FindUnidentifiedCentroidsInRange", "namespacelost.html#a6ddca8ba6411ef602cc723abbbabbbdd", null ], + [ "FocalLengthFromOptions", "namespacelost.html#a2788319f0c0f74fbd29f5249501482be", null ], + [ "FocalLengthToFov", "namespacelost.html#a96ba4670682e2bfdbe3fd350b0162e38", null ], + [ "FovToFocalLength", "namespacelost.html#a000f9bcbfc18aa202849ef43a455cb20", null ], [ "GenerateDatabases", "namespacelost.html#ac0ac19dd0e9f2f1ce471617d9c837949", null ], [ "GetGeneratedPipelineInput", "namespacelost.html#aec3a2012bf028c749ba53a46a50ad172", null ], [ "GetPipelineInput", "namespacelost.html#ad01d904e4a6bf5aed4a1b8f97f1416c5", null ], [ "GetPngPipelineInput", "namespacelost.html#a72e465adc8dcb532e46b956261bf93fe", null ], [ "GrayscaleImageToSurface", "namespacelost.html#af0b05482238f0a180d5906f0e43ac3e2", null ], - [ "IdentifyRemainingStarsPairDistance", "namespacelost.html#adb9048b631cf1af6c33af2b0dca53c41", null ], - [ "IdentifyThirdStar", "namespacelost.html#a6271e89ec246219f15d27942b98c8877", null ], + [ "IdentifyRemainingStarsPairDistance", "namespacelost.html#a788b77a0d64ad007d1f71778cfc91a4e", null ], + [ "IdentifyThirdStar", "namespacelost.html#a95cb98b7b4a9224b281e8ebf8f83acd4", null ], [ "InspectCatalog", "namespacelost.html#ada936d93de2f3661518d1215d73ade78", null ], + [ "isFlagSet", "namespacelost.html#a9a6ccd2f576c452a68db8152dc2edb24", null ], [ "IWCoGHelper", "namespacelost.html#a789d628bbeab011d5552a6dc551b77a2", null ], - [ "MagToBrightness", "namespacelost.html#a90ef8f69cd7b77ba05701f833fdaa320", null ], - [ "NarrowCatalog", "namespacelost.html#af37c1bfa9d31aeb6fcd705fffd13497c", null ], + [ "MagToBrightness", "namespacelost.html#a433010bbab5f3763241a7aa3f87fbfc7", null ], + [ "NarrowCatalog", "namespacelost.html#a97bab24607652ec26c12d9a3d3aa52b2", null ], [ "operator<<", "namespacelost.html#afd0ad3291fda13bb1bf50fb13906769c", null ], [ "OtsusThreshold", "namespacelost.html#a1c383b038ea9376eacf4858247d765be", null ], [ "PairDistanceQueryToMap", "namespacelost.html#acd73775fd6b5bb0f4c48bfab3bc1552c", null ], [ "PipelineComparatorPlotCentroidIndices", "namespacelost.html#a69cfc1189a8f18fb6e6a6d400a8a1311", null ], [ "PipelineComparison", "namespacelost.html#ad2caa7f022ed5c5dba03ab479414dafc", null ], [ "QuaternionToDCM", "namespacelost.html#a08209cdf2c6b9415866d576343c35bf2", null ], - [ "QuestCharPoly", "namespacelost.html#ab1a9beb3699da6901d13dcebcb0e987b", null ], - [ "QuestCharPolyPrime", "namespacelost.html#aecb22b335d98f9abefb94e377afa3bdb", null ], - [ "QuestEigenvalueEstimator", "namespacelost.html#aa3cff2017989bf09b8b4111c1a0bfdf5", null ], - [ "RadToArcSec", "namespacelost.html#a86999ae9a82ae57b98cb14dd1654c3f3", null ], - [ "RadToDeg", "namespacelost.html#adc5108f643b7657a835838c7f6411aa7", null ], + [ "QuestCharPoly", "namespacelost.html#a94bdddcfa030dfce3201661f42cc7d01", null ], + [ "QuestCharPolyPrime", "namespacelost.html#ae543ffda8031beff6f8015261f1c495c", null ], + [ "QuestEigenvalueEstimator", "namespacelost.html#a4c5445cb888227769955b2cdda5ee93a", null ], + [ "RadToArcSec", "namespacelost.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d", null ], + [ "RadToDeg", "namespacelost.html#a65410f365157111a72350076d9c434c0", null ], [ "SelectNextUnidentifiedCentroid", "namespacelost.html#af4b38998ddebb02241ed73fec6af8f4f", null ], [ "serFromDbValues", "namespacelost.html#aca0350641c0c62bbf6ff900634e92b8e", null ], [ "SerializeCatalog", "namespacelost.html#a2cc7e2e970e07d707f25c00fcd3071a3", null ], [ "SerializeCatalogStar", "namespacelost.html#a12fa960d591f9842a51451394cc86412", null ], - [ "SerializeKVectorIndex", "namespacelost.html#ac0c0c9865d2c16d74149bf85366cdc18", null ], - [ "SerializeMultiDatabase", "namespacelost.html#a56c54ae520919bdd6d87f291e02883d3", null ], + [ "SerializeKVectorIndex", "namespacelost.html#a0227319e45ff29d6f61b7e083d01e31f", null ], + [ "SerializeMultiDatabase", "namespacelost.html#ad14088462298249d31b2c396c3be86f9", null ], [ "SerializePadding", "namespacelost.html#a164fee04c6e5fd2fc2e2ca9274b745fa", null ], - [ "SerializePairDistanceKVector", "namespacelost.html#aefdad61aa2dbf38415d0345c1ff2916d", null ], + [ "SerializePairDistanceKVector", "namespacelost.html#a98d1507ab3e305ab47846133d82e4467", null ], [ "SerializePrimitive", "namespacelost.html#a9af0427ae10a3db5529f2f8c74497347", null ], [ "SerializeVec3", "namespacelost.html#aa2e68349539a9ef5024920ac4595e7e3", null ], [ "SetPipeline", "namespacelost.html#ad4bb00e632a9200a8e42f620e460dd60", null ], - [ "SpatialToSpherical", "namespacelost.html#a922de1d7dbef8e24f5ca6e7505a8e944", null ], - [ "SphericalToQuaternion", "namespacelost.html#a7057fa740aebe1cbd43f3bafafff4ac1", null ], - [ "SphericalToSpatial", "namespacelost.html#a62a70a38d20ca4be158d9f592862aeb4", null ], - [ "StarIdsCompare", "namespacelost.html#ab6f75e99dbde3eede31e0b3a7c56878e", null ], + [ "SpatialToSpherical", "namespacelost.html#a24e63568aa9052a67ee2a3bc1a7900b3", null ], + [ "SphericalToQuaternion", "namespacelost.html#a562a86693dfa8ef7024526934fbfa8bb", null ], + [ "SphericalToSpatial", "namespacelost.html#a5bcac28daa68fac6e7141aea7d789e10", null ], + [ "StarIdsCompare", "namespacelost.html#a863cf60540007697be2b6572e6a2e614", null ], [ "SurfacePlot", "namespacelost.html#a8298f03c0d1b408401e4200d17305018", null ], [ "SurfaceToGrayscaleImage", "namespacelost.html#a1c3caf3f02508df448ec6c761a2d764e", null ], [ "SwapEndianness", "namespacelost.html#aaa3aa9350f84fa1b7725b5e3de8483ba", null ], [ "SwapEndiannessIfNecessary", "namespacelost.html#a9704a9fb2cf67873155e69407a976074", null ], - [ "SwapEndiannessIfNecessary< double >", "namespacelost.html#a716dcaf4d1704aa422252fcbc182e259", null ], - [ "SwapEndiannessIfNecessary< float >", "namespacelost.html#a86727674f19d3158cb894b4518433477", null ], - [ "iWCoGMinChange", "namespacelost.html#adb169fa5f416a7acc9c7a9c52b2c86a6", null ], - [ "kAngleFrom90SoftThreshold", "namespacelost.html#a63a44b3abbcb5580d3ed71f1294f7bcd", null ], + [ "SwapEndiannessIfNecessary< decimal >", "namespacelost.html#a3493422e7893b68e566182e4e2372a6e", null ], + [ "iWCoGMinChange", "namespacelost.html#aad95264f15efbc0e15b439142007354c", null ], + [ "kAngleFrom90SoftThreshold", "namespacelost.html#a10f83f3109f16381af2ee6b56e586271", null ], [ "kCatalogMagicValue", "namespacelost.html#a280b11c878f729f878b2968037ccbc3d", null ], [ "kIdentityMat3", "namespacelost.html#a66abb8e44054268322b5ccba535bb975", null ], [ "kMaxBrightness", "namespacelost.html#a9b3311f3ebda1282ad7bf650de30cf45", null ], diff --git a/namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.map b/namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.map similarity index 86% rename from namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.map rename to namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.map index 705a8d2c..70571bc1 100644 --- a/namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.map +++ b/namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.map @@ -1,6 +1,6 @@ - + diff --git a/namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.md5 b/namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.md5 new file mode 100644 index 00000000..f1eed68b --- /dev/null +++ b/namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.md5 @@ -0,0 +1 @@ +901761bbc9552afbf34c09f999b2889f \ No newline at end of file diff --git a/namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.png b/namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.png similarity index 100% rename from namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.png rename to namespacelost_a000f9bcbfc18aa202849ef43a455cb20_icgraph.png diff --git a/namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.map b/namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.map similarity index 78% rename from namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.map rename to namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.map index 5658c4c0..b44038f2 100644 --- a/namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.map +++ b/namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.md5 b/namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.md5 new file mode 100644 index 00000000..9df715e4 --- /dev/null +++ b/namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.md5 @@ -0,0 +1 @@ +9cbca1ecb7905b827f6b79798ce88471 \ No newline at end of file diff --git a/namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.png b/namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.png similarity index 100% rename from namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.png rename to namespacelost_a0227319e45ff29d6f61b7e083d01e31f_icgraph.png diff --git a/namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.md5 b/namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.md5 deleted file mode 100644 index 290a1ab4..00000000 --- a/namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fcb0be5a4e581796bcfb224d34691a7f \ No newline at end of file diff --git a/namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.map b/namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.map similarity index 51% rename from namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.map rename to namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.map index 723b9a7f..5dc3dd93 100644 --- a/namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.map +++ b/namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.md5 b/namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.md5 new file mode 100644 index 00000000..df61def8 --- /dev/null +++ b/namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.md5 @@ -0,0 +1 @@ +78c9774143cbdbccce63277efbc17155 \ No newline at end of file diff --git a/namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.png b/namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.png similarity index 100% rename from namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.png rename to namespacelost_a0b4575c6e2f6eb0bc7faebf429fb9b7d_cgraph.png diff --git a/namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.map b/namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.map similarity index 51% rename from namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.map rename to namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.map index aeebd97e..ef9d8462 100644 --- a/namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.map +++ b/namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.md5 b/namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.md5 new file mode 100644 index 00000000..6cc6a0aa --- /dev/null +++ b/namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.md5 @@ -0,0 +1 @@ +9dbc5c1186cb6f374823f6e1236187a2 \ No newline at end of file diff --git a/namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.png b/namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.png similarity index 100% rename from namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.png rename to namespacelost_a0bf2bbf8b3bc82f9647c9f327d1369de_cgraph.png diff --git a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.md5 b/namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.md5 deleted file mode 100644 index a66eb941..00000000 --- a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7562a5186c0be95393e38e38345bd5c5 \ No newline at end of file diff --git a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.md5 b/namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.md5 deleted file mode 100644 index 4cb88360..00000000 --- a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -1813ba17620ef8ca165998f727465f5c \ No newline at end of file diff --git a/namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.md5 b/namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.md5 deleted file mode 100644 index 7ebcb53d..00000000 --- a/namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fbda3c82a641d4fc524e8d5b9c53e2bd \ No newline at end of file diff --git a/namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.md5 b/namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.md5 deleted file mode 100644 index 4f1deff1..00000000 --- a/namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -ee9fe92e4fe2e7abbf7cf9e5f962ed1c \ No newline at end of file diff --git a/namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.map b/namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.map new file mode 100644 index 00000000..40bb1380 --- /dev/null +++ b/namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.md5 b/namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.md5 new file mode 100644 index 00000000..acf0a786 --- /dev/null +++ b/namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.md5 @@ -0,0 +1 @@ +aac80f64b7350b80755ef90292aaa29a \ No newline at end of file diff --git a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.png b/namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.png similarity index 100% rename from namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.png rename to namespacelost_a2788319f0c0f74fbd29f5249501482be_cgraph.png diff --git a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_icgraph.map b/namespacelost_a2788319f0c0f74fbd29f5249501482be_icgraph.map similarity index 100% rename from namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_icgraph.map rename to namespacelost_a2788319f0c0f74fbd29f5249501482be_icgraph.map diff --git a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_icgraph.md5 b/namespacelost_a2788319f0c0f74fbd29f5249501482be_icgraph.md5 similarity index 100% rename from namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_icgraph.md5 rename to namespacelost_a2788319f0c0f74fbd29f5249501482be_icgraph.md5 diff --git a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_icgraph.png b/namespacelost_a2788319f0c0f74fbd29f5249501482be_icgraph.png similarity index 100% rename from namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_icgraph.png rename to namespacelost_a2788319f0c0f74fbd29f5249501482be_icgraph.png diff --git a/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.map b/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.map index 667ccfe9..a085b54e 100644 --- a/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.map +++ b/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.md5 b/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.md5 index 2e1a530f..600ec9ff 100644 --- a/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.md5 +++ b/namespacelost_a2de388cdf7e0c6b9c572903605480568_cgraph.md5 @@ -1 +1 @@ -d9d96874327144f5b4d35350a9f0545d \ No newline at end of file +6c61455fd41565b0e0f4be85775a5509 \ No newline at end of file diff --git a/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.map b/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.map index 925fde58..4e22733e 100644 --- a/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.map +++ b/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.md5 b/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.md5 index 8e52f066..ffe0a06c 100644 --- a/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.md5 +++ b/namespacelost_a41f5bb669129790c12bd70e1d641441f_cgraph.md5 @@ -1 +1 @@ -698b1d793195f64ccd3f3aeb1ccb7985 \ No newline at end of file +2e7ceb44ddacbc186b881f154b0a1045 \ No newline at end of file diff --git a/namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.map b/namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.map similarity index 85% rename from namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.map rename to namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.map index aea51d89..0537dd88 100644 --- a/namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.map +++ b/namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.map @@ -1,4 +1,4 @@ - + diff --git a/namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.md5 b/namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.md5 new file mode 100644 index 00000000..375083ac --- /dev/null +++ b/namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.md5 @@ -0,0 +1 @@ +16482e16af9c7a0f23415a2de18ee0c2 \ No newline at end of file diff --git a/namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.png b/namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.png similarity index 100% rename from namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.png rename to namespacelost_a433010bbab5f3763241a7aa3f87fbfc7_icgraph.png diff --git a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.map b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.map similarity index 58% rename from namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.map rename to namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.map index d501dd05..be3f31b3 100644 --- a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.map +++ b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.map @@ -1,5 +1,5 @@ - - + + diff --git a/namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.md5 b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.md5 new file mode 100644 index 00000000..a1a0d5c8 --- /dev/null +++ b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.md5 @@ -0,0 +1 @@ +044edfd7274695d7b1a653c524b8890b \ No newline at end of file diff --git a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.png b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.png similarity index 100% rename from namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.png rename to namespacelost_a4c5445cb888227769955b2cdda5ee93a_cgraph.png diff --git a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_icgraph.map b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_icgraph.map similarity index 100% rename from namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_icgraph.map rename to namespacelost_a4c5445cb888227769955b2cdda5ee93a_icgraph.map diff --git a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_icgraph.md5 b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_icgraph.md5 similarity index 100% rename from namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_icgraph.md5 rename to namespacelost_a4c5445cb888227769955b2cdda5ee93a_icgraph.md5 diff --git a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_icgraph.png b/namespacelost_a4c5445cb888227769955b2cdda5ee93a_icgraph.png similarity index 100% rename from namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_icgraph.png rename to namespacelost_a4c5445cb888227769955b2cdda5ee93a_icgraph.png diff --git a/namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.map b/namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.map similarity index 77% rename from namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.map rename to namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.map index b74ae126..d2467cd5 100644 --- a/namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.map +++ b/namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.map @@ -1,18 +1,18 @@ - + - + - - - - - + + + + + - + diff --git a/namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.md5 b/namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.md5 new file mode 100644 index 00000000..a158084e --- /dev/null +++ b/namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.md5 @@ -0,0 +1 @@ +b06a4d404e1e61994bb59dc8f58008b2 \ No newline at end of file diff --git a/namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.png b/namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.png similarity index 100% rename from namespacelost_a07ccf05a4c7ac13fbee5edb5beb309bb_icgraph.png rename to namespacelost_a4d066d222770cdbde925ab67813193dc_icgraph.png diff --git a/namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.map b/namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.map similarity index 85% rename from namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.map rename to namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.map index 0f878895..92eb2266 100644 --- a/namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.map +++ b/namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.map @@ -1,9 +1,9 @@ - + - + diff --git a/namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.md5 b/namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.md5 new file mode 100644 index 00000000..dc0f5291 --- /dev/null +++ b/namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.md5 @@ -0,0 +1 @@ +97ae428a7137cf90282863cb8620b81d \ No newline at end of file diff --git a/namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.png b/namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.png similarity index 100% rename from namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.png rename to namespacelost_a543c802e0faa7d19b8bfb148573309fe_icgraph.png diff --git a/namespacelost_a7057fa740aebe1cbd43f3bafafff4ac1_icgraph.map b/namespacelost_a562a86693dfa8ef7024526934fbfa8bb_icgraph.map similarity index 100% rename from namespacelost_a7057fa740aebe1cbd43f3bafafff4ac1_icgraph.map rename to namespacelost_a562a86693dfa8ef7024526934fbfa8bb_icgraph.map diff --git a/namespacelost_a7057fa740aebe1cbd43f3bafafff4ac1_icgraph.md5 b/namespacelost_a562a86693dfa8ef7024526934fbfa8bb_icgraph.md5 similarity index 100% rename from namespacelost_a7057fa740aebe1cbd43f3bafafff4ac1_icgraph.md5 rename to namespacelost_a562a86693dfa8ef7024526934fbfa8bb_icgraph.md5 diff --git a/namespacelost_a7057fa740aebe1cbd43f3bafafff4ac1_icgraph.png b/namespacelost_a562a86693dfa8ef7024526934fbfa8bb_icgraph.png similarity index 100% rename from namespacelost_a7057fa740aebe1cbd43f3bafafff4ac1_icgraph.png rename to namespacelost_a562a86693dfa8ef7024526934fbfa8bb_icgraph.png diff --git a/namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.md5 b/namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.md5 deleted file mode 100644 index 2633f042..00000000 --- a/namespacelost_a5bbe6ecaad42a3489cfd2b3482e7fc58_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -b0b2ad126798eae1aadbe721e2d94d10 \ No newline at end of file diff --git a/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.map b/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.map index d92fba3e..5ac7e317 100644 --- a/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.map +++ b/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.map @@ -1,4 +1,4 @@ - + diff --git a/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.md5 b/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.md5 index 493516c8..8d2d2688 100644 --- a/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.md5 +++ b/namespacelost_a5c01d4154fbfefd3af1f3c081a372035_icgraph.md5 @@ -1 +1 @@ -ddaedf68c6fd07eff818cc1668760845 \ No newline at end of file +6a2955c54415fafec57bf9ab69ad24a6 \ No newline at end of file diff --git a/namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.md5 b/namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.md5 deleted file mode 100644 index ef4bef31..00000000 --- a/namespacelost_a5e7d67bec758d4922935c84b8a0f8526_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf15f2d0f9f7c879310ead7f36923792 \ No newline at end of file diff --git a/namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.md5 b/namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.md5 deleted file mode 100644 index f6042426..00000000 --- a/namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7c5861403677ba84645fc9ec5f6c2999 \ No newline at end of file diff --git a/namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.md5 b/namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.md5 deleted file mode 100644 index 1d4999a3..00000000 --- a/namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -9f4dcccd892b78676d230d1b86a4431e \ No newline at end of file diff --git a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.md5 b/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.md5 deleted file mode 100644 index ced314b4..00000000 --- a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -468fc5234c935eee9a37c32a4970246e \ No newline at end of file diff --git a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.md5 b/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.md5 deleted file mode 100644 index 5d1fb60c..00000000 --- a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -8f5b9c78a9671af317007f1ff46cf042 \ No newline at end of file diff --git a/namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.map b/namespacelost_a65410f365157111a72350076d9c434c0_icgraph.map similarity index 85% rename from namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.map rename to namespacelost_a65410f365157111a72350076d9c434c0_icgraph.map index 6e5a9cb2..07a77a41 100644 --- a/namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.map +++ b/namespacelost_a65410f365157111a72350076d9c434c0_icgraph.map @@ -1,6 +1,6 @@ - + diff --git a/namespacelost_a65410f365157111a72350076d9c434c0_icgraph.md5 b/namespacelost_a65410f365157111a72350076d9c434c0_icgraph.md5 new file mode 100644 index 00000000..613f9e23 --- /dev/null +++ b/namespacelost_a65410f365157111a72350076d9c434c0_icgraph.md5 @@ -0,0 +1 @@ +47db5ad60c142aa75ef4ddc86ac6e83d \ No newline at end of file diff --git a/namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.png b/namespacelost_a65410f365157111a72350076d9c434c0_icgraph.png similarity index 100% rename from namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.png rename to namespacelost_a65410f365157111a72350076d9c434c0_icgraph.png diff --git a/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.map b/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.map index b09e300e..a8843414 100644 --- a/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.map +++ b/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.md5 b/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.md5 index c3fdd343..a37040f7 100644 --- a/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.md5 +++ b/namespacelost_a68f14b0d645721125203e669cde68358_icgraph.md5 @@ -1 +1 @@ -968071ffedc2610b70a03bb5dadf1fd6 \ No newline at end of file +ecd30156f50fd0d4afe66c442b0d1a15 \ No newline at end of file diff --git a/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.map b/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.map index bcaaebec..2167b3b0 100644 --- a/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.map +++ b/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.map @@ -1,18 +1,18 @@ - + - + - - + + diff --git a/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.md5 b/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.md5 index 0d697cfd..b7d0a353 100644 --- a/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.md5 +++ b/namespacelost_a69cfc1189a8f18fb6e6a6d400a8a1311_cgraph.md5 @@ -1 +1 @@ -ca1396b94c345ac75fcb22327b498cbb \ No newline at end of file +1d8f38c3499fa563a5a6c3b80ccbd9c6 \ No newline at end of file diff --git a/namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.md5 b/namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.md5 deleted file mode 100644 index c66fb3c8..00000000 --- a/namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a36e7a90107bacb249657cac01e8f066 \ No newline at end of file diff --git a/namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.md5 b/namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.md5 deleted file mode 100644 index fba3a9a9..00000000 --- a/namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -75545d84a7b6b1591b1de2855dda805f \ No newline at end of file diff --git a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.map b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.map index d8d2bef8..2e3cb307 100644 --- a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.map +++ b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.map @@ -1,12 +1,12 @@ - + - - + + diff --git a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.md5 b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.md5 index 9962bc7d..bae756dd 100644 --- a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.md5 +++ b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_cgraph.md5 @@ -1 +1 @@ -d91cdd398349c5d7a6f8dc0cbad77968 \ No newline at end of file +8ac8a89bcbc1c99bcf010eeda45559d4 \ No newline at end of file diff --git a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.map b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.map index 0f487dba..7a8ba09f 100644 --- a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.map +++ b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.map @@ -1,7 +1,7 @@ - + diff --git a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.md5 b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.md5 index b3571fdc..9733d46f 100644 --- a/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.md5 +++ b/namespacelost_a6bb9983e45dfa4b82b531ca96c397eed_icgraph.md5 @@ -1 +1 @@ -40ce4787b210f08306bbb154fa0a3f6e \ No newline at end of file +f8e934a363b5a649b381b050cb056e68 \ No newline at end of file diff --git a/namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.map b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.map similarity index 64% rename from namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.map rename to namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.map index 0502a567..287742e0 100644 --- a/namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.map +++ b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.map @@ -1,6 +1,6 @@ - + - + diff --git a/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.md5 b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.md5 new file mode 100644 index 00000000..599386a7 --- /dev/null +++ b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.md5 @@ -0,0 +1 @@ +5f918f1346f1e2cfe2c8aacfabf76289 \ No newline at end of file diff --git a/namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.png b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.png similarity index 100% rename from namespacelost_a6b951e30f05e0a748e6c906697002093_cgraph.png rename to namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_cgraph.png diff --git a/namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.map b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.map similarity index 85% rename from namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.map rename to namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.map index c2fb9f4c..39dd5bf0 100644 --- a/namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.map +++ b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.map @@ -2,5 +2,5 @@ - + diff --git a/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.md5 b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.md5 new file mode 100644 index 00000000..d825ac25 --- /dev/null +++ b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.md5 @@ -0,0 +1 @@ +ec236aa959a3a9c4731dddb526301915 \ No newline at end of file diff --git a/namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.png b/namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.png similarity index 100% rename from namespacelost_a6b951e30f05e0a748e6c906697002093_icgraph.png rename to namespacelost_a6bdf1016fe03a8c46f98bc4633f644d3_icgraph.png diff --git a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.map b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.map similarity index 87% rename from namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.map rename to namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.map index cb0c1812..8ae54312 100644 --- a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.map +++ b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.map @@ -3,5 +3,5 @@ - + diff --git a/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.md5 b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.md5 new file mode 100644 index 00000000..a3f51195 --- /dev/null +++ b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.md5 @@ -0,0 +1 @@ +82eb0686730de9af11762dc27f165fde \ No newline at end of file diff --git a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.png b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.png similarity index 100% rename from namespacelost_a0f709f580bfbe3bd0196b50226f22683_cgraph.png rename to namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_cgraph.png diff --git a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.map b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.map similarity index 72% rename from namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.map rename to namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.map index da746458..c39aaebb 100644 --- a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.map +++ b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.map @@ -1,6 +1,6 @@ - - + + diff --git a/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.md5 b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.md5 new file mode 100644 index 00000000..b9e5d138 --- /dev/null +++ b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.md5 @@ -0,0 +1 @@ +92536643a3ddafd81aabbde54362555d \ No newline at end of file diff --git a/namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.png b/namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.png similarity index 100% rename from namespacelost_a0f709f580bfbe3bd0196b50226f22683_icgraph.png rename to namespacelost_a6ddca8ba6411ef602cc723abbbabbbdd_icgraph.png diff --git a/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.map b/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.map index 21cb4c16..de3d43ba 100644 --- a/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.map +++ b/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.map @@ -1,8 +1,8 @@ - + - - + + diff --git a/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.md5 b/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.md5 index e7350f25..23879858 100644 --- a/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.md5 +++ b/namespacelost_a72e465adc8dcb532e46b956261bf93fe_cgraph.md5 @@ -1 +1 @@ -b2e8a26f20bf077bb7ae79b8be5b8fb6 \ No newline at end of file +13328e891bc00e5f5069ba147fd5b2af \ No newline at end of file diff --git a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.map b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.map similarity index 70% rename from namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.map rename to namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.map index b77519a3..9e6d9ed0 100644 --- a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.map +++ b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.map @@ -1,21 +1,21 @@ - + - + - - - + + + - + - - - + + + - - - + + + diff --git a/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.md5 b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.md5 new file mode 100644 index 00000000..5ef67780 --- /dev/null +++ b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.md5 @@ -0,0 +1 @@ +00d38acf535d998b828be3202d8241cc \ No newline at end of file diff --git a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.png b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.png similarity index 100% rename from namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.png rename to namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_cgraph.png diff --git a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_icgraph.map b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_icgraph.map similarity index 100% rename from namespacelost_adb9048b631cf1af6c33af2b0dca53c41_icgraph.map rename to namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_icgraph.map diff --git a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_icgraph.md5 b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_icgraph.md5 similarity index 100% rename from namespacelost_adb9048b631cf1af6c33af2b0dca53c41_icgraph.md5 rename to namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_icgraph.md5 diff --git a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_icgraph.png b/namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_icgraph.png similarity index 100% rename from namespacelost_adb9048b631cf1af6c33af2b0dca53c41_icgraph.png rename to namespacelost_a788b77a0d64ad007d1f71778cfc91a4e_icgraph.png diff --git a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.map b/namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.map similarity index 66% rename from namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.map rename to namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.map index 1364927d..bb9eecea 100644 --- a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.map +++ b/namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.map @@ -1,4 +1,4 @@ - + diff --git a/namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.md5 b/namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.md5 new file mode 100644 index 00000000..0661e2ca --- /dev/null +++ b/namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.md5 @@ -0,0 +1 @@ +72d6598b2695bd22603d82d36e8ad924 \ No newline at end of file diff --git a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.png b/namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.png similarity index 100% rename from namespacelost_a63bf3cd684687462bda2231e2aa1f14c_cgraph.png rename to namespacelost_a7df31f0f6e3ed20311231573630124dc_cgraph.png diff --git a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.map b/namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.map similarity index 78% rename from namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.map rename to namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.map index 94dd2a08..446efdc4 100644 --- a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.map +++ b/namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.md5 b/namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.md5 new file mode 100644 index 00000000..bf8bc43a --- /dev/null +++ b/namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.md5 @@ -0,0 +1 @@ +ba06d9f5365c134f2623fe0a8be0fa52 \ No newline at end of file diff --git a/namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.png b/namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.png similarity index 100% rename from namespacelost_a63bf3cd684687462bda2231e2aa1f14c_icgraph.png rename to namespacelost_a7df31f0f6e3ed20311231573630124dc_icgraph.png diff --git a/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.map b/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.map index e6abf719..38766f9c 100644 --- a/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.map +++ b/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.map @@ -1,17 +1,17 @@ - + - + - - + + diff --git a/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.md5 b/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.md5 index 230fb569..98e65e16 100644 --- a/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.md5 +++ b/namespacelost_a8298f03c0d1b408401e4200d17305018_cgraph.md5 @@ -1 +1 @@ -ab0e56592d1e6504a7ba6e0aaec497eb \ No newline at end of file +80a28fef2811d5522206105df3feb57d \ No newline at end of file diff --git a/namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.md5 b/namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.md5 deleted file mode 100644 index 3488a475..00000000 --- a/namespacelost_a86999ae9a82ae57b98cb14dd1654c3f3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e34086ae1ca1df2ddeab91f23ba73d45 \ No newline at end of file diff --git a/namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.md5 b/namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.md5 deleted file mode 100644 index 06150f54..00000000 --- a/namespacelost_a90ef8f69cd7b77ba05701f833fdaa320_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -80bfbe7611b54384a7728992f6c0c09b \ No newline at end of file diff --git a/namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.map b/namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.map similarity index 77% rename from namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.map rename to namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.map index ebcecb88..9bf9078b 100644 --- a/namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.map +++ b/namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.md5 b/namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.md5 new file mode 100644 index 00000000..513b7664 --- /dev/null +++ b/namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.md5 @@ -0,0 +1 @@ +88ab177170a5da0568aab6f7524510a6 \ No newline at end of file diff --git a/namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.png b/namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.png similarity index 100% rename from namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.png rename to namespacelost_a94bdddcfa030dfce3201661f42cc7d01_icgraph.png diff --git a/namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.map b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.map similarity index 79% rename from namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.map rename to namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.map index a871e93f..378584d0 100644 --- a/namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.map +++ b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.map @@ -1,8 +1,8 @@ - + - + - + diff --git a/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.md5 b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.md5 new file mode 100644 index 00000000..13da6c70 --- /dev/null +++ b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.md5 @@ -0,0 +1 @@ +7fd3c5a839d5c2b10d5244856d3c3943 \ No newline at end of file diff --git a/namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.png b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.png similarity index 100% rename from namespacelost_a6271e89ec246219f15d27942b98c8877_cgraph.png rename to namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_cgraph.png diff --git a/namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.map b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.map similarity index 81% rename from namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.map rename to namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.map index 9c8ca9cb..0bfaaa05 100644 --- a/namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.map +++ b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.md5 b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.md5 new file mode 100644 index 00000000..3a88be8c --- /dev/null +++ b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.md5 @@ -0,0 +1 @@ +65c838f553a2af1133d513e37a5e85bb \ No newline at end of file diff --git a/namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.png b/namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.png similarity index 100% rename from namespacelost_a6271e89ec246219f15d27942b98c8877_icgraph.png rename to namespacelost_a95cb98b7b4a9224b281e8ebf8f83acd4_icgraph.png diff --git a/namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.map b/namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.map similarity index 87% rename from namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.map rename to namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.map index 5102b220..ac0e93e7 100644 --- a/namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.map +++ b/namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.md5 b/namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.md5 new file mode 100644 index 00000000..6c32d4a5 --- /dev/null +++ b/namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.md5 @@ -0,0 +1 @@ +3d7c6a7d5aed5dd73479fde1ca859594 \ No newline at end of file diff --git a/namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.png b/namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.png similarity index 100% rename from namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.png rename to namespacelost_a96ba4670682e2bfdbe3fd350b0162e38_icgraph.png diff --git a/namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.map b/namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.map similarity index 75% rename from namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.map rename to namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.map index 74baa24d..197c3aa9 100644 --- a/namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.map +++ b/namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.md5 b/namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.md5 new file mode 100644 index 00000000..044e9ed4 --- /dev/null +++ b/namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.md5 @@ -0,0 +1 @@ +01f3a90c6e4071767269d18b2af886cd \ No newline at end of file diff --git a/namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.png b/namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.png similarity index 100% rename from namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.png rename to namespacelost_a97bab24607652ec26c12d9a3d3aa52b2_cgraph.png diff --git a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.map b/namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.map similarity index 55% rename from namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.map rename to namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.map index 43ca942a..56b17b47 100644 --- a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.map +++ b/namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.map @@ -1,7 +1,7 @@ - + - - + + diff --git a/namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.md5 b/namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.md5 new file mode 100644 index 00000000..caa5ebe0 --- /dev/null +++ b/namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.md5 @@ -0,0 +1 @@ +47d0c577af2acc0464cf889c80172731 \ No newline at end of file diff --git a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.png b/namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.png similarity index 100% rename from namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.png rename to namespacelost_a98d1507ab3e305ab47846133d82e4467_cgraph.png diff --git a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_icgraph.map b/namespacelost_a98d1507ab3e305ab47846133d82e4467_icgraph.map similarity index 100% rename from namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_icgraph.map rename to namespacelost_a98d1507ab3e305ab47846133d82e4467_icgraph.map diff --git a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_icgraph.md5 b/namespacelost_a98d1507ab3e305ab47846133d82e4467_icgraph.md5 similarity index 100% rename from namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_icgraph.md5 rename to namespacelost_a98d1507ab3e305ab47846133d82e4467_icgraph.md5 diff --git a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_icgraph.png b/namespacelost_a98d1507ab3e305ab47846133d82e4467_icgraph.png similarity index 100% rename from namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_icgraph.png rename to namespacelost_a98d1507ab3e305ab47846133d82e4467_icgraph.png diff --git a/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.map b/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.map new file mode 100644 index 00000000..0a403754 --- /dev/null +++ b/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.md5 b/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.md5 new file mode 100644 index 00000000..8f535c64 --- /dev/null +++ b/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.md5 @@ -0,0 +1 @@ +8a8576ccb9ee7dbeafc2ce9d56ebd7f3 \ No newline at end of file diff --git a/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.png b/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.png new file mode 100644 index 00000000..6ade1254 Binary files /dev/null and b/namespacelost_a9a6ccd2f576c452a68db8152dc2edb24_icgraph.png differ diff --git a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.map b/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.map deleted file mode 100644 index 2284b8bb..00000000 --- a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.md5 b/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.md5 deleted file mode 100644 index 85ae9521..00000000 --- a/namespacelost_a9eaa81a9fc5f13a447e4209b5b230308_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -7d7c2620c968a12aef23f1987899e1f3 \ No newline at end of file diff --git a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.md5 b/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.md5 deleted file mode 100644 index c8e11342..00000000 --- a/namespacelost_aa3cff2017989bf09b8b4111c1a0bfdf5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5f5569328f63fe8433e88e1b1a2c9995 \ No newline at end of file diff --git a/namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.md5 b/namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.md5 deleted file mode 100644 index 7deb5c17..00000000 --- a/namespacelost_ab1a9beb3699da6901d13dcebcb0e987b_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ef60b638fb4eceaa0410c40ff3ad97e \ No newline at end of file diff --git a/namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.md5 b/namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.md5 deleted file mode 100644 index 668baeb3..00000000 --- a/namespacelost_abf3a90819d379c9a4d0c48f385f52613_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a3bcd0f431eb566f0505b840ab2b8348 \ No newline at end of file diff --git a/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.map b/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.map index 029c5b79..8f14b212 100644 --- a/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.map +++ b/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.map @@ -1,13 +1,13 @@ - + - + - + - - + + diff --git a/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.md5 b/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.md5 index 8103f7c1..52e0480c 100644 --- a/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.md5 +++ b/namespacelost_ac0ac19dd0e9f2f1ce471617d9c837949_cgraph.md5 @@ -1 +1 @@ -a92f802c35331de7cafdc3b629955308 \ No newline at end of file +da2e794d0e78345aeae00e82cba1accb \ No newline at end of file diff --git a/namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.md5 b/namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.md5 deleted file mode 100644 index 444c7735..00000000 --- a/namespacelost_ac0c0c9865d2c16d74149bf85366cdc18_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e341078c12b9ab0cc8955c0c2e058f1b \ No newline at end of file diff --git a/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.map b/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.map index 1d0e9188..47d9954e 100644 --- a/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.map +++ b/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.map @@ -3,9 +3,9 @@ - - - + + + - + diff --git a/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.md5 b/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.md5 index b2686346..968acb49 100644 --- a/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.md5 +++ b/namespacelost_ad01d904e4a6bf5aed4a1b8f97f1416c5_cgraph.md5 @@ -1 +1 @@ -9f600f18a71f0c739cd5fd6cfa4a310f \ No newline at end of file +173fa3863fa7f33b5c3d8a68662b3daf \ No newline at end of file diff --git a/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.map b/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.map index ba9e46d3..23a2f2d1 100644 --- a/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.map +++ b/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.map @@ -2,18 +2,18 @@ - + - + - - + + diff --git a/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.md5 b/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.md5 index fea5b4c6..8abf6892 100644 --- a/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.md5 +++ b/namespacelost_ad2caa7f022ed5c5dba03ab479414dafc_cgraph.md5 @@ -1 +1 @@ -a7bc0993fd8378835c99e1dee1a3e2db \ No newline at end of file +5c7c1a72892218a03b83009fcb276ad1 \ No newline at end of file diff --git a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.md5 b/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.md5 deleted file mode 100644 index 4b76c2f9..00000000 --- a/namespacelost_adb9048b631cf1af6c33af2b0dca53c41_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -c5058225d1c371c6525d88157c5cf4e4 \ No newline at end of file diff --git a/namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.md5 b/namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.md5 deleted file mode 100644 index 3f24f7a1..00000000 --- a/namespacelost_adc5108f643b7657a835838c7f6411aa7_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -3e5bef36bfb1427059c5f051a485d256 \ No newline at end of file diff --git a/namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.md5 b/namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.md5 deleted file mode 100644 index a301f0ac..00000000 --- a/namespacelost_ae05e275818c57f3b736b70236d0e6703_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -fbf8592a1b98db21ed551f6dd865fdec \ No newline at end of file diff --git a/namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.map b/namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.map similarity index 78% rename from namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.map rename to namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.map index 6f560f01..013f8ea0 100644 --- a/namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.map +++ b/namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.md5 b/namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.md5 new file mode 100644 index 00000000..43a5a1a6 --- /dev/null +++ b/namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.md5 @@ -0,0 +1 @@ +ced71036f85be9762ef5806a22d5fcfa \ No newline at end of file diff --git a/namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.png b/namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.png similarity index 100% rename from namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.png rename to namespacelost_ae543ffda8031beff6f8015261f1c495c_icgraph.png diff --git a/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.map b/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.map index 17197cac..9090ad37 100644 --- a/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.map +++ b/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.map @@ -1,9 +1,9 @@ - - - + + + - + diff --git a/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.md5 b/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.md5 index 50136b77..bdee00db 100644 --- a/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.md5 +++ b/namespacelost_aec3a2012bf028c749ba53a46a50ad172_cgraph.md5 @@ -1 +1 @@ -29b31628e524827bd6fe9efc91152f60 \ No newline at end of file +3c54e68bcc0af2d7b06a057fcb70bc11 \ No newline at end of file diff --git a/namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.md5 b/namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.md5 deleted file mode 100644 index 1bc3e382..00000000 --- a/namespacelost_aecb22b335d98f9abefb94e377afa3bdb_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5a2d303d4fa72d35f21e82d9242f73e7 \ No newline at end of file diff --git a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.md5 b/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.md5 deleted file mode 100644 index cd22a9a1..00000000 --- a/namespacelost_aefdad61aa2dbf38415d0345c1ff2916d_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -e8bea4ebe0d779a542c0d6af646ebcc1 \ No newline at end of file diff --git a/namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.md5 b/namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.md5 deleted file mode 100644 index a7468d54..00000000 --- a/namespacelost_af37c1bfa9d31aeb6fcd705fffd13497c_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -23e662b28b898e09d3ef7a89934ecda1 \ No newline at end of file diff --git a/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.map b/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.map index bf7f1909..d48cc1eb 100644 --- a/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.map +++ b/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.md5 b/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.md5 index 41c7187b..26c49809 100644 --- a/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.md5 +++ b/namespacelost_af4b38998ddebb02241ed73fec6af8f4f_icgraph.md5 @@ -1 +1 @@ -e8d21fb0ada4b82c7c9bf6eb21dcfb23 \ No newline at end of file +cfc1f15d99db9a853f3c3f3f60548b10 \ No newline at end of file diff --git a/namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.map b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.map similarity index 80% rename from namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.map rename to namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.map index dc0895b8..3d4f6cff 100644 --- a/namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.map +++ b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.map @@ -1,8 +1,8 @@ - + - + diff --git a/namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.md5 b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.md5 new file mode 100644 index 00000000..400f50ce --- /dev/null +++ b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.md5 @@ -0,0 +1 @@ +f3a29ac84de0428825d6bc5793dc0fbf \ No newline at end of file diff --git a/namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.png b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.png similarity index 100% rename from namespacelost_a1e9642f2c2d486db201514b9ff579811_cgraph.png rename to namespacelost_af9b934e077b49bfc0b7eca88188013fe_cgraph.png diff --git a/namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.map b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.map similarity index 82% rename from namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.map rename to namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.map index 3eb1834b..a1140552 100644 --- a/namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.map +++ b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.map @@ -1,5 +1,5 @@ - + diff --git a/namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.md5 b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.md5 new file mode 100644 index 00000000..6242e575 --- /dev/null +++ b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.md5 @@ -0,0 +1 @@ +64a795f3d76b3d04f52b2ce0eaf1f6ad \ No newline at end of file diff --git a/namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.png b/namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.png similarity index 100% rename from namespacelost_a1e9642f2c2d486db201514b9ff579811_icgraph.png rename to namespacelost_af9b934e077b49bfc0b7eca88188013fe_icgraph.png diff --git a/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.map b/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.map index e5d26219..6e1e60b4 100644 --- a/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.map +++ b/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.map @@ -1,8 +1,8 @@ - - + + - + diff --git a/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.md5 b/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.md5 index a1443ecd..9237aa10 100644 --- a/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.md5 +++ b/namespacelost_afd0ad3291fda13bb1bf50fb13906769c_cgraph.md5 @@ -1 +1 @@ -fc33080ff76ce92b1f011328fda598da \ No newline at end of file +a01e0c161cd9068fa34b833cc1c43edb \ No newline at end of file diff --git a/namespacemembers.html b/namespacemembers.html index 60b9efc3..9a5b8879 100644 --- a/namespacemembers.html +++ b/namespacemembers.html @@ -87,16 +87,16 @@

                                                                                                                                                                          - a -

                                                                                                                                                                          • AddToAllUnidentifiedCentroids() -: lost +: lost
                                                                                                                                                                          • Angle() -: lost +: lost
                                                                                                                                                                          • AngleUnit() -: lost +: lost
                                                                                                                                                                          • ArcSecToRad() -: lost +: lost
                                                                                                                                                                          • atobool() : lost @@ -134,7 +134,7 @@

                                                                                                                                                                            - c -

                                                                                                                                                                              : lost
                                                                                                                                                                            • CatalogToPairDistances() -: lost +: lost
                                                                                                                                                                            • CentroidAlgorithmFactory : lost @@ -143,10 +143,10 @@

                                                                                                                                                                              - c -

                                                                                                                                                                                : lost
                                                                                                                                                                              • CentroidsCompare() -: lost +: lost
                                                                                                                                                                              • Clamp() -: lost +: lost
                                                                                                                                                                              • CogHelper() : lost @@ -164,8 +164,11 @@

                                                                                                                                                                                - d -

                                                                                                                                                                                • DCMToQuaternion() : lost
                                                                                                                                                                                • +
                                                                                                                                                                                • DecimalModulo() +: lost +
                                                                                                                                                                                • DegToRad() -: lost +: lost
                                                                                                                                                                                • DeserializeArray() : lost @@ -186,7 +189,7 @@

                                                                                                                                                                                  - d -

                                                                                                                                                                                  @@ -196,19 +199,16 @@

                                                                                                                                                                                  - f -

                                                                                                                                                                                  @@ -234,26 +234,29 @@

                                                                                                                                                                                  - g -

                                                                                                                                                                                    - i -

                                                                                                                                                                                    • IdentifyRemainingStarsPairDistance() -: lost +: lost
                                                                                                                                                                                    • IdentifyThirdStar() -: lost +: lost
                                                                                                                                                                                    • InspectCatalog() : lost
                                                                                                                                                                                    • +
                                                                                                                                                                                    • isFlagSet() +: lost +
                                                                                                                                                                                    • IWCoGHelper() : lost
                                                                                                                                                                                    • iWCoGMinChange -: lost +: lost

                                                                                                                                                                                    - k -

                                                                                                                                                                                    • kAngleFrom90SoftThreshold -: lost +: lost
                                                                                                                                                                                    • kCatalogMagicValue : lost @@ -272,7 +275,7 @@

                                                                                                                                                                                      - k -

                                                                                                                                                                                        - m -

                                                                                                                                                                                        • MagToBrightness() -: lost +: lost
                                                                                                                                                                                        • MultiDatabaseDescriptor : lost @@ -282,7 +285,7 @@

                                                                                                                                                                                          - m -

                                                                                                                                                                                            - n -

                                                                                                                                                                                            @@ -324,23 +327,23 @@

                                                                                                                                                                                            - q -

                                                                                                                                                                                            - r -

                                                                                                                                                                                            @@ -359,16 +362,16 @@

                                                                                                                                                                                            - s -

                                                                                                                                                                                              : lost
                                                                                                                                                                                            • SerializeKVectorIndex() -: lost +: lost
                                                                                                                                                                                            • SerializeMultiDatabase() -: lost +: lost
                                                                                                                                                                                            • SerializePadding() : lost
                                                                                                                                                                                            • SerializePairDistanceKVector() -: lost +: lost
                                                                                                                                                                                            • SerializePrimitive() : lost @@ -380,13 +383,13 @@

                                                                                                                                                                                              - s -

                                                                                                                                                                                                : lost
                                                                                                                                                                                              • SpatialToSpherical() -: lost +: lost
                                                                                                                                                                                              • SphericalToQuaternion() -: lost +: lost
                                                                                                                                                                                              • SphericalToSpatial() -: lost +: lost
                                                                                                                                                                                              • StarIdAlgorithmFactory : lost @@ -395,7 +398,7 @@

                                                                                                                                                                                                - s -

                                                                                                                                                                                                  : lost
                                                                                                                                                                                                • StarIdsCompare() -: lost +: lost
                                                                                                                                                                                                • Stars : lost @@ -412,11 +415,8 @@

                                                                                                                                                                                                  - s -

                                                                                                                                                                                                  • SwapEndiannessIfNecessary() : lost
                                                                                                                                                                                                  • -
                                                                                                                                                                                                  • SwapEndiannessIfNecessary< double >() -: lost -
                                                                                                                                                                                                  • -
                                                                                                                                                                                                  • SwapEndiannessIfNecessary< float >() -: lost +
                                                                                                                                                                                                  • SwapEndiannessIfNecessary< decimal >() +: lost

                                                                                                                                                                          @@ -424,7 +424,7 @@

                                                                                                                                                                          - s -

                                                                                                                                                                            diff --git a/namespacemembers_func.html b/namespacemembers_func.html index b74963c1..181690ff 100644 --- a/namespacemembers_func.html +++ b/namespacemembers_func.html @@ -87,16 +87,16 @@

                                                                                                                                                                            - a -

                                                                                                                                                                            • AddToAllUnidentifiedCentroids() -: lost +: lost
                                                                                                                                                                            • Angle() -: lost +: lost
                                                                                                                                                                            • AngleUnit() -: lost +: lost
                                                                                                                                                                            • ArcSecToRad() -: lost +: lost
                                                                                                                                                                            • atobool() : lost @@ -128,16 +128,16 @@

                                                                                                                                                                              - c -

                                                                                                                                                                                : lost
                                                                                                                                                                              • CatalogToPairDistances() -: lost +: lost
                                                                                                                                                                              • CentroidComparisonsCombine() : lost
                                                                                                                                                                              • CentroidsCompare() -: lost +: lost
                                                                                                                                                                              • Clamp() -: lost +: lost
                                                                                                                                                                              • CogHelper() : lost @@ -155,8 +155,11 @@

                                                                                                                                                                                - d -

                                                                                                                                                                                • DCMToQuaternion() : lost
                                                                                                                                                                                • +
                                                                                                                                                                                • DecimalModulo() +: lost +
                                                                                                                                                                                • DegToRad() -: lost +: lost
                                                                                                                                                                                • DeserializeArray() : lost @@ -177,7 +180,7 @@

                                                                                                                                                                                  - d -

                                                                                                                                                                                  @@ -187,19 +190,16 @@

                                                                                                                                                                                  - f -

                                                                                                                                                                                  @@ -225,14 +225,17 @@

                                                                                                                                                                                  - g -

                                                                                                                                                                                    - i -

                                                                                                                                                                                    • IdentifyRemainingStarsPairDistance() -: lost +: lost
                                                                                                                                                                                    • IdentifyThirdStar() -: lost +: lost
                                                                                                                                                                                    • InspectCatalog() : lost
                                                                                                                                                                                    • +
                                                                                                                                                                                    • isFlagSet() +: lost +
                                                                                                                                                                                    • IWCoGHelper() : lost
                                                                                                                                                                                    • @@ -241,14 +244,14 @@

                                                                                                                                                                                      - i -

                                                                                                                                                                                        - m -

                                                                                                                                                                                        - n -

                                                                                                                                                                                        @@ -281,23 +284,23 @@

                                                                                                                                                                                        - q -

                                                                                                                                                                                        - r -

                                                                                                                                                                                        @@ -316,16 +319,16 @@

                                                                                                                                                                                        - s -

                                                                                                                                                                                          : lost
                                                                                                                                                                                        • SerializeKVectorIndex() -: lost +: lost
                                                                                                                                                                                        • SerializeMultiDatabase() -: lost +: lost
                                                                                                                                                                                        • SerializePadding() : lost
                                                                                                                                                                                        • SerializePairDistanceKVector() -: lost +: lost
                                                                                                                                                                                        • SerializePrimitive() : lost @@ -337,16 +340,16 @@

                                                                                                                                                                                          - s -

                                                                                                                                                                                            : lost
                                                                                                                                                                                          • SpatialToSpherical() -: lost +: lost
                                                                                                                                                                                          • SphericalToQuaternion() -: lost +: lost
                                                                                                                                                                                          • SphericalToSpatial() -: lost +: lost
                                                                                                                                                                                          • StarIdsCompare() -: lost +: lost
                                                                                                                                                                                          • SurfacePlot() : lost @@ -360,11 +363,8 @@

                                                                                                                                                                                            - s -

                                                                                                                                                                                            • SwapEndiannessIfNecessary() : lost
                                                                                                                                                                                            • -
                                                                                                                                                                                            • SwapEndiannessIfNecessary< double >() -: lost -
                                                                                                                                                                                            • -
                                                                                                                                                                                            • SwapEndiannessIfNecessary< float >() -: lost +
                                                                                                                                                                                            • SwapEndiannessIfNecessary< decimal >() +: lost

                                                                                                                                                                          @@ -372,7 +372,7 @@

                                                                                                                                                                          - s -

                                                                                                                                                                            diff --git a/namespacemembers_type.html b/namespacemembers_type.html index 682ecfe2..3c2dece9 100644 --- a/namespacemembers_type.html +++ b/namespacemembers_type.html @@ -120,7 +120,7 @@ diff --git a/namespacemembers_vars.html b/namespacemembers_vars.html index 41259421..4b4d16a2 100644 --- a/namespacemembers_vars.html +++ b/namespacemembers_vars.html @@ -85,10 +85,10 @@
                                                                                                                                                                             
                                                                                                                                                                            • iWCoGMinChange -: lost +: lost
                                                                                                                                                                            • kAngleFrom90SoftThreshold -: lost +: lost
                                                                                                                                                                            • kCatalogMagicValue : lost @@ -108,7 +108,7 @@ diff --git a/namespaces.html b/namespaces.html index 7918e609..c94c66d3 100644 --- a/namespaces.html +++ b/namespaces.html @@ -94,9 +94,9 @@  CDavenportQAlgorithmA slow but reliable attitude estimation algorithm  CTriadAlgorithmA fast attitude estimator which only takes into account information from two stars  CQuestAlgorithmA faster and just as accurate attitude estimator as the Davenport Q algorithm - CVec2A two dimensional vector with floating point components - CVec3Three dimensional vector with floating point components - CMat33x3 vector with floating point components + CVec2A two dimensional vector with decimaling point components + CVec3Three dimensional vector with decimaling point components + CMat33x3 vector with decimaling point components  CEulerAnglesA "human-readable" way to represent a 3d rotation or orientation  CQuaternionA quaternion is a common way to represent a 3d rotation  CAttitudeThe attitude (orientation) of a spacecraft @@ -110,7 +110,7 @@  CKVectorPair  CKVectorIndexA data structure enabling constant-time range queries into fixed numerical data  CPairDistanceKVectorDatabaseA database storing distances between pairs of stars - CMultiDatabaseA database that contains multiple databases This is almost always the database that is actually passed to star-id algorithms in the real world, since you'll want to store at least the catalog plus one specific database + CMultiDatabase  CMultiDatabaseEntry  CGeneratedStarA star used in simulated image generation. Contains extra data about how to simulate the star  CCentroidComparisonThe result of comparing actual and expected centroids Used for debugging and benchmarking @@ -142,7 +142,7 @@ diff --git a/navtreedata.js b/navtreedata.js index 5fed97db..54b1b935 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -55,6 +55,7 @@ var NAVTREE = [ "File Members", "globals.html", [ [ "All", "globals.html", null ], [ "Functions", "globals_func.html", null ], + [ "Typedefs", "globals_type.html", null ], [ "Macros", "globals_defs.html", null ] ] ] ] ] @@ -64,8 +65,8 @@ var NAVTREE = var NAVTREEINDEX = [ "annotated.html", -"classlost_1_1_serialize_context.html#a819c635a0a3ac43a4a8c9f351c47e4fd", -"namespacemembers_type.html" +"classlost_1_1_serialize_context.html#a336ba4abc0106fd590f9eae9dbb16f04", +"namespacelost.html#a9704a9fb2cf67873155e69407a976074" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/navtreeindex0.js b/navtreeindex0.js index 003699c9..162b9c20 100644 --- a/navtreeindex0.js +++ b/navtreeindex0.js @@ -3,62 +3,62 @@ var NAVTREEINDEX0 = "annotated.html":[3,0], "attitude-estimators_8cpp.html":[4,0,1,0], "attitude-estimators_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70":[4,0,1,0,0], -"attitude-estimators_8cpp.html#aa3cff2017989bf09b8b4111c1a0bfdf5":[4,0,1,0,3], -"attitude-estimators_8cpp.html#ab1a9beb3699da6901d13dcebcb0e987b":[4,0,1,0,1], -"attitude-estimators_8cpp.html#aecb22b335d98f9abefb94e377afa3bdb":[4,0,1,0,2], +"attitude-estimators_8cpp.html#a4c5445cb888227769955b2cdda5ee93a":[4,0,1,0,3], +"attitude-estimators_8cpp.html#a94bdddcfa030dfce3201661f42cc7d01":[4,0,1,0,1], +"attitude-estimators_8cpp.html#ae543ffda8031beff6f8015261f1c495c":[4,0,1,0,2], "attitude-estimators_8cpp_source.html":[4,0,1,0], "attitude-estimators_8hpp.html":[4,0,1,1], "attitude-estimators_8hpp_source.html":[4,0,1,1], "attitude-utils_8cpp.html":[4,0,1,2], -"attitude-utils_8cpp.html#a01c855b3690f601ec92a40471aa05ebd":[4,0,1,2,7], -"attitude-utils_8cpp.html#a07ccf05a4c7ac13fbee5edb5beb309bb":[4,0,1,2,2], "attitude-utils_8cpp.html#a08209cdf2c6b9415866d576343c35bf2":[4,0,1,2,8], -"attitude-utils_8cpp.html#a5bbe6ecaad42a3489cfd2b3482e7fc58":[4,0,1,2,3], -"attitude-utils_8cpp.html#a62a70a38d20ca4be158d9f592862aeb4":[4,0,1,2,14], +"attitude-utils_8cpp.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d":[4,0,1,2,9], +"attitude-utils_8cpp.html#a0bf2bbf8b3bc82f9647c9f327d1369de":[4,0,1,2,3], +"attitude-utils_8cpp.html#a24e63568aa9052a67ee2a3bc1a7900b3":[4,0,1,2,12], +"attitude-utils_8cpp.html#a4d066d222770cdbde925ab67813193dc":[4,0,1,2,2], +"attitude-utils_8cpp.html#a543c802e0faa7d19b8bfb148573309fe":[4,0,1,2,6], +"attitude-utils_8cpp.html#a562a86693dfa8ef7024526934fbfa8bb":[4,0,1,2,13], +"attitude-utils_8cpp.html#a5bcac28daa68fac6e7141aea7d789e10":[4,0,1,2,14], +"attitude-utils_8cpp.html#a65410f365157111a72350076d9c434c0":[4,0,1,2,10], "attitude-utils_8cpp.html#a66abb8e44054268322b5ccba535bb975":[4,0,1,2,15], -"attitude-utils_8cpp.html#a6b951e30f05e0a748e6c906697002093":[4,0,1,2,1], "attitude-utils_8cpp.html#a6bb9983e45dfa4b82b531ca96c397eed":[4,0,1,2,4], -"attitude-utils_8cpp.html#a7057fa740aebe1cbd43f3bafafff4ac1":[4,0,1,2,13], +"attitude-utils_8cpp.html#a6bdf1016fe03a8c46f98bc4633f644d3":[4,0,1,2,1], "attitude-utils_8cpp.html#a7e0565b1536836146ec7db66a2db60bd":[4,0,1,2,0], -"attitude-utils_8cpp.html#a86999ae9a82ae57b98cb14dd1654c3f3":[4,0,1,2,9], -"attitude-utils_8cpp.html#a922de1d7dbef8e24f5ca6e7505a8e944":[4,0,1,2,12], +"attitude-utils_8cpp.html#a8a1cf9ee7fb4af17e417110197dd813e":[4,0,1,2,5], "attitude-utils_8cpp.html#aa2e68349539a9ef5024920ac4595e7e3":[4,0,1,2,11], -"attitude-utils_8cpp.html#ab5201d0881b201c54c1a7b7c293523ba":[4,0,1,2,6], -"attitude-utils_8cpp.html#abf3a90819d379c9a4d0c48f385f52613":[4,0,1,2,5], -"attitude-utils_8cpp.html#adc5108f643b7657a835838c7f6411aa7":[4,0,1,2,10], +"attitude-utils_8cpp.html#ab5201d0881b201c54c1a7b7c293523ba":[4,0,1,2,7], "attitude-utils_8cpp_source.html":[4,0,1,2], "attitude-utils_8hpp.html":[4,0,1,3], -"attitude-utils_8hpp.html#a01c855b3690f601ec92a40471aa05ebd":[4,0,1,3,14], -"attitude-utils_8hpp.html#a07ccf05a4c7ac13fbee5edb5beb309bb":[4,0,1,3,7], "attitude-utils_8hpp.html#a08209cdf2c6b9415866d576343c35bf2":[4,0,1,3,15], -"attitude-utils_8hpp.html#a10f0dede807e0a46e2a09defd4270f51":[4,0,1,3,13], -"attitude-utils_8hpp.html#a1a50ad86abfc9430d15d2f855311a1f0":[4,0,1,3,12], -"attitude-utils_8hpp.html#a5bbe6ecaad42a3489cfd2b3482e7fc58":[4,0,1,3,8], -"attitude-utils_8hpp.html#a62a70a38d20ca4be158d9f592862aeb4":[4,0,1,3,21], -"attitude-utils_8hpp.html#a6b951e30f05e0a748e6c906697002093":[4,0,1,3,6], +"attitude-utils_8hpp.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d":[4,0,1,3,16], +"attitude-utils_8hpp.html#a0bf2bbf8b3bc82f9647c9f327d1369de":[4,0,1,3,8], +"attitude-utils_8hpp.html#a24e63568aa9052a67ee2a3bc1a7900b3":[4,0,1,3,19], +"attitude-utils_8hpp.html#a36351539266df1a549d5e98ee01fc339":[4,0,1,3,13], +"attitude-utils_8hpp.html#a4d066d222770cdbde925ab67813193dc":[4,0,1,3,7], +"attitude-utils_8hpp.html#a543c802e0faa7d19b8bfb148573309fe":[4,0,1,3,11], +"attitude-utils_8hpp.html#a562a86693dfa8ef7024526934fbfa8bb":[4,0,1,3,20], +"attitude-utils_8hpp.html#a5bcac28daa68fac6e7141aea7d789e10":[4,0,1,3,21], +"attitude-utils_8hpp.html#a65410f365157111a72350076d9c434c0":[4,0,1,3,17], "attitude-utils_8hpp.html#a6bb9983e45dfa4b82b531ca96c397eed":[4,0,1,3,9], -"attitude-utils_8hpp.html#a7057fa740aebe1cbd43f3bafafff4ac1":[4,0,1,3,20], -"attitude-utils_8hpp.html#a86999ae9a82ae57b98cb14dd1654c3f3":[4,0,1,3,16], -"attitude-utils_8hpp.html#a922de1d7dbef8e24f5ca6e7505a8e944":[4,0,1,3,19], +"attitude-utils_8hpp.html#a6bdf1016fe03a8c46f98bc4633f644d3":[4,0,1,3,6], +"attitude-utils_8hpp.html#a8a1cf9ee7fb4af17e417110197dd813e":[4,0,1,3,10], "attitude-utils_8hpp.html#aa2e68349539a9ef5024920ac4595e7e3":[4,0,1,3,18], -"attitude-utils_8hpp.html#ab5201d0881b201c54c1a7b7c293523ba":[4,0,1,3,11], -"attitude-utils_8hpp.html#abf3a90819d379c9a4d0c48f385f52613":[4,0,1,3,10], -"attitude-utils_8hpp.html#adc5108f643b7657a835838c7f6411aa7":[4,0,1,3,17], +"attitude-utils_8hpp.html#ab5201d0881b201c54c1a7b7c293523ba":[4,0,1,3,12], +"attitude-utils_8hpp.html#ae254d39e7932059a7b1e3024272d48a2":[4,0,1,3,14], "attitude-utils_8hpp_source.html":[4,0,1,3], "camera_8cpp.html":[4,0,1,4], -"camera_8cpp.html#a5e7d67bec758d4922935c84b8a0f8526":[4,0,1,4,1], -"camera_8cpp.html#ae05e275818c57f3b736b70236d0e6703":[4,0,1,4,0], +"camera_8cpp.html#a000f9bcbfc18aa202849ef43a455cb20":[4,0,1,4,1], +"camera_8cpp.html#a96ba4670682e2bfdbe3fd350b0162e38":[4,0,1,4,0], "camera_8cpp_source.html":[4,0,1,4], "camera_8hpp.html":[4,0,1,5], -"camera_8hpp.html#a5e7d67bec758d4922935c84b8a0f8526":[4,0,1,5,1], +"camera_8hpp.html#a000f9bcbfc18aa202849ef43a455cb20":[4,0,1,5,1], "camera_8hpp_source.html":[4,0,1,5], "centroiders_8cpp.html":[4,0,1,6], "centroiders_8cpp.html#a1c383b038ea9376eacf4858247d765be":[4,0,1,6,7], "centroiders_8cpp.html#a27ae3010999abecce396cebbdee8ef0d":[4,0,1,6,2], "centroiders_8cpp.html#a789d628bbeab011d5552a6dc551b77a2":[4,0,1,6,6], +"centroiders_8cpp.html#aad95264f15efbc0e15b439142007354c":[4,0,1,6,8], "centroiders_8cpp.html#ab27cb6dc471b1c682f9dc67f41097529":[4,0,1,6,5], "centroiders_8cpp.html#acd1a58a1120e97d8cf060e3e9b11576c":[4,0,1,6,4], -"centroiders_8cpp.html#adb169fa5f416a7acc9c7a9c52b2c86a6":[4,0,1,6,8], "centroiders_8cpp.html#ae369ca6366d9b3c350a14a403107641a":[4,0,1,6,3], "centroiders_8cpp_source.html":[4,0,1,6], "centroiders_8hpp.html":[4,0,1,7], @@ -79,17 +79,17 @@ var NAVTREEINDEX0 = "classlost_1_1_camera.html":[3,0,0,10], "classlost_1_1_camera.html#a2282f819be792d84f3168032a9cf457b":[3,0,0,10,8], "classlost_1_1_camera.html#a2fc15d984da36a7b015420dbe9fddca5":[3,0,0,10,0], -"classlost_1_1_camera.html#a3830d04bcd953e27cc133944fb434f64":[3,0,0,10,5], +"classlost_1_1_camera.html#a30e7b1026d347f35ceb8306ba9815a3a":[3,0,0,10,7], "classlost_1_1_camera.html#a4d940919d1247edd431de7643473f538":[3,0,0,10,6], -"classlost_1_1_camera.html#a523f2ce74934b4fcb3063431fc6bef62":[3,0,0,10,1], +"classlost_1_1_camera.html#a509454953121bd47018c350d82b838ea":[3,0,0,10,1], "classlost_1_1_camera.html#a6a6a4bd2d5daf114108e73126568369d":[3,0,0,10,9], "classlost_1_1_camera.html#a75f02f56900338580a9cacc2f9131d70":[3,0,0,10,10], -"classlost_1_1_camera.html#a89a0fde9a6b5b65863ad4136c6b37dd4":[3,0,0,10,7], -"classlost_1_1_camera.html#a8a79c6616772f7e0c10b9ffd06d17adf":[3,0,0,10,2], -"classlost_1_1_camera.html#aa7df6f5d7ee2f6c26ecc34bd1e7f2e53":[3,0,0,10,4], +"classlost_1_1_camera.html#a8452608ad72efc8e93378f33eb981c0a":[3,0,0,10,5], "classlost_1_1_camera.html#aeb37d99dfc08205f5938303dbb16ff9e":[3,0,0,10,3], +"classlost_1_1_camera.html#af17d2e81670a302f46bb0ccdb1b346bd":[3,0,0,10,2], +"classlost_1_1_camera.html#af484e8b4890c20ca02d05f907ba958b8":[3,0,0,10,4], "classlost_1_1_catalog_star.html":[3,0,0,42], -"classlost_1_1_catalog_star.html#a28fd3c23a616ecd193b93dc030b7cc68":[3,0,0,42,1], +"classlost_1_1_catalog_star.html#a01e0c6d1367a68757a13091c5287075f":[3,0,0,42,1], "classlost_1_1_catalog_star.html#a72d3cdf9c85caa2fc2819644862e26ee":[3,0,0,42,4], "classlost_1_1_catalog_star.html#a8d74d0477614cda6ab24a4732b33227e":[3,0,0,42,2], "classlost_1_1_catalog_star.html#aac362b166dd1a5cfe95e33a7e2d18e3a":[3,0,0,42,3], @@ -102,9 +102,9 @@ var NAVTREEINDEX0 = "classlost_1_1_centroid_algorithm.html#a2b8d8657624550f78354a3d29a856653":[3,0,0,13,0], "classlost_1_1_centroid_algorithm.html#a4e7151f912b7d4df1ff05151cdd0856c":[3,0,0,13,1], "classlost_1_1_centroid_comparison.html":[3,0,0,23], -"classlost_1_1_centroid_comparison.html#a4105577ec96bf66b9a5003dcde18d557":[3,0,0,23,3], -"classlost_1_1_centroid_comparison.html#a69b42b7776ce7d288d15bf0ab1fceb55":[3,0,0,23,2], -"classlost_1_1_centroid_comparison.html#ac1e005780ebb245a3baafde37654aafa":[3,0,0,23,1], +"classlost_1_1_centroid_comparison.html#a4083504bf6d2b92b060a614ecf203f1a":[3,0,0,23,3], +"classlost_1_1_centroid_comparison.html#ab42870c8914b81b5ff27f8c8b6b5ec2b":[3,0,0,23,2], +"classlost_1_1_centroid_comparison.html#abf8602cb33542eb054672deafccfdde8":[3,0,0,23,1], "classlost_1_1_centroid_comparison.html#ad46cc5ba0521e788511aac2bbdc2569d":[3,0,0,23,0], "classlost_1_1_database_options.html":[3,0,0,33], "classlost_1_1_davenport_q_algorithm.html":[3,0,0,1], @@ -120,26 +120,26 @@ var NAVTREEINDEX0 = "classlost_1_1_dummy_star_id_algorithm.html":[3,0,0,39], "classlost_1_1_dummy_star_id_algorithm.html#a015bd32c8cfbd5a8709f1714aa023946":[3,0,0,39,0], "classlost_1_1_euler_angles.html":[3,0,0,7], -"classlost_1_1_euler_angles.html#a139701e558ffce8c4710ec55e5b37b75":[3,0,0,7,0], -"classlost_1_1_euler_angles.html#a224cfa3989b86edc65d0e6e96bc7b3ca":[3,0,0,7,3], -"classlost_1_1_euler_angles.html#a86cffd1e68a380145e5b684c7d7c2406":[3,0,0,7,2], -"classlost_1_1_euler_angles.html#acce7640ab1aa3431e04cc39037e538fe":[3,0,0,7,1], +"classlost_1_1_euler_angles.html#a306c3cde2b3a84f2b546cbcef318ebdf":[3,0,0,7,0], +"classlost_1_1_euler_angles.html#a7965e0a2c260109c23c85f120b9db75f":[3,0,0,7,3], +"classlost_1_1_euler_angles.html#aa1f13c91bb698e674c2152a481dcb109":[3,0,0,7,1], +"classlost_1_1_euler_angles.html#ae52017b1b9cc1063704bcc2b25500783":[3,0,0,7,2], "classlost_1_1_generated_pipeline_input.html":[3,0,0,28], "classlost_1_1_generated_pipeline_input.html#a07c1d15af1fee070bf7b143211f7297f":[3,0,0,28,7], "classlost_1_1_generated_pipeline_input.html#a0cbfa2300553ec4942d124e456d0ed4a":[3,0,0,28,6], -"classlost_1_1_generated_pipeline_input.html#a1b473186f7c725b5e59dcfe95be1f686":[3,0,0,28,0], "classlost_1_1_generated_pipeline_input.html#a46251e73597d285c1988fffd243185e0":[3,0,0,28,8], "classlost_1_1_generated_pipeline_input.html#a480955be5ecd314fd59d3c1f6595539a":[3,0,0,28,4], "classlost_1_1_generated_pipeline_input.html#a5bb4d8d26f136ff61250e6ab70437f15":[3,0,0,28,2], "classlost_1_1_generated_pipeline_input.html#a6aa7ffe5170d43fe925fdf668a54cc9f":[3,0,0,28,3], +"classlost_1_1_generated_pipeline_input.html#a7e48b3e9c25cfd4fb36cd600f05f5098":[3,0,0,28,0], "classlost_1_1_generated_pipeline_input.html#a7feccf083489e6ae34e943eb23ee237f":[3,0,0,28,5], "classlost_1_1_generated_pipeline_input.html#a9b4e6a0cea348568381061b6ebd1f926":[3,0,0,28,1], "classlost_1_1_generated_star.html":[3,0,0,22], +"classlost_1_1_generated_star.html#a1640005bdfe74569fe753009465524f8":[3,0,0,22,2], +"classlost_1_1_generated_star.html#a53c8237a1eef1b7b80c211a82905d339":[3,0,0,22,0], "classlost_1_1_generated_star.html#a75214eb4d1e17681b3e3a116a88af29a":[3,0,0,22,1], -"classlost_1_1_generated_star.html#aadcacbb1bf27616e20db9b86cde2e691":[3,0,0,22,2], -"classlost_1_1_generated_star.html#ad8406a16bdfb31b731d923d67a5afe71":[3,0,0,22,0], "classlost_1_1_geometric_voting_star_id_algorithm.html":[3,0,0,40], -"classlost_1_1_geometric_voting_star_id_algorithm.html#a34789f103fe935cdd41a9f053ba0b349":[3,0,0,40,0], +"classlost_1_1_geometric_voting_star_id_algorithm.html#aa846baf66d54b2dfc9212722d9be7518":[3,0,0,40,0], "classlost_1_1_geometric_voting_star_id_algorithm.html#adea674f2fdf9d0715655eddbb749ecf0":[3,0,0,40,1], "classlost_1_1_i_r_unidentified_centroid.html":[3,0,0,36], "classlost_1_1_i_r_unidentified_centroid.html#a15948657fda95018c8c700369da3e95d":[3,0,0,36,1], @@ -149,7 +149,7 @@ var NAVTREEINDEX0 = "classlost_1_1_i_r_unidentified_centroid.html#ab81769c837da795774d3f57f96328e5e":[3,0,0,36,2], "classlost_1_1_i_r_unidentified_centroid.html#adfabd54617aebb510f629878d3cc8ae6":[3,0,0,36,5], "classlost_1_1_i_r_unidentified_centroid.html#ae2439bce89692ce79d65232aa76fd539":[3,0,0,36,6], -"classlost_1_1_i_r_unidentified_centroid.html#aff8ec14ca85a2721d117906ffe3d2ac0":[3,0,0,36,3], +"classlost_1_1_i_r_unidentified_centroid.html#af7d40149f6387faa1aa0c8e54d2f0381":[3,0,0,36,3], "classlost_1_1_image.html":[3,0,0,25], "classlost_1_1_image.html#a1cf1464da2a2b11d9983ed1f022da26b":[3,0,0,25,1], "classlost_1_1_image.html#a705ef08de937ac85cf4a5c5e1084475e":[3,0,0,25,0], @@ -158,24 +158,24 @@ var NAVTREEINDEX0 = "classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#a79ba0874a9ad042d8c1df1fb4a56cbe6":[3,0,0,16,1], "classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#acb0e63042d1bd77c6c2879315b3ee51c":[3,0,0,16,0], "classlost_1_1_k_vector_index.html":[3,0,0,18], -"classlost_1_1_k_vector_index.html#a0afd6bf562595807812c947d5a39fbfe":[3,0,0,18,2], -"classlost_1_1_k_vector_index.html#a36e6030ff35142ccbe2010fd0130a02c":[3,0,0,18,5], +"classlost_1_1_k_vector_index.html#a45a9b59e42bd033e9a12fda60da06b92":[3,0,0,18,2], "classlost_1_1_k_vector_index.html#a6cd151dd8a9224581c9fdeaa40831379":[3,0,0,18,0], +"classlost_1_1_k_vector_index.html#a6f3c702412e3a12501bfabb5d7936b05":[3,0,0,18,5], "classlost_1_1_k_vector_index.html#a6f3ee957485b41a9bf8500232a8033fe":[3,0,0,18,3], -"classlost_1_1_k_vector_index.html#ac4ec31ab1bc698759601c24fb2c5672e":[3,0,0,18,1], +"classlost_1_1_k_vector_index.html#a98f4a93e0009038d0bb529412ac895d5":[3,0,0,18,1], "classlost_1_1_k_vector_index.html#aeb86d1680f58d5a5709618d615ea7267":[3,0,0,18,4], "classlost_1_1_mat3.html":[3,0,0,6], -"classlost_1_1_mat3.html#a1264f9b036c9b3022651082ddc3efd84":[3,0,0,6,9], "classlost_1_1_mat3.html#a155df2c02f28acae5a3b59757eca0945":[3,0,0,6,3], "classlost_1_1_mat3.html#a3975740eea4c1c33289feefb81453e6e":[3,0,0,6,1], "classlost_1_1_mat3.html#a4357c0052a4a3f4af9b4acfcc2de5622":[3,0,0,6,8], -"classlost_1_1_mat3.html#a4c1fc3f0ab4ec06bc0dab5585eca306b":[3,0,0,6,11], -"classlost_1_1_mat3.html#a672afcf04908553ca8fedd27b1004002":[3,0,0,6,0], +"classlost_1_1_mat3.html#a5a3c5d3bb1e90373f8ac1d2c16fca504":[3,0,0,6,2], "classlost_1_1_mat3.html#a8d1bdbb7028cc2d8c861b18ef64d9e27":[3,0,0,6,6], "classlost_1_1_mat3.html#ab850e8ba04b6d4822798379ba1c56dcf":[3,0,0,6,10], -"classlost_1_1_mat3.html#ad44fc5a52d4ff6868ae9f42f4d43e191":[3,0,0,6,4], +"classlost_1_1_mat3.html#aba95326b3dbabb03c53de174faf22383":[3,0,0,6,9], +"classlost_1_1_mat3.html#ac76b6f96d5642a1eb952162f194a6e7e":[3,0,0,6,0], +"classlost_1_1_mat3.html#ac8db5f06c33d2e3cb463c5d95f479939":[3,0,0,6,4], "classlost_1_1_mat3.html#add619b56d0870d447c35921beafabd7d":[3,0,0,6,7], -"classlost_1_1_mat3.html#add91dc6b5fbc16af21c0467bbdb13ae2":[3,0,0,6,2], +"classlost_1_1_mat3.html#ae38b2d47fb32bb2f8b8bf13dc8ce3b41":[3,0,0,6,11], "classlost_1_1_mat3.html#aec14b4e92d3d81ff52988e507aeb566d":[3,0,0,6,5], "classlost_1_1_multi_database.html":[3,0,0,20], "classlost_1_1_multi_database.html#a51b6553e5466c57c9ff0ae9655e35639":[3,0,0,20,0], @@ -183,7 +183,8 @@ var NAVTREEINDEX0 = "classlost_1_1_multi_database_entry.html":[3,0,0,21], "classlost_1_1_multi_database_entry.html#a4a8d44f79bc1acdbba0aae5ad21c3cbb":[3,0,0,21,1], "classlost_1_1_multi_database_entry.html#aaf297d5d21c88124667216df017679f4":[3,0,0,21,0], -"classlost_1_1_multi_database_entry.html#aeede63708b59ea0086338286eef438c8":[3,0,0,21,2], +"classlost_1_1_multi_database_entry.html#ace2cf20a17ec8c58e40965438df8df06":[3,0,0,21,2], +"classlost_1_1_multi_database_entry.html#aeede63708b59ea0086338286eef438c8":[3,0,0,21,3], "classlost_1_1_pair_distance_involving_iterator.html":[3,0,0,37], "classlost_1_1_pair_distance_involving_iterator.html#a192e6cf4441f25430f6e4c1a558f8b70":[3,0,0,37,1], "classlost_1_1_pair_distance_involving_iterator.html#a662dd99588f341c15303363746c5a544":[3,0,0,37,3], @@ -192,12 +193,12 @@ var NAVTREEINDEX0 = "classlost_1_1_pair_distance_involving_iterator.html#aab0b583ba5779f592913fe7d7cb90e4a":[3,0,0,37,0], "classlost_1_1_pair_distance_k_vector_database.html":[3,0,0,19], "classlost_1_1_pair_distance_k_vector_database.html#a0b1b8bf73fa17c88abaf479fa79be96b":[3,0,0,19,5], -"classlost_1_1_pair_distance_k_vector_database.html#a203c5b10c6490adaf102d016a160b3f9":[3,0,0,19,6], +"classlost_1_1_pair_distance_k_vector_database.html#a2df6cf629cb564bc9ad47f724cbf10b0":[3,0,0,19,6], +"classlost_1_1_pair_distance_k_vector_database.html#a4db3849497b621317addfb332fd743cc":[3,0,0,19,4], "classlost_1_1_pair_distance_k_vector_database.html#a63c9e16675f56b66cc3740fb96c55dfc":[3,0,0,19,0], -"classlost_1_1_pair_distance_k_vector_database.html#a74b37c794ec625196a5bed9326501332":[3,0,0,19,3], -"classlost_1_1_pair_distance_k_vector_database.html#a892b10b967cbbad63625f807b8a73fa2":[3,0,0,19,1], -"classlost_1_1_pair_distance_k_vector_database.html#a8d2180c0b5a9900a967dfadac71e17b6":[3,0,0,19,2], -"classlost_1_1_pair_distance_k_vector_database.html#af7f18bf54bb9f86d7fc023f71b491178":[3,0,0,19,4], +"classlost_1_1_pair_distance_k_vector_database.html#ad76a05c909ea68d6084f942f3623b8ed":[3,0,0,19,1], +"classlost_1_1_pair_distance_k_vector_database.html#ae88622306fc1b554a5c86476b0e815af":[3,0,0,19,2], +"classlost_1_1_pair_distance_k_vector_database.html#aec5c08310e5f796a9025300f9d8754e3":[3,0,0,19,3], "classlost_1_1_pipeline.html":[3,0,0,32], "classlost_1_1_pipeline.html#a3a135d2c7d1ab3ed8a05006fe5c7daa8":[3,0,0,32,1], "classlost_1_1_pipeline.html#a680908f5f23f826f938acd07074775cb":[3,0,0,32,4], @@ -224,30 +225,29 @@ var NAVTREEINDEX0 = "classlost_1_1_png_pipeline_input.html#acf5c26f8f9ac954ec16bb46938e76672":[3,0,0,29,2], "classlost_1_1_png_pipeline_input.html#adee57652282fb256ea2deeb737b81afe":[3,0,0,29,0], "classlost_1_1_pyramid_star_id_algorithm.html":[3,0,0,41], +"classlost_1_1_pyramid_star_id_algorithm.html#a558b3037bf30cd916ce7c2236999912c":[3,0,0,41,0], "classlost_1_1_pyramid_star_id_algorithm.html#ac4d954f0b508e6b1818f416cbed5c67a":[3,0,0,41,1], -"classlost_1_1_pyramid_star_id_algorithm.html#af49d0a219e84d31fccdc927aa7476d50":[3,0,0,41,0], "classlost_1_1_quaternion.html":[3,0,0,8], +"classlost_1_1_quaternion.html#a017e02bf5ca5630d4469755e3fed0b54":[3,0,0,8,2], "classlost_1_1_quaternion.html#a0df3e917ca129d6a8d608d49ab9e5bbd":[3,0,0,8,5], +"classlost_1_1_quaternion.html#a29cfd61187f0b99d589d8b7cc46747e1":[3,0,0,8,15], "classlost_1_1_quaternion.html#a2eace9c3a35569109c949b7d8f1bc96e":[3,0,0,8,14], +"classlost_1_1_quaternion.html#a4122fd09cf9e8d1ecf408873881da55e":[3,0,0,8,4], "classlost_1_1_quaternion.html#a565b9cb827d1938fe0b88aaa19093686":[3,0,0,8,13], "classlost_1_1_quaternion.html#a570198dc9f0669cb34d715fbf9e62578":[3,0,0,8,9], -"classlost_1_1_quaternion.html#a5d3b137eb8c75c996c3f25a4fdc7bde2":[3,0,0,8,12], +"classlost_1_1_quaternion.html#a5b3471fa3003bd2cfa1ec40dfe75bcca":[3,0,0,8,17], +"classlost_1_1_quaternion.html#a6128486aac9faa766c2605f54dfc3647":[3,0,0,8,3], "classlost_1_1_quaternion.html#a6436279d8b3bc9a764c10877f810add9":[3,0,0,8,6], "classlost_1_1_quaternion.html#a6d8e723c0c49869742c938a0dcb38d2f":[3,0,0,8,11], "classlost_1_1_quaternion.html#a6ff95b8ae5599c94d585bd9842dfa873":[3,0,0,8,0], -"classlost_1_1_quaternion.html#a815259d4abdb84d5b3edbededb0764a8":[3,0,0,8,16], -"classlost_1_1_quaternion.html#a819b0f409e60886138c0fae47c21e250":[3,0,0,8,4], +"classlost_1_1_quaternion.html#a8955013a6ea860afd03c4f7b6c1f7e90":[3,0,0,8,16], "classlost_1_1_quaternion.html#a8ebde5fe7f4422ba54775aa7e5d12756":[3,0,0,8,8], -"classlost_1_1_quaternion.html#a91c8378b5a2067015553533152bf3327":[3,0,0,8,10], -"classlost_1_1_quaternion.html#a93956549b0172d3a198a3100949c5b70":[3,0,0,8,18], -"classlost_1_1_quaternion.html#a94914610eb3c0ef3b32962505585130c":[3,0,0,8,17], "classlost_1_1_quaternion.html#aaf73dff6f30d740ded0ea2be0449b3b2":[3,0,0,8,1], -"classlost_1_1_quaternion.html#ac11be6116bc0db43cb7b84ec01e73e33":[3,0,0,8,7], -"classlost_1_1_quaternion.html#adcebe15481e86e3908caff22865b6742":[3,0,0,8,2], -"classlost_1_1_quaternion.html#aef18b43911c9bc9ca7bb1590efec9bff":[3,0,0,8,3], -"classlost_1_1_quaternion.html#af91fd942679a1445421c93c4db9628b2":[3,0,0,8,15], +"classlost_1_1_quaternion.html#ab302f2d15fb324c68efce001a5757726":[3,0,0,8,10], +"classlost_1_1_quaternion.html#aba059c6fa2c2f4df17eecf36d12050d7":[3,0,0,8,18], +"classlost_1_1_quaternion.html#ac591d4b58b2890bd7f4bb0a331418001":[3,0,0,8,7], +"classlost_1_1_quaternion.html#aec6d6d268e364a2f8cca0346819e4230":[3,0,0,8,12], "classlost_1_1_quest_algorithm.html":[3,0,0,3], "classlost_1_1_quest_algorithm.html#acd9f32ebd3a0873346f752e04e477b23":[3,0,0,3,0], -"classlost_1_1_serialize_context.html":[3,0,0,34], -"classlost_1_1_serialize_context.html#a35da132ef4f4dee819d816b8c3b33536":[3,0,0,34,1] +"classlost_1_1_serialize_context.html":[3,0,0,34] }; diff --git a/navtreeindex1.js b/navtreeindex1.js index 80977733..51e760b9 100644 --- a/navtreeindex1.js +++ b/navtreeindex1.js @@ -1,26 +1,27 @@ var NAVTREEINDEX1 = { -"classlost_1_1_serialize_context.html#a819c635a0a3ac43a4a8c9f351c47e4fd":[3,0,0,34,0], +"classlost_1_1_serialize_context.html#a336ba4abc0106fd590f9eae9dbb16f04":[3,0,0,34,3], +"classlost_1_1_serialize_context.html#a35da132ef4f4dee819d816b8c3b33536":[3,0,0,34,1], "classlost_1_1_serialize_context.html#a927e0e4500eb707c30bf17a67f9128c7":[3,0,0,34,2], "classlost_1_1_serialize_context.html#a93856379ded65d82189d464c8a384596":[3,0,0,34,4], -"classlost_1_1_serialize_context.html#ae3fb3b0e7864f28aed9403532f676d24":[3,0,0,34,3], +"classlost_1_1_serialize_context.html#aa64d705cf36948edd399ae0081723885":[3,0,0,34,0], "classlost_1_1_star.html":[3,0,0,43], -"classlost_1_1_star.html#a609af663e28795ba0ea2752fad193f8b":[3,0,0,43,0], +"classlost_1_1_star.html#a1773623d5ae06132be712c11eaff2844":[3,0,0,43,6], +"classlost_1_1_star.html#a34c4cb3833310e0afe4715602210e595":[3,0,0,43,0], "classlost_1_1_star.html#a63e85dbeb2f271e63b2d975cf83ae1b3":[3,0,0,43,2], "classlost_1_1_star.html#a8e9b2320d742fb5324397ac406c859ea":[3,0,0,43,4], +"classlost_1_1_star.html#a91019f88f47806e59cabb67b014bb55a":[3,0,0,43,1], +"classlost_1_1_star.html#a9cb9dd9f12c0e538eb55c0775505158a":[3,0,0,43,5], "classlost_1_1_star.html#aa39328327649f570b9008f08951af7bf":[3,0,0,43,3], -"classlost_1_1_star.html#abb1ed64c90d4f6508fdd1e75923175d6":[3,0,0,43,6], -"classlost_1_1_star.html#ac68887ed98b387fe4a4f437b847aa09a":[3,0,0,43,1], -"classlost_1_1_star.html#ad7bcae53e6ad611b8fb436eeb159da98":[3,0,0,43,5], "classlost_1_1_star_id_algorithm.html":[3,0,0,38], "classlost_1_1_star_id_algorithm.html#a1c440e5ca7c623e3dd1fc8958eac99de":[3,0,0,38,0], "classlost_1_1_star_id_algorithm.html#a303db15af0aecc9c4053a81429f8667c":[3,0,0,38,1], "classlost_1_1_star_identifier.html":[3,0,0,44], +"classlost_1_1_star_identifier.html#a09370ad7bc81de5a82c049d6cc64f0d3":[3,0,0,44,5], "classlost_1_1_star_identifier.html#a643cda988c3a7e9e1dd79ec77e7bb2b2":[3,0,0,44,2], "classlost_1_1_star_identifier.html#a9743c39504a863334c5cfb62263f22c8":[3,0,0,44,3], "classlost_1_1_star_identifier.html#ad0ad99d3e7f46b46101983f2bfc05898":[3,0,0,44,0], "classlost_1_1_star_identifier.html#af59a1b9b343e7cb659073d36dca24567":[3,0,0,44,1], -"classlost_1_1_star_identifier.html#afaace9db445eee4b7ff239fbb71bba57":[3,0,0,44,5], "classlost_1_1_star_identifier.html#afb04c9b116a8a67e31083d50e28cdce2":[3,0,0,44,4], "classlost_1_1_triad_algorithm.html":[3,0,0,2], "classlost_1_1_triad_algorithm.html#a7c47290a94c74458995f5307e2486fc9":[3,0,0,2,0], @@ -29,34 +30,73 @@ var NAVTREEINDEX1 = "classlost_1_1_user_specified_output_stream.html#a4dcbbf27cfacdc73f038e06532a73301":[3,0,0,24,0], "classlost_1_1_user_specified_output_stream.html#a51c18ff9010b97319ef32fd8094f2239":[3,0,0,24,2], "classlost_1_1_vec3.html":[3,0,0,5], -"classlost_1_1_vec3.html#a03931f54c9c605a7f2fbc4ba39fe8d61":[3,0,0,5,6], -"classlost_1_1_vec3.html#a0d3ab5c494dfd3538f1be078c3e3b19e":[3,0,0,5,1], "classlost_1_1_vec3.html#a13c75aca8d96b36a1c004f770d3bf55e":[3,0,0,5,3], -"classlost_1_1_vec3.html#a2840bbc8330dd9838f938bf15a2b3c04":[3,0,0,5,11], -"classlost_1_1_vec3.html#a50ebc2fd588a7ecc8653166d74b4f4b9":[3,0,0,5,10], +"classlost_1_1_vec3.html#a429adb38ed953580c5d319c3405600b5":[3,0,0,5,4], +"classlost_1_1_vec3.html#a4e5f7e17cafd3a1184962363f0ee123e":[3,0,0,5,2], "classlost_1_1_vec3.html#a571a631a6bd21ff61f9111c98f751e5f":[3,0,0,5,8], -"classlost_1_1_vec3.html#a6ea27eb416b9c3475439a29b0e2bf82d":[3,0,0,5,2], +"classlost_1_1_vec3.html#a5a66659f823e2cba96e764bfd8b77d3f":[3,0,0,5,6], +"classlost_1_1_vec3.html#a69d1b9c2a70b2d46ab94f7fea631d9ad":[3,0,0,5,11], +"classlost_1_1_vec3.html#a71a736ddded55f18df2e169851e0e130":[3,0,0,5,10], "classlost_1_1_vec3.html#a80dad024720f0d4289abeca0e5e21c97":[3,0,0,5,5], -"classlost_1_1_vec3.html#a8725a72070e4f730e3c0b0ba8aea0c9a":[3,0,0,5,4], -"classlost_1_1_vec3.html#a97adb523973ae539a5d8963d78569618":[3,0,0,5,9], "classlost_1_1_vec3.html#abe2b5a170b77a7b1e17008fa9dca20ba":[3,0,0,5,0], +"classlost_1_1_vec3.html#ad42993980fb53047751b5bb3d26a9f32":[3,0,0,5,1], +"classlost_1_1_vec3.html#adad32f6805cf76e283bfffc7060ea805":[3,0,0,5,9], "classlost_1_1_vec3.html#af2225f16a49cf3755816e22511e1b9a1":[3,0,0,5,7], "database-options_8hpp.html":[4,0,1,8], "database-options_8hpp_source.html":[4,0,1,8], "databases_8cpp.html":[4,0,1,9], -"databases_8cpp.html#a4753c4aab04ad2deb202dd8be458e5d8":[4,0,1,9,2], -"databases_8cpp.html#a56c54ae520919bdd6d87f291e02883d3":[4,0,1,9,5], -"databases_8cpp.html#a63bf3cd684687462bda2231e2aa1f14c":[4,0,1,9,1], +"databases_8cpp.html#a0227319e45ff29d6f61b7e083d01e31f":[4,0,1,9,5], "databases_8cpp.html#a68f14b0d645721125203e669cde68358":[4,0,1,9,3], -"databases_8cpp.html#ac0c0c9865d2c16d74149bf85366cdc18":[4,0,1,9,4], -"databases_8cpp.html#aefdad61aa2dbf38415d0345c1ff2916d":[4,0,1,9,6], +"databases_8cpp.html#a7df31f0f6e3ed20311231573630124dc":[4,0,1,9,1], +"databases_8cpp.html#a98d1507ab3e305ab47846133d82e4467":[4,0,1,9,7], +"databases_8cpp.html#a9a6ccd2f576c452a68db8152dc2edb24":[4,0,1,9,4], +"databases_8cpp.html#ad14088462298249d31b2c396c3be86f9":[4,0,1,9,6], +"databases_8cpp.html#ae06c1b87a560fb7d9de673b46ff60d9c":[4,0,1,9,2], "databases_8cpp_source.html":[4,0,1,9], "databases_8hpp.html":[4,0,1,10], -"databases_8hpp.html#a280b11c878f729f878b2968037ccbc3d":[4,0,1,10,7], -"databases_8hpp.html#a56c54ae520919bdd6d87f291e02883d3":[4,0,1,10,5], -"databases_8hpp.html#aaa2e81369410c8a787ec643333d1a7a8":[4,0,1,10,4], -"databases_8hpp.html#aefdad61aa2dbf38415d0345c1ff2916d":[4,0,1,10,6], +"databases_8hpp.html#a280b11c878f729f878b2968037ccbc3d":[4,0,1,10,9], +"databases_8hpp.html#a98d1507ab3e305ab47846133d82e4467":[4,0,1,10,8], +"databases_8hpp.html#a9a6ccd2f576c452a68db8152dc2edb24":[4,0,1,10,6], +"databases_8hpp.html#aaa2e81369410c8a787ec643333d1a7a8":[4,0,1,10,5], +"databases_8hpp.html#ad14088462298249d31b2c396c3be86f9":[4,0,1,10,7], +"databases_8hpp.html#af8eb463b9b79255956d34ca51d58754f":[4,0,1,10,4], "databases_8hpp_source.html":[4,0,1,10], +"decimal_8hpp.html":[4,0,1,11], +"decimal_8hpp.html#a0450d7258362349ee7654cefb54aaf57":[4,0,1,11,33], +"decimal_8hpp.html#a057efc464c7458a952d79d44bb1a0eec":[4,0,1,11,18], +"decimal_8hpp.html#a0722894990fe7d0ab7824f52dbbc9b1a":[4,0,1,11,31], +"decimal_8hpp.html#a09f424203ece4d54fdf0803dae4ef650":[4,0,1,11,3], +"decimal_8hpp.html#a0f5f80288df1dfd2b557bfdb3790dbc6":[4,0,1,11,13], +"decimal_8hpp.html#a15735ad0b5b14da97c2178edd6228edd":[4,0,1,11,15], +"decimal_8hpp.html#a2562bda367ecef5f1c60df62450e23ad":[4,0,1,11,28], +"decimal_8hpp.html#a261bd8f8874ffe8d498f9c3cb9af7f5c":[4,0,1,11,0], +"decimal_8hpp.html#a36c4a4a57b570617190116b1d05c7229":[4,0,1,11,11], +"decimal_8hpp.html#a386a0c2d14d7ddeae07a7cc94f323dfb":[4,0,1,11,26], +"decimal_8hpp.html#a3e2c08cf2cbb9071d37e64ec0444edad":[4,0,1,11,27], +"decimal_8hpp.html#a4239f65c1338d3621c3f5ce50d8ae928":[4,0,1,11,22], +"decimal_8hpp.html#a48c6d79be3f117fa2e9858e923a67d87":[4,0,1,11,12], +"decimal_8hpp.html#a5365adec6c470e04e3c3677276bdc280":[4,0,1,11,24], +"decimal_8hpp.html#a7759253b1830f717df4e9956191985f6":[4,0,1,11,21], +"decimal_8hpp.html#a7a155f9188b9b83cd40dafccc0b59b61":[4,0,1,11,32], +"decimal_8hpp.html#a83f92097e3d861905cafe34266f2eb85":[4,0,1,11,25], +"decimal_8hpp.html#a850856ae2421d80dec62fc6c36d26982":[4,0,1,11,16], +"decimal_8hpp.html#a89d8e637d15ccbfddbcfbbe06fd0dd70":[4,0,1,11,14], +"decimal_8hpp.html#a904c27af59c769840fd8e7fe742affd2":[4,0,1,11,29], +"decimal_8hpp.html#a9c74c7f21e27343c8a46da2ea345054d":[4,0,1,11,1], +"decimal_8hpp.html#a9eebd6e84e82d7ebb1eb46b3fe0a2679":[4,0,1,11,23], +"decimal_8hpp.html#a9f4f1ed42bca607dbe2a3326f9612ad6":[4,0,1,11,6], +"decimal_8hpp.html#aadce8b7d5c59d658cb596671b3330d02":[4,0,1,11,30], +"decimal_8hpp.html#ab0e9ec896c607297069fb48a163a5155":[4,0,1,11,20], +"decimal_8hpp.html#ab47e1ed4f2b4c9e27bc3eac8692dc0f8":[4,0,1,11,5], +"decimal_8hpp.html#ab83c62825423d139a8fc951417f38f75":[4,0,1,11,4], +"decimal_8hpp.html#ad9ba1d630c8789578b5f7a31b1d22c51":[4,0,1,11,8], +"decimal_8hpp.html#adb7c3a168fb2dae974fd520cbc3aca4d":[4,0,1,11,17], +"decimal_8hpp.html#aec47c5335165b89764e2d598af713495":[4,0,1,11,7], +"decimal_8hpp.html#aecfbc39709657fd5eecb522d45a9ab54":[4,0,1,11,9], +"decimal_8hpp.html#aee57d54bc1c144bea46cd7e049f50aac":[4,0,1,11,2], +"decimal_8hpp.html#af45501daadddc6b37e8565c1b618803c":[4,0,1,11,19], +"decimal_8hpp.html#af8bb135de5573bfe8c0d7d43cacacee9":[4,0,1,11,10], +"decimal_8hpp_source.html":[4,0,1,11], "dir_138aff360eb965c43b94267b8d1ce09e.html":[4,0,0], "dir_68267d1309a1af8e8297ef4c3efbcdba.html":[4,0,1], "files.html":[4,0], @@ -91,163 +131,123 @@ var NAVTREEINDEX1 = "functions_z.html":[3,3,0,24], "functions_~.html":[3,3,0,25], "globals.html":[4,1,0], -"globals_defs.html":[4,1,2], +"globals_defs.html":[4,1,3], "globals_func.html":[4,1,1], +"globals_type.html":[4,1,2], "hierarchy.html":[3,2], "index.html":[0], "index.html":[], "index.html#autotoc_md1":[0,0], "index.html#autotoc_md2":[0,1], -"io_8cpp.html":[4,0,1,11], -"io_8cpp.html#a0fe01051c958fa8ced02e772aefdc991":[4,0,1,11,11], -"io_8cpp.html#a106f3da2d75b2af268f5e9abfc7ea681":[4,0,1,11,8], -"io_8cpp.html#a1628471efc4a0d438d497c67d641c6c4":[4,0,1,11,2], -"io_8cpp.html#a1c3caf3f02508df448ec6c761a2d764e":[4,0,1,11,26], -"io_8cpp.html#a21ee58ad60e736a58c95394ae5f799f4":[4,0,1,11,4], -"io_8cpp.html#a2de388cdf7e0c6b9c572903605480568":[4,0,1,11,9], -"io_8cpp.html#a41f5bb669129790c12bd70e1d641441f":[4,0,1,11,10], -"io_8cpp.html#a5552f98af725481dee70b9b39e12e064":[4,0,1,11,7], -"io_8cpp.html#a69cfc1189a8f18fb6e6a6d400a8a1311":[4,0,1,11,20], -"io_8cpp.html#a72e465adc8dcb532e46b956261bf93fe":[4,0,1,11,17], -"io_8cpp.html#a8298f03c0d1b408401e4200d17305018":[4,0,1,11,25], -"io_8cpp.html#a92e491a9e204a882bc0635b7d943e085":[4,0,1,11,5], -"io_8cpp.html#a9b3311f3ebda1282ad7bf650de30cf45":[4,0,1,11,27], -"io_8cpp.html#a9eaa81a9fc5f13a447e4209b5b230308":[4,0,1,11,13], -"io_8cpp.html#aa20cea40f78380bdd173e9636fe1f442":[4,0,1,11,3], -"io_8cpp.html#ab001adf3b7887c7b7a72d308893c48b2":[4,0,1,11,6], -"io_8cpp.html#ab6f75e99dbde3eede31e0b3a7c56878e":[4,0,1,11,24], -"io_8cpp.html#ac0ac19dd0e9f2f1ce471617d9c837949":[4,0,1,11,14], -"io_8cpp.html#aca0350641c0c62bbf6ff900634e92b8e":[4,0,1,11,22], -"io_8cpp.html#ad01d904e4a6bf5aed4a1b8f97f1416c5":[4,0,1,11,16], -"io_8cpp.html#ad2caa7f022ed5c5dba03ab479414dafc":[4,0,1,11,21], -"io_8cpp.html#ad4bb00e632a9200a8e42f620e460dd60":[4,0,1,11,23], -"io_8cpp.html#aec3a2012bf028c749ba53a46a50ad172":[4,0,1,11,15], -"io_8cpp.html#af0b05482238f0a180d5906f0e43ac3e2":[4,0,1,11,18], -"io_8cpp.html#afd017fba4090829c28c431509c4cfc1c":[4,0,1,11,12], -"io_8cpp.html#afd0ad3291fda13bb1bf50fb13906769c":[4,0,1,11,19], -"io_8cpp_source.html":[4,0,1,11], -"io_8hpp.html":[4,0,1,12], -"io_8hpp.html#a1c3caf3f02508df448ec6c761a2d764e":[4,0,1,12,23], -"io_8hpp.html#a41f5bb669129790c12bd70e1d641441f":[4,0,1,12,13], -"io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,12,10], -"io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,12,11], -"io_8hpp.html#ab6f75e99dbde3eede31e0b3a7c56878e":[4,0,1,12,22], -"io_8hpp.html#ac0ac19dd0e9f2f1ce471617d9c837949":[4,0,1,12,14], -"io_8hpp.html#aca0350641c0c62bbf6ff900634e92b8e":[4,0,1,12,20], -"io_8hpp.html#acbd12c57a0797b6b786ebfc87aae0c84":[4,0,1,12,12], -"io_8hpp.html#ad01d904e4a6bf5aed4a1b8f97f1416c5":[4,0,1,12,15], -"io_8hpp.html#ad2caa7f022ed5c5dba03ab479414dafc":[4,0,1,12,19], -"io_8hpp.html#ad4bb00e632a9200a8e42f620e460dd60":[4,0,1,12,21], -"io_8hpp.html#ada936d93de2f3661518d1215d73ade78":[4,0,1,12,17], -"io_8hpp.html#adbeb358ec7311bc89886a09aa017388c":[4,0,1,12,24], -"io_8hpp.html#af0b05482238f0a180d5906f0e43ac3e2":[4,0,1,12,16], -"io_8hpp.html#afd0ad3291fda13bb1bf50fb13906769c":[4,0,1,12,18], -"io_8hpp_source.html":[4,0,1,12], -"main_8cpp.html":[4,0,1,13], -"main_8cpp.html#a089bd9a13d6fb6149353c65fdf20f83c":[4,0,1,13,6], -"main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[4,0,1,13,8], -"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,3], -"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,0], -"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,1], -"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,5], -"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,4], -"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,2], -"main_8cpp.html#ad716669cae846c56701cf10aff6f8e5f":[4,0,1,13,7], -"main_8cpp_source.html":[4,0,1,13], +"io_8cpp.html":[4,0,1,12], +"io_8cpp.html#a0fe01051c958fa8ced02e772aefdc991":[4,0,1,12,11], +"io_8cpp.html#a106f3da2d75b2af268f5e9abfc7ea681":[4,0,1,12,8], +"io_8cpp.html#a1628471efc4a0d438d497c67d641c6c4":[4,0,1,12,2], +"io_8cpp.html#a1c3caf3f02508df448ec6c761a2d764e":[4,0,1,12,26], +"io_8cpp.html#a21ee58ad60e736a58c95394ae5f799f4":[4,0,1,12,4], +"io_8cpp.html#a2788319f0c0f74fbd29f5249501482be":[4,0,1,12,13], +"io_8cpp.html#a2de388cdf7e0c6b9c572903605480568":[4,0,1,12,9], +"io_8cpp.html#a41f5bb669129790c12bd70e1d641441f":[4,0,1,12,10], +"io_8cpp.html#a5552f98af725481dee70b9b39e12e064":[4,0,1,12,7], +"io_8cpp.html#a69cfc1189a8f18fb6e6a6d400a8a1311":[4,0,1,12,20], +"io_8cpp.html#a72e465adc8dcb532e46b956261bf93fe":[4,0,1,12,17], +"io_8cpp.html#a8298f03c0d1b408401e4200d17305018":[4,0,1,12,25], +"io_8cpp.html#a863cf60540007697be2b6572e6a2e614":[4,0,1,12,24], +"io_8cpp.html#a92e491a9e204a882bc0635b7d943e085":[4,0,1,12,5], +"io_8cpp.html#a9b3311f3ebda1282ad7bf650de30cf45":[4,0,1,12,27], +"io_8cpp.html#aa20cea40f78380bdd173e9636fe1f442":[4,0,1,12,3], +"io_8cpp.html#ab001adf3b7887c7b7a72d308893c48b2":[4,0,1,12,6], +"io_8cpp.html#ac0ac19dd0e9f2f1ce471617d9c837949":[4,0,1,12,14], +"io_8cpp.html#aca0350641c0c62bbf6ff900634e92b8e":[4,0,1,12,22], +"io_8cpp.html#ad01d904e4a6bf5aed4a1b8f97f1416c5":[4,0,1,12,16], +"io_8cpp.html#ad2caa7f022ed5c5dba03ab479414dafc":[4,0,1,12,21], +"io_8cpp.html#ad4bb00e632a9200a8e42f620e460dd60":[4,0,1,12,23], +"io_8cpp.html#ae28fabb74b772e447140deee8de524f0":[4,0,1,12,12], +"io_8cpp.html#aec3a2012bf028c749ba53a46a50ad172":[4,0,1,12,15], +"io_8cpp.html#af0b05482238f0a180d5906f0e43ac3e2":[4,0,1,12,18], +"io_8cpp.html#afd0ad3291fda13bb1bf50fb13906769c":[4,0,1,12,19], +"io_8cpp_source.html":[4,0,1,12], +"io_8hpp.html":[4,0,1,13], +"io_8hpp.html#a1c3caf3f02508df448ec6c761a2d764e":[4,0,1,13,23], +"io_8hpp.html#a41f5bb669129790c12bd70e1d641441f":[4,0,1,13,13], +"io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,10], +"io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,13,11], +"io_8hpp.html#a863cf60540007697be2b6572e6a2e614":[4,0,1,13,22], +"io_8hpp.html#ac0ac19dd0e9f2f1ce471617d9c837949":[4,0,1,13,14], +"io_8hpp.html#aca0350641c0c62bbf6ff900634e92b8e":[4,0,1,13,20], +"io_8hpp.html#acbd12c57a0797b6b786ebfc87aae0c84":[4,0,1,13,12], +"io_8hpp.html#ad01d904e4a6bf5aed4a1b8f97f1416c5":[4,0,1,13,15], +"io_8hpp.html#ad2caa7f022ed5c5dba03ab479414dafc":[4,0,1,13,19], +"io_8hpp.html#ad4bb00e632a9200a8e42f620e460dd60":[4,0,1,13,21], +"io_8hpp.html#ada936d93de2f3661518d1215d73ade78":[4,0,1,13,17], +"io_8hpp.html#adbeb358ec7311bc89886a09aa017388c":[4,0,1,13,24], +"io_8hpp.html#af0b05482238f0a180d5906f0e43ac3e2":[4,0,1,13,16], +"io_8hpp.html#afd0ad3291fda13bb1bf50fb13906769c":[4,0,1,13,18], +"io_8hpp_source.html":[4,0,1,13], +"main_8cpp.html":[4,0,1,14], +"main_8cpp.html#a089bd9a13d6fb6149353c65fdf20f83c":[4,0,1,14,6], +"main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627":[4,0,1,14,8], +"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,14,0], +"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,14,3], +"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,14,1], +"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,14,4], +"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,14,5], +"main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6":[4,0,1,14,2], +"main_8cpp.html#ad716669cae846c56701cf10aff6f8e5f":[4,0,1,14,7], +"main_8cpp_source.html":[4,0,1,14], "namespacelost.html":[2,0,0], -"namespacelost.html#a01c855b3690f601ec92a40471aa05ebd":[2,0,0,85], -"namespacelost.html#a07ccf05a4c7ac13fbee5edb5beb309bb":[2,0,0,57], -"namespacelost.html#a08209cdf2c6b9415866d576343c35bf2":[2,0,0,105], -"namespacelost.html#a0f709f580bfbe3bd0196b50226f22683":[2,0,0,84], +"namespacelost.html#a000f9bcbfc18aa202849ef43a455cb20":[2,0,0,88], +"namespacelost.html#a0227319e45ff29d6f61b7e083d01e31f":[2,0,0,116], +"namespacelost.html#a08209cdf2c6b9415866d576343c35bf2":[2,0,0,106], +"namespacelost.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d":[2,0,0,110], +"namespacelost.html#a0bf2bbf8b3bc82f9647c9f327d1369de":[2,0,0,58], "namespacelost.html#a0fe01051c958fa8ced02e772aefdc991":[2,0,0,67], "namespacelost.html#a106f3da2d75b2af268f5e9abfc7ea681":[2,0,0,52], -"namespacelost.html#a10f0dede807e0a46e2a09defd4270f51":[2,0,0,82], -"namespacelost.html#a12fa960d591f9842a51451394cc86412":[2,0,0,114], -"namespacelost.html#a164fee04c6e5fd2fc2e2ca9274b745fa":[2,0,0,117], -"namespacelost.html#a1a50ad86abfc9430d15d2f855311a1f0":[2,0,0,81], -"namespacelost.html#a1c383b038ea9376eacf4858247d765be":[2,0,0,101], -"namespacelost.html#a1c3caf3f02508df448ec6c761a2d764e":[2,0,0,127], -"namespacelost.html#a1e9642f2c2d486db201514b9ff579811":[2,0,0,55], +"namespacelost.html#a10f83f3109f16381af2ee6b56e586271":[2,0,0,133], +"namespacelost.html#a12fa960d591f9842a51451394cc86412":[2,0,0,115], +"namespacelost.html#a164fee04c6e5fd2fc2e2ca9274b745fa":[2,0,0,118], +"namespacelost.html#a1c383b038ea9376eacf4858247d765be":[2,0,0,102], +"namespacelost.html#a1c3caf3f02508df448ec6c761a2d764e":[2,0,0,128], "namespacelost.html#a21ee58ad60e736a58c95394ae5f799f4":[2,0,0,45], +"namespacelost.html#a24e63568aa9052a67ee2a3bc1a7900b3":[2,0,0,123], +"namespacelost.html#a2788319f0c0f74fbd29f5249501482be":[2,0,0,86], "namespacelost.html#a27ae3010999abecce396cebbdee8ef0d":[2,0,0,60], "namespacelost.html#a280b11c878f729f878b2968037ccbc3d":[2,0,0,134], "namespacelost.html#a288b872531de219e9cfc87beb8d8bada":[2,0,0,53], -"namespacelost.html#a2cc7e2e970e07d707f25c00fcd3071a3":[2,0,0,113], +"namespacelost.html#a2cc7e2e970e07d707f25c00fcd3071a3":[2,0,0,114], "namespacelost.html#a2de388cdf7e0c6b9c572903605480568":[2,0,0,63], -"namespacelost.html#a3d0e0e4b5dd7521775ee2d00143ab022":[2,0,0,76], +"namespacelost.html#a3493422e7893b68e566182e4e2372a6e":[2,0,0,131], +"namespacelost.html#a36351539266df1a549d5e98ee01fc339":[2,0,0,82], +"namespacelost.html#a3d0e0e4b5dd7521775ee2d00143ab022":[2,0,0,77], "namespacelost.html#a41f5bb669129790c12bd70e1d641441f":[2,0,0,64], -"namespacelost.html#a4753c4aab04ad2deb202dd8be458e5d8":[2,0,0,69], +"namespacelost.html#a433010bbab5f3763241a7aa3f87fbfc7":[2,0,0,99], "namespacelost.html#a4bd359d9c09dbecb81c3a3e536f0b5c5":[2,0,0,54], +"namespacelost.html#a4c5445cb888227769955b2cdda5ee93a":[2,0,0,109], +"namespacelost.html#a4d066d222770cdbde925ab67813193dc":[2,0,0,57], +"namespacelost.html#a543c802e0faa7d19b8bfb148573309fe":[2,0,0,75], "namespacelost.html#a5552f98af725481dee70b9b39e12e064":[2,0,0,50], -"namespacelost.html#a56c54ae520919bdd6d87f291e02883d3":[2,0,0,116], -"namespacelost.html#a5bbe6ecaad42a3489cfd2b3482e7fc58":[2,0,0,58], +"namespacelost.html#a562a86693dfa8ef7024526934fbfa8bb":[2,0,0,124], +"namespacelost.html#a5bcac28daa68fac6e7141aea7d789e10":[2,0,0,125], "namespacelost.html#a5c01d4154fbfefd3af1f3c081a372035":[2,0,0,65], -"namespacelost.html#a5e7d67bec758d4922935c84b8a0f8526":[2,0,0,88], -"namespacelost.html#a6271e89ec246219f15d27942b98c8877":[2,0,0,95], -"namespacelost.html#a62a70a38d20ca4be158d9f592862aeb4":[2,0,0,124], -"namespacelost.html#a63a44b3abbcb5580d3ed71f1294f7bcd":[2,0,0,133], -"namespacelost.html#a63bf3cd684687462bda2231e2aa1f14c":[2,0,0,66], +"namespacelost.html#a65410f365157111a72350076d9c434c0":[2,0,0,111], "namespacelost.html#a66abb8e44054268322b5ccba535bb975":[2,0,0,135], "namespacelost.html#a686a62724d40abe3ccef8aa0b2d77afe":[2,0,0,72], "namespacelost.html#a68f14b0d645721125203e669cde68358":[2,0,0,71], -"namespacelost.html#a69cfc1189a8f18fb6e6a6d400a8a1311":[2,0,0,103], -"namespacelost.html#a6b951e30f05e0a748e6c906697002093":[2,0,0,56], +"namespacelost.html#a69cfc1189a8f18fb6e6a6d400a8a1311":[2,0,0,104], "namespacelost.html#a6bb9983e45dfa4b82b531ca96c397eed":[2,0,0,73], -"namespacelost.html#a7057fa740aebe1cbd43f3bafafff4ac1":[2,0,0,123], -"namespacelost.html#a716dcaf4d1704aa422252fcbc182e259":[2,0,0,130], +"namespacelost.html#a6bdf1016fe03a8c46f98bc4633f644d3":[2,0,0,56], +"namespacelost.html#a6ddca8ba6411ef602cc723abbbabbbdd":[2,0,0,85], "namespacelost.html#a72e465adc8dcb532e46b956261bf93fe":[2,0,0,92], -"namespacelost.html#a789d628bbeab011d5552a6dc551b77a2":[2,0,0,97], -"namespacelost.html#a7b5da8e7e7f7a91826c99bcc2be8f482":[2,0,0,77], -"namespacelost.html#a808e750fa7f99bc945155638df303fb7":[2,0,0,79], -"namespacelost.html#a8298f03c0d1b408401e4200d17305018":[2,0,0,126], -"namespacelost.html#a86727674f19d3158cb894b4518433477":[2,0,0,131], -"namespacelost.html#a86999ae9a82ae57b98cb14dd1654c3f3":[2,0,0,109], -"namespacelost.html#a90ef8f69cd7b77ba05701f833fdaa320":[2,0,0,98], -"namespacelost.html#a922de1d7dbef8e24f5ca6e7505a8e944":[2,0,0,122], +"namespacelost.html#a788b77a0d64ad007d1f71778cfc91a4e":[2,0,0,94], +"namespacelost.html#a789d628bbeab011d5552a6dc551b77a2":[2,0,0,98], +"namespacelost.html#a7b5da8e7e7f7a91826c99bcc2be8f482":[2,0,0,78], +"namespacelost.html#a7df31f0f6e3ed20311231573630124dc":[2,0,0,66], +"namespacelost.html#a808e750fa7f99bc945155638df303fb7":[2,0,0,80], +"namespacelost.html#a8298f03c0d1b408401e4200d17305018":[2,0,0,127], +"namespacelost.html#a863cf60540007697be2b6572e6a2e614":[2,0,0,126], +"namespacelost.html#a8a1cf9ee7fb4af17e417110197dd813e":[2,0,0,74], "namespacelost.html#a92e491a9e204a882bc0635b7d943e085":[2,0,0,47], -"namespacelost.html#a9704a9fb2cf67873155e69407a976074":[2,0,0,129], -"namespacelost.html#a9af0427ae10a3db5529f2f8c74497347":[2,0,0,119], -"namespacelost.html#a9b3311f3ebda1282ad7bf650de30cf45":[2,0,0,136], -"namespacelost.html#a9eaa81a9fc5f13a447e4209b5b230308":[2,0,0,86], -"namespacelost.html#aa2e68349539a9ef5024920ac4595e7e3":[2,0,0,120], -"namespacelost.html#aa3cff2017989bf09b8b4111c1a0bfdf5":[2,0,0,108], -"namespacelost.html#aaa2e81369410c8a787ec643333d1a7a8":[2,0,0,48], -"namespacelost.html#aaa3aa9350f84fa1b7725b5e3de8483ba":[2,0,0,128], -"namespacelost.html#ab001adf3b7887c7b7a72d308893c48b2":[2,0,0,49], -"namespacelost.html#ab1a9beb3699da6901d13dcebcb0e987b":[2,0,0,106], -"namespacelost.html#ab27cb6dc471b1c682f9dc67f41097529":[2,0,0,70], -"namespacelost.html#ab5201d0881b201c54c1a7b7c293523ba":[2,0,0,80], -"namespacelost.html#ab6f75e99dbde3eede31e0b3a7c56878e":[2,0,0,125], -"namespacelost.html#abf3a90819d379c9a4d0c48f385f52613":[2,0,0,74], -"namespacelost.html#ac0ac19dd0e9f2f1ce471617d9c837949":[2,0,0,89], -"namespacelost.html#ac0c0c9865d2c16d74149bf85366cdc18":[2,0,0,115], -"namespacelost.html#ac6dcbacca390790e2623b918f25a0ed2":[2,0,0,78], -"namespacelost.html#ac722314f3b14385ade7e5f05699ef006":[2,0,0,83], -"namespacelost.html#aca0350641c0c62bbf6ff900634e92b8e":[2,0,0,112], -"namespacelost.html#acbd12c57a0797b6b786ebfc87aae0c84":[2,0,0,51], -"namespacelost.html#acd1a58a1120e97d8cf060e3e9b11576c":[2,0,0,62], -"namespacelost.html#acd73775fd6b5bb0f4c48bfab3bc1552c":[2,0,0,102], -"namespacelost.html#ad01d904e4a6bf5aed4a1b8f97f1416c5":[2,0,0,91], -"namespacelost.html#ad2caa7f022ed5c5dba03ab479414dafc":[2,0,0,104], -"namespacelost.html#ad4bb00e632a9200a8e42f620e460dd60":[2,0,0,121], -"namespacelost.html#ad716669cae846c56701cf10aff6f8e5f":[2,0,0,59], -"namespacelost.html#ada936d93de2f3661518d1215d73ade78":[2,0,0,96], -"namespacelost.html#adb169fa5f416a7acc9c7a9c52b2c86a6":[2,0,0,132], -"namespacelost.html#adb9048b631cf1af6c33af2b0dca53c41":[2,0,0,94], -"namespacelost.html#adbeb358ec7311bc89886a09aa017388c":[2,0,0,137], -"namespacelost.html#adc5108f643b7657a835838c7f6411aa7":[2,0,0,110], -"namespacelost.html#ae05e275818c57f3b736b70236d0e6703":[2,0,0,87], -"namespacelost.html#ae369ca6366d9b3c350a14a403107641a":[2,0,0,61], -"namespacelost.html#aec3a2012bf028c749ba53a46a50ad172":[2,0,0,90], -"namespacelost.html#aecb22b335d98f9abefb94e377afa3bdb":[2,0,0,107], -"namespacelost.html#aef1a1d4dd4620ebdc2197877569a44f6":[2,0,0,46], -"namespacelost.html#aefdad61aa2dbf38415d0345c1ff2916d":[2,0,0,118], -"namespacelost.html#af0b05482238f0a180d5906f0e43ac3e2":[2,0,0,93], -"namespacelost.html#af37c1bfa9d31aeb6fcd705fffd13497c":[2,0,0,99], -"namespacelost.html#af4b38998ddebb02241ed73fec6af8f4f":[2,0,0,111], -"namespacelost.html#afd017fba4090829c28c431509c4cfc1c":[2,0,0,68], -"namespacelost.html#afd0ad3291fda13bb1bf50fb13906769c":[2,0,0,100], -"namespacelost.html#afeff6712fff1f0bfab088d35a25f52ab":[2,0,0,75], -"namespacemembers.html":[2,1,0], -"namespacemembers_func.html":[2,1,1] +"namespacelost.html#a94bdddcfa030dfce3201661f42cc7d01":[2,0,0,107], +"namespacelost.html#a95cb98b7b4a9224b281e8ebf8f83acd4":[2,0,0,95], +"namespacelost.html#a96ba4670682e2bfdbe3fd350b0162e38":[2,0,0,87] }; diff --git a/navtreeindex2.js b/navtreeindex2.js index 201a2e43..9b571788 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -1,70 +1,110 @@ var NAVTREEINDEX2 = { +"namespacelost.html#a9704a9fb2cf67873155e69407a976074":[2,0,0,130], +"namespacelost.html#a97bab24607652ec26c12d9a3d3aa52b2":[2,0,0,100], +"namespacelost.html#a98d1507ab3e305ab47846133d82e4467":[2,0,0,119], +"namespacelost.html#a9a6ccd2f576c452a68db8152dc2edb24":[2,0,0,97], +"namespacelost.html#a9af0427ae10a3db5529f2f8c74497347":[2,0,0,120], +"namespacelost.html#a9b3311f3ebda1282ad7bf650de30cf45":[2,0,0,136], +"namespacelost.html#aa2e68349539a9ef5024920ac4595e7e3":[2,0,0,121], +"namespacelost.html#aaa2e81369410c8a787ec643333d1a7a8":[2,0,0,48], +"namespacelost.html#aaa3aa9350f84fa1b7725b5e3de8483ba":[2,0,0,129], +"namespacelost.html#aad95264f15efbc0e15b439142007354c":[2,0,0,132], +"namespacelost.html#ab001adf3b7887c7b7a72d308893c48b2":[2,0,0,49], +"namespacelost.html#ab27cb6dc471b1c682f9dc67f41097529":[2,0,0,70], +"namespacelost.html#ab5201d0881b201c54c1a7b7c293523ba":[2,0,0,81], +"namespacelost.html#ac0ac19dd0e9f2f1ce471617d9c837949":[2,0,0,89], +"namespacelost.html#ac6dcbacca390790e2623b918f25a0ed2":[2,0,0,79], +"namespacelost.html#ac722314f3b14385ade7e5f05699ef006":[2,0,0,84], +"namespacelost.html#aca0350641c0c62bbf6ff900634e92b8e":[2,0,0,113], +"namespacelost.html#acbd12c57a0797b6b786ebfc87aae0c84":[2,0,0,51], +"namespacelost.html#acd1a58a1120e97d8cf060e3e9b11576c":[2,0,0,62], +"namespacelost.html#acd73775fd6b5bb0f4c48bfab3bc1552c":[2,0,0,103], +"namespacelost.html#ad01d904e4a6bf5aed4a1b8f97f1416c5":[2,0,0,91], +"namespacelost.html#ad14088462298249d31b2c396c3be86f9":[2,0,0,117], +"namespacelost.html#ad2caa7f022ed5c5dba03ab479414dafc":[2,0,0,105], +"namespacelost.html#ad4bb00e632a9200a8e42f620e460dd60":[2,0,0,122], +"namespacelost.html#ad716669cae846c56701cf10aff6f8e5f":[2,0,0,59], +"namespacelost.html#ada936d93de2f3661518d1215d73ade78":[2,0,0,96], +"namespacelost.html#adbeb358ec7311bc89886a09aa017388c":[2,0,0,137], +"namespacelost.html#ae06c1b87a560fb7d9de673b46ff60d9c":[2,0,0,69], +"namespacelost.html#ae254d39e7932059a7b1e3024272d48a2":[2,0,0,83], +"namespacelost.html#ae28fabb74b772e447140deee8de524f0":[2,0,0,68], +"namespacelost.html#ae369ca6366d9b3c350a14a403107641a":[2,0,0,61], +"namespacelost.html#ae543ffda8031beff6f8015261f1c495c":[2,0,0,108], +"namespacelost.html#aec3a2012bf028c749ba53a46a50ad172":[2,0,0,90], +"namespacelost.html#aef1a1d4dd4620ebdc2197877569a44f6":[2,0,0,46], +"namespacelost.html#af0b05482238f0a180d5906f0e43ac3e2":[2,0,0,93], +"namespacelost.html#af4b38998ddebb02241ed73fec6af8f4f":[2,0,0,112], +"namespacelost.html#af9b934e077b49bfc0b7eca88188013fe":[2,0,0,55], +"namespacelost.html#afd0ad3291fda13bb1bf50fb13906769c":[2,0,0,101], +"namespacelost.html#afeff6712fff1f0bfab088d35a25f52ab":[2,0,0,76], +"namespacemembers.html":[2,1,0], +"namespacemembers_func.html":[2,1,1], "namespacemembers_type.html":[2,1,3], "namespacemembers_vars.html":[2,1,2], "namespaces.html":[2,0], "pages.html":[], -"pipeline-options_8hpp.html":[4,0,1,14], -"pipeline-options_8hpp_source.html":[4,0,1,14], -"serialize-helpers_8hpp.html":[4,0,1,15], -"serialize-helpers_8hpp.html#a164fee04c6e5fd2fc2e2ca9274b745fa":[4,0,1,15,5], -"serialize-helpers_8hpp.html#a716dcaf4d1704aa422252fcbc182e259":[4,0,1,15,9], -"serialize-helpers_8hpp.html#a808e750fa7f99bc945155638df303fb7":[4,0,1,15,4], -"serialize-helpers_8hpp.html#a86727674f19d3158cb894b4518433477":[4,0,1,15,10], -"serialize-helpers_8hpp.html#a9704a9fb2cf67873155e69407a976074":[4,0,1,15,8], -"serialize-helpers_8hpp.html#a9af0427ae10a3db5529f2f8c74497347":[4,0,1,15,6], -"serialize-helpers_8hpp.html#aaa3aa9350f84fa1b7725b5e3de8483ba":[4,0,1,15,7], -"serialize-helpers_8hpp.html#ac6dcbacca390790e2623b918f25a0ed2":[4,0,1,15,3], -"serialize-helpers_8hpp.html#afeff6712fff1f0bfab088d35a25f52ab":[4,0,1,15,2], -"serialize-helpers_8hpp_source.html":[4,0,1,15], -"star-id-private_8hpp.html":[4,0,1,16], -"star-id-private_8hpp.html#a6271e89ec246219f15d27942b98c8877":[4,0,1,16,2], -"star-id-private_8hpp.html#adb9048b631cf1af6c33af2b0dca53c41":[4,0,1,16,1], -"star-id-private_8hpp_source.html":[4,0,1,16], -"star-id_8cpp.html":[4,0,1,17], -"star-id_8cpp.html#a0f709f580bfbe3bd0196b50226f22683":[4,0,1,17,4], -"star-id_8cpp.html#a1e9642f2c2d486db201514b9ff579811":[4,0,1,17,2], -"star-id_8cpp.html#a6271e89ec246219f15d27942b98c8877":[4,0,1,17,6], -"star-id_8cpp.html#a63a44b3abbcb5580d3ed71f1294f7bcd":[4,0,1,17,9], -"star-id_8cpp.html#a686a62724d40abe3ccef8aa0b2d77afe":[4,0,1,17,3], -"star-id_8cpp.html#a969aaf4a776c8d744d94c1c6972b7a77":[4,0,1,17,1], -"star-id_8cpp.html#acd73775fd6b5bb0f4c48bfab3bc1552c":[4,0,1,17,7], -"star-id_8cpp.html#adb9048b631cf1af6c33af2b0dca53c41":[4,0,1,17,5], -"star-id_8cpp.html#af4b38998ddebb02241ed73fec6af8f4f":[4,0,1,17,8], -"star-id_8cpp_source.html":[4,0,1,17], -"star-id_8hpp.html":[4,0,1,18], -"star-id_8hpp_source.html":[4,0,1,18], -"star-utils_8cpp.html":[4,0,1,19], -"star-utils_8cpp.html#a12fa960d591f9842a51451394cc86412":[4,0,1,19,7], -"star-utils_8cpp.html#a2cc7e2e970e07d707f25c00fcd3071a3":[4,0,1,19,6], -"star-utils_8cpp.html#a3d0e0e4b5dd7521775ee2d00143ab022":[4,0,1,19,1], -"star-utils_8cpp.html#a5c01d4154fbfefd3af1f3c081a372035":[4,0,1,19,0], -"star-utils_8cpp.html#a7b5da8e7e7f7a91826c99bcc2be8f482":[4,0,1,19,2], -"star-utils_8cpp.html#a90ef8f69cd7b77ba05701f833fdaa320":[4,0,1,19,4], -"star-utils_8cpp.html#ac722314f3b14385ade7e5f05699ef006":[4,0,1,19,3], -"star-utils_8cpp.html#af37c1bfa9d31aeb6fcd705fffd13497c":[4,0,1,19,5], -"star-utils_8cpp_source.html":[4,0,1,19], -"star-utils_8hpp.html":[4,0,1,20], -"star-utils_8hpp.html#a288b872531de219e9cfc87beb8d8bada":[4,0,1,20,4], -"star-utils_8hpp.html#a2cc7e2e970e07d707f25c00fcd3071a3":[4,0,1,20,10], -"star-utils_8hpp.html#a3d0e0e4b5dd7521775ee2d00143ab022":[4,0,1,20,6], -"star-utils_8hpp.html#a4bd359d9c09dbecb81c3a3e536f0b5c5":[4,0,1,20,5], -"star-utils_8hpp.html#a90ef8f69cd7b77ba05701f833fdaa320":[4,0,1,20,8], -"star-utils_8hpp.html#ac722314f3b14385ade7e5f05699ef006":[4,0,1,20,7], -"star-utils_8hpp.html#aef1a1d4dd4620ebdc2197877569a44f6":[4,0,1,20,3], -"star-utils_8hpp.html#af37c1bfa9d31aeb6fcd705fffd13497c":[4,0,1,20,9], -"star-utils_8hpp_source.html":[4,0,1,20], +"pipeline-options_8hpp.html":[4,0,1,15], +"pipeline-options_8hpp_source.html":[4,0,1,15], +"serialize-helpers_8hpp.html":[4,0,1,16], +"serialize-helpers_8hpp.html#a164fee04c6e5fd2fc2e2ca9274b745fa":[4,0,1,16,5], +"serialize-helpers_8hpp.html#a3493422e7893b68e566182e4e2372a6e":[4,0,1,16,9], +"serialize-helpers_8hpp.html#a808e750fa7f99bc945155638df303fb7":[4,0,1,16,4], +"serialize-helpers_8hpp.html#a9704a9fb2cf67873155e69407a976074":[4,0,1,16,8], +"serialize-helpers_8hpp.html#a9af0427ae10a3db5529f2f8c74497347":[4,0,1,16,6], +"serialize-helpers_8hpp.html#aaa3aa9350f84fa1b7725b5e3de8483ba":[4,0,1,16,7], +"serialize-helpers_8hpp.html#ac6dcbacca390790e2623b918f25a0ed2":[4,0,1,16,3], +"serialize-helpers_8hpp.html#afeff6712fff1f0bfab088d35a25f52ab":[4,0,1,16,2], +"serialize-helpers_8hpp_source.html":[4,0,1,16], +"star-id-private_8hpp.html":[4,0,1,17], +"star-id-private_8hpp.html#a788b77a0d64ad007d1f71778cfc91a4e":[4,0,1,17,1], +"star-id-private_8hpp.html#a95cb98b7b4a9224b281e8ebf8f83acd4":[4,0,1,17,2], +"star-id-private_8hpp_source.html":[4,0,1,17], +"star-id_8cpp.html":[4,0,1,18], +"star-id_8cpp.html#a10f83f3109f16381af2ee6b56e586271":[4,0,1,18,9], +"star-id_8cpp.html#a686a62724d40abe3ccef8aa0b2d77afe":[4,0,1,18,3], +"star-id_8cpp.html#a6ddca8ba6411ef602cc723abbbabbbdd":[4,0,1,18,4], +"star-id_8cpp.html#a788b77a0d64ad007d1f71778cfc91a4e":[4,0,1,18,5], +"star-id_8cpp.html#a95cb98b7b4a9224b281e8ebf8f83acd4":[4,0,1,18,6], +"star-id_8cpp.html#a969aaf4a776c8d744d94c1c6972b7a77":[4,0,1,18,1], +"star-id_8cpp.html#acd73775fd6b5bb0f4c48bfab3bc1552c":[4,0,1,18,7], +"star-id_8cpp.html#af4b38998ddebb02241ed73fec6af8f4f":[4,0,1,18,8], +"star-id_8cpp.html#af9b934e077b49bfc0b7eca88188013fe":[4,0,1,18,2], +"star-id_8cpp_source.html":[4,0,1,18], +"star-id_8hpp.html":[4,0,1,19], +"star-id_8hpp_source.html":[4,0,1,19], +"star-utils_8cpp.html":[4,0,1,20], +"star-utils_8cpp.html#a12fa960d591f9842a51451394cc86412":[4,0,1,20,7], +"star-utils_8cpp.html#a2cc7e2e970e07d707f25c00fcd3071a3":[4,0,1,20,6], +"star-utils_8cpp.html#a3d0e0e4b5dd7521775ee2d00143ab022":[4,0,1,20,1], +"star-utils_8cpp.html#a433010bbab5f3763241a7aa3f87fbfc7":[4,0,1,20,4], +"star-utils_8cpp.html#a5c01d4154fbfefd3af1f3c081a372035":[4,0,1,20,0], +"star-utils_8cpp.html#a7b5da8e7e7f7a91826c99bcc2be8f482":[4,0,1,20,2], +"star-utils_8cpp.html#a97bab24607652ec26c12d9a3d3aa52b2":[4,0,1,20,5], +"star-utils_8cpp.html#ac722314f3b14385ade7e5f05699ef006":[4,0,1,20,3], +"star-utils_8cpp_source.html":[4,0,1,20], +"star-utils_8hpp.html":[4,0,1,21], +"star-utils_8hpp.html#a288b872531de219e9cfc87beb8d8bada":[4,0,1,21,4], +"star-utils_8hpp.html#a2cc7e2e970e07d707f25c00fcd3071a3":[4,0,1,21,10], +"star-utils_8hpp.html#a3d0e0e4b5dd7521775ee2d00143ab022":[4,0,1,21,6], +"star-utils_8hpp.html#a433010bbab5f3763241a7aa3f87fbfc7":[4,0,1,21,8], +"star-utils_8hpp.html#a4bd359d9c09dbecb81c3a3e536f0b5c5":[4,0,1,21,5], +"star-utils_8hpp.html#a97bab24607652ec26c12d9a3d3aa52b2":[4,0,1,21,9], +"star-utils_8hpp.html#ac722314f3b14385ade7e5f05699ef006":[4,0,1,21,7], +"star-utils_8hpp.html#aef1a1d4dd4620ebdc2197877569a44f6":[4,0,1,21,3], +"star-utils_8hpp_source.html":[4,0,1,21], "structlost_1_1_centroid_params.html":[3,0,0,11], "structlost_1_1_centroid_params.html#a1ad1a1cdb476e0a0be922b01306c4f01":[3,0,0,11,6], -"structlost_1_1_centroid_params.html#a421ee37e9ef2ac330acaf8ea5bca733d":[3,0,0,11,7], "structlost_1_1_centroid_params.html#a6cfd4e00ebf2a42f650c0fb3dc3e9786":[3,0,0,11,1], "structlost_1_1_centroid_params.html#a94c747c963ad41ffed83a98e09061175":[3,0,0,11,8], "structlost_1_1_centroid_params.html#aa10ded620c3bbe4a1b60408e9cf90502":[3,0,0,11,2], -"structlost_1_1_centroid_params.html#ac340f612012e1f6b172cb40fcfa9ae08":[3,0,0,11,4], "structlost_1_1_centroid_params.html#acb5e6b2f74543a8d99c79820a5a3fae5":[3,0,0,11,5], "structlost_1_1_centroid_params.html#ace328e1aca0f0a9c707e00bc6d8f7e05":[3,0,0,11,9], "structlost_1_1_centroid_params.html#ae13910601515db040c7f164b8b1730f2":[3,0,0,11,0], "structlost_1_1_centroid_params.html#aedcfd69a00c255c1e9166508ee5e58ff":[3,0,0,11,3], +"structlost_1_1_centroid_params.html#af28e2f57440cb866fbab13d9e9be10ad":[3,0,0,11,7], +"structlost_1_1_centroid_params.html#afb3a3d1f3cabc2a77eac59b5abf3f273":[3,0,0,11,4], "structlost_1_1_i_w_co_g_params.html":[3,0,0,12], "structlost_1_1_i_w_co_g_params.html#a0b8ea8754acc0d8d48f6ef9cb1cc326c":[3,0,0,12,4], "structlost_1_1_i_w_co_g_params.html#a11bd1f88de67d8009ab086d92eb154e1":[3,0,0,12,5], @@ -76,9 +116,9 @@ var NAVTREEINDEX2 = "structlost_1_1_i_w_co_g_params.html#add92d3af1d8df7729ece6bacb53891f3":[3,0,0,12,3], "structlost_1_1_i_w_co_g_params.html#af2c1113648b480bf8d495773a76abc55":[3,0,0,12,8], "structlost_1_1_k_vector_pair.html":[3,0,0,17], +"structlost_1_1_k_vector_pair.html#a59e7fb46e41e1365b35b99c8ef9656ae":[3,0,0,17,0], "structlost_1_1_k_vector_pair.html#a9ebe0e523a60fa47f885becad718ffea":[3,0,0,17,1], "structlost_1_1_k_vector_pair.html#ae2cfc4c6e1a7f49c465a4ae548838fb4":[3,0,0,17,2], -"structlost_1_1_k_vector_pair.html#af099ea7e016e1e192592f9170a100453":[3,0,0,17,0], "structlost_1_1_pipeline_output.html":[3,0,0,30], "structlost_1_1_pipeline_output.html#a18bcd3f7aa001bd26cbc67a2ae3ffcca":[3,0,0,30,2], "structlost_1_1_pipeline_output.html#a36786786f6025272fc7befd01924d0d9":[3,0,0,30,3], @@ -93,13 +133,13 @@ var NAVTREEINDEX2 = "structlost_1_1_star_id_comparison.html#aba82ab6b00ac56a4536f9ac204639567":[3,0,0,31,1], "structlost_1_1_vec2.html":[3,0,0,4], "structlost_1_1_vec2.html#a031e09c0d302a0484fd250f0ef162cbf":[3,0,0,4,2], -"structlost_1_1_vec2.html#a358e9b88c20e79e262eaa413b41a446e":[3,0,0,4,0], -"structlost_1_1_vec2.html#a3a23d5b38c5873b4b870ace85fd30d05":[3,0,0,4,8], +"structlost_1_1_vec2.html#a3cb220d12e9a20f74f1afbad9d944e98":[3,0,0,4,1], +"structlost_1_1_vec2.html#a46a5e51d9689b023106896d4968ace02":[3,0,0,4,7], "structlost_1_1_vec2.html#a5e324a16898723879d58f2fd2160fe28":[3,0,0,4,6], -"structlost_1_1_vec2.html#a660fd87b54326ba7f95bb72b0e6bb230":[3,0,0,4,3], +"structlost_1_1_vec2.html#a736e460c2fa8d4a4cb013b376b6e2c8e":[3,0,0,4,4], "structlost_1_1_vec2.html#a764696131be64a986d12dd4492d5d6d5":[3,0,0,4,5], -"structlost_1_1_vec2.html#a9a9c151101dbb57060873e8af18927af":[3,0,0,4,7], -"structlost_1_1_vec2.html#ae6b4c9c8a5ba0f0b11b094ce48eb9a9a":[3,0,0,4,4], -"structlost_1_1_vec2.html#aff160839bdf98a18db114a9bd7baab72":[3,0,0,4,1], +"structlost_1_1_vec2.html#a8c0ffde8f19b509026b6a0d47ad2f5f3":[3,0,0,4,0], +"structlost_1_1_vec2.html#aa16d8d8335e0d1c0816885340242100f":[3,0,0,4,3], +"structlost_1_1_vec2.html#ab0daa57fd5f54435248f36e736411750":[3,0,0,4,8], "todo.html":[1] }; diff --git a/pages.html b/pages.html index b9c226d8..e31b05c7 100644 --- a/pages.html +++ b/pages.html @@ -97,7 +97,7 @@ diff --git a/pipeline-options_8hpp.html b/pipeline-options_8hpp.html index 73ecae27..9263d8b5 100644 --- a/pipeline-options_8hpp.html +++ b/pipeline-options_8hpp.html @@ -88,13 +88,16 @@
                                                                                                                                                                            #include <string>
                                                                                                                                                                            +#include "decimal.hpp"
                                                                                                                                                                            Include dependency graph for pipeline-options.hpp:
                                                                                                                                                                            - + + +
                                                                                                                                                                            @@ -116,7 +119,7 @@ diff --git a/pipeline-options_8hpp__incl.map b/pipeline-options_8hpp__incl.map index 1a871f14..293b1236 100644 --- a/pipeline-options_8hpp__incl.map +++ b/pipeline-options_8hpp__incl.map @@ -1,4 +1,6 @@ - + + + diff --git a/pipeline-options_8hpp__incl.md5 b/pipeline-options_8hpp__incl.md5 index a050d43a..23552aa2 100644 --- a/pipeline-options_8hpp__incl.md5 +++ b/pipeline-options_8hpp__incl.md5 @@ -1 +1 @@ -61408e7441e741ca67c36a9b775c54d6 \ No newline at end of file +18061df05525d08661d2a90041ff741f \ No newline at end of file diff --git a/pipeline-options_8hpp__incl.png b/pipeline-options_8hpp__incl.png index 10df16cc..21a13acb 100644 Binary files a/pipeline-options_8hpp__incl.png and b/pipeline-options_8hpp__incl.png differ diff --git a/pipeline-options_8hpp_source.html b/pipeline-options_8hpp_source.html index 0660dd5c..0aaec5d2 100644 --- a/pipeline-options_8hpp_source.html +++ b/pipeline-options_8hpp_source.html @@ -103,72 +103,77 @@
                                                                                                                                                                            14 
                                                                                                                                                                            15 #include <string>
                                                                                                                                                                            16 
                                                                                                                                                                            -
                                                                                                                                                                            17 // CAMERA
                                                                                                                                                                            -
                                                                                                                                                                            18 LOST_CLI_OPTION("png" , std::string, png , "" , optarg , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            19 LOST_CLI_OPTION("focal-length" , float , focalLength , 0 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            20 LOST_CLI_OPTION("pixel-size" , float , pixelSize , -1 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            21 LOST_CLI_OPTION("fov" , float , fov , 20 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            22 
                                                                                                                                                                            -
                                                                                                                                                                            23 // PIPELINE STAGES
                                                                                                                                                                            -
                                                                                                                                                                            24 LOST_CLI_OPTION("centroid-algo" , std::string, centroidAlgo , "" , optarg , "cog")
                                                                                                                                                                            -
                                                                                                                                                                            25 LOST_CLI_OPTION("centroid-dummy-stars" , int , centroidDummyNumStars , 5 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            26 LOST_CLI_OPTION("centroid-mag-filter" , float , centroidMagFilter , -1 , atof(optarg) , 5)
                                                                                                                                                                            -
                                                                                                                                                                            27 LOST_CLI_OPTION("centroid-filter-brightest", int , centroidFilterBrightest, -1 , atoi(optarg) , 10)
                                                                                                                                                                            -
                                                                                                                                                                            28 LOST_CLI_OPTION("database" , std::string, databasePath , "" , optarg , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            29 LOST_CLI_OPTION("star-id-algo" , std::string, idAlgo , "" , optarg , "pyramid")
                                                                                                                                                                            -
                                                                                                                                                                            30 LOST_CLI_OPTION("angular-tolerance" , float , angularTolerance , .04 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            31 LOST_CLI_OPTION("false-stars-estimate" , int , estimatedNumFalseStars , 500 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            32 LOST_CLI_OPTION("max-mismatch-probability" , float , maxMismatchProb , .001, atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            33 LOST_CLI_OPTION("attitude-algo" , std::string, attitudeAlgo , "" , optarg , "dqm")
                                                                                                                                                                            -
                                                                                                                                                                            34 
                                                                                                                                                                            -
                                                                                                                                                                            35 // OUTPUT COMPARISON
                                                                                                                                                                            -
                                                                                                                                                                            36 LOST_CLI_OPTION("centroid-compare-threshold", float , centroidCompareThreshold, 2 , atof(optarg), kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            37 LOST_CLI_OPTION("attitude-compare-threshold", float , attitudeCompareThreshold, 1 , atof(optarg), kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            38 LOST_CLI_OPTION("plot-raw-input" , std::string, plotRawInput , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            39 LOST_CLI_OPTION("plot-input" , std::string, plotInput , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            40 LOST_CLI_OPTION("plot-expected" , std::string, plotExpected , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            41 LOST_CLI_OPTION("plot-centroid-indices" , std::string, plotCentroidIndices , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            42 LOST_CLI_OPTION("plot-output" , std::string, plotOutput , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            43 LOST_CLI_OPTION("print-expected-centroids" , std::string, printExpectedCentroids , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            44 LOST_CLI_OPTION("print-input-centroids" , std::string, printInputCentroids , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            45 LOST_CLI_OPTION("print-actual-centroids" , std::string, printActualCentroids , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            46 LOST_CLI_OPTION("print-attitude" , std::string, printAttitude , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            47 LOST_CLI_OPTION("print-expected-attitude" , std::string, printExpectedAttitude , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            48 LOST_CLI_OPTION("print-speed" , std::string, printSpeed , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            49 LOST_CLI_OPTION("compare-centroids" , std::string, compareCentroids , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            50 LOST_CLI_OPTION("compare-star-ids" , std::string, compareStarIds , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            51 LOST_CLI_OPTION("compare-attitudes" , std::string, compareAttitudes , "", optarg , "-")
                                                                                                                                                                            -
                                                                                                                                                                            52 
                                                                                                                                                                            -
                                                                                                                                                                            53 // IMAGE GENERATION
                                                                                                                                                                            -
                                                                                                                                                                            54 LOST_CLI_OPTION("generate" , int , generate , 0 , atoi(optarg) , 1)
                                                                                                                                                                            -
                                                                                                                                                                            55 LOST_CLI_OPTION("generate-x-resolution" , int , generateXRes , 1024 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            56 LOST_CLI_OPTION("generate-y-resolution" , int , generateYRes , 1024 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            57 LOST_CLI_OPTION("generate-centroids-only" , bool , generateCentroidsOnly , false , atobool(optarg) , true)
                                                                                                                                                                            -
                                                                                                                                                                            58 LOST_CLI_OPTION("generate-zero-mag-photons" , float , generateZeroMagPhotons , 20000 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            59 LOST_CLI_OPTION("generate-saturation-photons" , float , generateSaturationPhotons , 150 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            60 LOST_CLI_OPTION("generate-spread-stddev" , float , generateSpreadStdDev , 1 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            61 LOST_CLI_OPTION("generate-shot-noise" , bool , generateShotNoise , true , atobool(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            62 LOST_CLI_OPTION("generate-dark-current" , float , generateDarkCurrent , 0.1 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            63 LOST_CLI_OPTION("generate-read-noise-stddev" , float , generateReadNoiseStdDev , .05 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            64 LOST_CLI_OPTION("generate-ra" , float , generateRa , 88 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            65 LOST_CLI_OPTION("generate-de" , float , generateDe , 7 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            66 LOST_CLI_OPTION("generate-roll" , float , generateRoll , 0 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            67 LOST_CLI_OPTION("generate-random-attitudes" , bool , generateRandomAttitudes , false , atobool(optarg) , true)
                                                                                                                                                                            -
                                                                                                                                                                            68 LOST_CLI_OPTION("generate-blur-ra" , float , generateBlurRa , 0 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            69 LOST_CLI_OPTION("generate-blur-de" , float , generateBlurDe , 0 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            70 LOST_CLI_OPTION("generate-blur-roll" , float , generateBlurRoll , 0 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            71 LOST_CLI_OPTION("generate-exposure" , float , generateExposure , 0.2 , atof(optarg) , 0.1)
                                                                                                                                                                            -
                                                                                                                                                                            72 LOST_CLI_OPTION("generate-readout-time" , float , generateReadoutTime , 0 , atof(optarg) , 0.01)
                                                                                                                                                                            -
                                                                                                                                                                            73 LOST_CLI_OPTION("generate-oversampling" , int , generateOversampling , 4 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            74 LOST_CLI_OPTION("generate-false-stars" , int , generateNumFalseStars , 0 , atoi(optarg) , 50)
                                                                                                                                                                            -
                                                                                                                                                                            75 LOST_CLI_OPTION("generate-false-min-mag" , float , generateFalseMinMag , 8 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            76 LOST_CLI_OPTION("generate-false-max-mag" , float , generateFalseMaxMag , 1 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            77 LOST_CLI_OPTION("generate-perturb-centroids" , float , generatePerturbationStddev, 0 , atof(optarg) , 0.2)
                                                                                                                                                                            -
                                                                                                                                                                            78 LOST_CLI_OPTION("generate-cutoff-mag" , float , generateCutoffMag , 6.0 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            79 LOST_CLI_OPTION("generate-seed" , int , generateSeed , 394859, atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            -
                                                                                                                                                                            80 LOST_CLI_OPTION("generate-time-based-seed" , bool , timeSeed , false , atobool(optarg) , true)
                                                                                                                                                                            -
                                                                                                                                                                            #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg)
                                                                                                                                                                            Definition: io.hpp:287
                                                                                                                                                                            -
                                                                                                                                                                            bool atobool(const char *cstr)
                                                                                                                                                                            Convert string to boolean.
                                                                                                                                                                            Definition: main.cpp:97
                                                                                                                                                                            +
                                                                                                                                                                            17 #include "decimal.hpp"
                                                                                                                                                                            +
                                                                                                                                                                            18 
                                                                                                                                                                            +
                                                                                                                                                                            19 // CAMERA
                                                                                                                                                                            +
                                                                                                                                                                            20 LOST_CLI_OPTION("png" , std::string , png , "" , optarg , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            21 LOST_CLI_OPTION("focal-length" , decimal , focalLength , 0 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            22 LOST_CLI_OPTION("pixel-size" , decimal , pixelSize , -1 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            23 LOST_CLI_OPTION("fov" , decimal , fov , 20 , atof(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            24 
                                                                                                                                                                            +
                                                                                                                                                                            25 // PIPELINE STAGES
                                                                                                                                                                            +
                                                                                                                                                                            26 LOST_CLI_OPTION("centroid-algo" , std::string, centroidAlgo , "" , optarg , "cog")
                                                                                                                                                                            +
                                                                                                                                                                            27 LOST_CLI_OPTION("centroid-dummy-stars" , int , centroidDummyNumStars , 5 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            28 LOST_CLI_OPTION("centroid-mag-filter" , decimal , centroidMagFilter , -1 , STR_TO_DECIMAL(optarg) , 5)
                                                                                                                                                                            +
                                                                                                                                                                            29 LOST_CLI_OPTION("centroid-filter-brightest", int , centroidFilterBrightest , -1 , atoi(optarg) , 10)
                                                                                                                                                                            +
                                                                                                                                                                            30 LOST_CLI_OPTION("database" , std::string, databasePath , "" , optarg , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            31 LOST_CLI_OPTION("star-id-algo" , std::string, idAlgo , "" , optarg , "pyramid")
                                                                                                                                                                            +
                                                                                                                                                                            32 LOST_CLI_OPTION("angular-tolerance" , decimal , angularTolerance , .04 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            33 LOST_CLI_OPTION("false-stars-estimate" , int , estimatedNumFalseStars , 500 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            34 LOST_CLI_OPTION("max-mismatch-probability" , decimal , maxMismatchProb , .001, STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            35 LOST_CLI_OPTION("attitude-algo" , std::string, attitudeAlgo , "" , optarg , "dqm")
                                                                                                                                                                            +
                                                                                                                                                                            36 
                                                                                                                                                                            +
                                                                                                                                                                            37 // OUTPUT COMPARISON
                                                                                                                                                                            +
                                                                                                                                                                            38 LOST_CLI_OPTION("centroid-compare-threshold", decimal , centroidCompareThreshold, 2 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            39 LOST_CLI_OPTION("attitude-compare-threshold", decimal , attitudeCompareThreshold, 1 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            40 LOST_CLI_OPTION("plot-raw-input" , std::string, plotRawInput , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            41 LOST_CLI_OPTION("plot-input" , std::string, plotInput , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            42 LOST_CLI_OPTION("plot-expected" , std::string, plotExpected , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            43 LOST_CLI_OPTION("plot-centroid-indices" , std::string, plotCentroidIndices , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            44 LOST_CLI_OPTION("plot-output" , std::string, plotOutput , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            45 LOST_CLI_OPTION("print-expected-centroids" , std::string, printExpectedCentroids , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            46 LOST_CLI_OPTION("print-input-centroids" , std::string, printInputCentroids , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            47 LOST_CLI_OPTION("print-actual-centroids" , std::string, printActualCentroids , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            48 LOST_CLI_OPTION("print-attitude" , std::string, printAttitude , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            49 LOST_CLI_OPTION("print-expected-attitude" , std::string, printExpectedAttitude , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            50 LOST_CLI_OPTION("print-speed" , std::string, printSpeed , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            51 LOST_CLI_OPTION("compare-centroids" , std::string, compareCentroids , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            52 LOST_CLI_OPTION("compare-star-ids" , std::string, compareStarIds , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            53 LOST_CLI_OPTION("compare-attitudes" , std::string, compareAttitudes , "", optarg , "-")
                                                                                                                                                                            +
                                                                                                                                                                            54 
                                                                                                                                                                            +
                                                                                                                                                                            55 // IMAGE GENERATION
                                                                                                                                                                            +
                                                                                                                                                                            56 LOST_CLI_OPTION("generate" , int , generate , 0 , atoi(optarg) , 1)
                                                                                                                                                                            +
                                                                                                                                                                            57 LOST_CLI_OPTION("generate-x-resolution" , int , generateXRes , 1024 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            58 LOST_CLI_OPTION("generate-y-resolution" , int , generateYRes , 1024 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            59 LOST_CLI_OPTION("generate-centroids-only" , bool , generateCentroidsOnly , false , atobool(optarg) , true)
                                                                                                                                                                            +
                                                                                                                                                                            60 LOST_CLI_OPTION("generate-zero-mag-photons" , decimal , generateZeroMagPhotons , 20000 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            61 LOST_CLI_OPTION("generate-saturation-photons" , decimal , generateSaturationPhotons , 150 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            62 LOST_CLI_OPTION("generate-spread-stddev" , decimal , generateSpreadStdDev , 1 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            63 LOST_CLI_OPTION("generate-shot-noise" , bool , generateShotNoise , true , atobool(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            64 LOST_CLI_OPTION("generate-dark-current" , decimal , generateDarkCurrent , 0.1 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            65 LOST_CLI_OPTION("generate-read-noise-stddev" , decimal , generateReadNoiseStdDev , .05 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            66 LOST_CLI_OPTION("generate-ra" , decimal , generateRa , 88 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            67 LOST_CLI_OPTION("generate-de" , decimal , generateDe , 7 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            68 LOST_CLI_OPTION("generate-roll" , decimal , generateRoll , 0 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            69 LOST_CLI_OPTION("generate-random-attitudes" , bool , generateRandomAttitudes , false , atobool(optarg) , true)
                                                                                                                                                                            +
                                                                                                                                                                            70 LOST_CLI_OPTION("generate-blur-ra" , decimal , generateBlurRa , 0 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            71 LOST_CLI_OPTION("generate-blur-de" , decimal , generateBlurDe , 0 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            72 LOST_CLI_OPTION("generate-blur-roll" , decimal , generateBlurRoll , 0 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            73 LOST_CLI_OPTION("generate-exposure" , decimal , generateExposure , 0.2 , STR_TO_DECIMAL(optarg) , 0.1)
                                                                                                                                                                            +
                                                                                                                                                                            74 LOST_CLI_OPTION("generate-readout-time" , decimal , generateReadoutTime , 0 , STR_TO_DECIMAL(optarg) , 0.01)
                                                                                                                                                                            +
                                                                                                                                                                            75 LOST_CLI_OPTION("generate-oversampling" , int , generateOversampling , 4 , atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            76 LOST_CLI_OPTION("generate-false-stars" , int , generateNumFalseStars , 0 , atoi(optarg) , 50)
                                                                                                                                                                            +
                                                                                                                                                                            77 LOST_CLI_OPTION("generate-false-min-mag" , decimal , generateFalseMinMag , 8 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            78 LOST_CLI_OPTION("generate-false-max-mag" , decimal , generateFalseMaxMag , 1 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            79 LOST_CLI_OPTION("generate-perturb-centroids" , decimal , generatePerturbationStddev, 0 , STR_TO_DECIMAL(optarg) , 0.2)
                                                                                                                                                                            +
                                                                                                                                                                            80 LOST_CLI_OPTION("generate-cutoff-mag" , decimal , generateCutoffMag , 6.0 , STR_TO_DECIMAL(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            81 LOST_CLI_OPTION("generate-seed" , int , generateSeed , 394859, atoi(optarg) , kNoDefaultArgument)
                                                                                                                                                                            +
                                                                                                                                                                            82 LOST_CLI_OPTION("generate-time-based-seed" , bool , timeSeed , false , atobool(optarg) , true)
                                                                                                                                                                            + +
                                                                                                                                                                            double decimal
                                                                                                                                                                            Definition: decimal.hpp:11
                                                                                                                                                                            +
                                                                                                                                                                            #define STR_TO_DECIMAL(x)
                                                                                                                                                                            Definition: decimal.hpp:12
                                                                                                                                                                            +
                                                                                                                                                                            #define LOST_CLI_OPTION(name, type, prop, defaultVal, converter, defaultArg)
                                                                                                                                                                            Definition: io.hpp:288
                                                                                                                                                                            +
                                                                                                                                                                            bool atobool(const char *cstr)
                                                                                                                                                                            Convert string to boolean.
                                                                                                                                                                            Definition: main.cpp:107
                                                                                                                                                                            const char kNoDefaultArgument
                                                                                                                                                                            Definition: io.hpp:32
                                                                                                                                                                            @@ -176,7 +181,7 @@ diff --git a/search/all_1.js b/search/all_1.js index 2326e243..461aa9bf 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -1,11 +1,11 @@ var searchData= [ ['addidentifiedstar_2',['AddIdentifiedStar',['../classlost_1_1_i_r_unidentified_centroid.html#ab81769c837da795774d3f57f96328e5e',1,'lost::IRUnidentifiedCentroid']]], - ['addtoallunidentifiedcentroids_3',['AddToAllUnidentifiedCentroids',['../namespacelost.html#a1e9642f2c2d486db201514b9ff579811',1,'lost']]], - ['angle_4',['Angle',['../namespacelost.html#a6b951e30f05e0a748e6c906697002093',1,'lost::Angle()'],['../classlost_1_1_quaternion.html#a819b0f409e60886138c0fae47c21e250',1,'lost::Quaternion::Angle()']]], - ['angleunit_5',['AngleUnit',['../namespacelost.html#a07ccf05a4c7ac13fbee5edb5beb309bb',1,'lost']]], - ['arcsectorad_6',['ArcSecToRad',['../namespacelost.html#a5bbe6ecaad42a3489cfd2b3482e7fc58',1,'lost']]], - ['at_7',['At',['../classlost_1_1_mat3.html#a672afcf04908553ca8fedd27b1004002',1,'lost::Mat3']]], + ['addtoallunidentifiedcentroids_3',['AddToAllUnidentifiedCentroids',['../namespacelost.html#af9b934e077b49bfc0b7eca88188013fe',1,'lost']]], + ['angle_4',['Angle',['../namespacelost.html#a6bdf1016fe03a8c46f98bc4633f644d3',1,'lost::Angle()'],['../classlost_1_1_quaternion.html#a4122fd09cf9e8d1ecf408873881da55e',1,'lost::Quaternion::Angle()']]], + ['angleunit_5',['AngleUnit',['../namespacelost.html#a4d066d222770cdbde925ab67813193dc',1,'lost']]], + ['arcsectorad_6',['ArcSecToRad',['../namespacelost.html#a0bf2bbf8b3bc82f9647c9f327d1369de',1,'lost']]], + ['at_7',['At',['../classlost_1_1_mat3.html#ac76b6f96d5642a1eb952162f194a6e7e',1,'lost::Mat3']]], ['atobool_8',['atobool',['../namespacelost.html#ad716669cae846c56701cf10aff6f8e5f',1,'lost']]], ['attitude_9',['attitude',['../structlost_1_1_pipeline_output.html#ad2be75247ab893fb920ece9f2eb800f8',1,'lost::PipelineOutput']]], ['attitude_10',['Attitude',['../classlost_1_1_attitude.html#a1ae055942d6afce6212a0957e86171b4',1,'lost::Attitude::Attitude(const Mat3 &dcm)'],['../classlost_1_1_attitude.html#ad32d962805147e579fabf926a404362c',1,'lost::Attitude::Attitude(const Quaternion &)'],['../classlost_1_1_attitude.html#ad220252090ed6e0c43170de49fbe3a48',1,'lost::Attitude::Attitude()=default'],['../classlost_1_1_attitude.html',1,'lost::Attitude']]], diff --git a/search/all_10.js b/search/all_10.js index 01d9d312..a6cda32c 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,20 +1,20 @@ var searchData= [ - ['pairdistanceinvolvingiterator_193',['PairDistanceInvolvingIterator',['../classlost_1_1_pair_distance_involving_iterator.html',1,'lost::PairDistanceInvolvingIterator'],['../classlost_1_1_pair_distance_involving_iterator.html#a192e6cf4441f25430f6e4c1a558f8b70',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator(const int16_t *pairs, const int16_t *end, int16_t involving)'],['../classlost_1_1_pair_distance_involving_iterator.html#aab0b583ba5779f592913fe7d7cb90e4a',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator()']]], - ['pairdistancekvectordatabase_194',['PairDistanceKVectorDatabase',['../classlost_1_1_pair_distance_k_vector_database.html',1,'lost::PairDistanceKVectorDatabase'],['../classlost_1_1_pair_distance_k_vector_database.html#a63c9e16675f56b66cc3740fb96c55dfc',1,'lost::PairDistanceKVectorDatabase::PairDistanceKVectorDatabase()']]], - ['pairdistancequerytomap_195',['PairDistanceQueryToMap',['../namespacelost.html#acd73775fd6b5bb0f4c48bfab3bc1552c',1,'lost']]], - ['peakbrightness_196',['peakBrightness',['../classlost_1_1_generated_star.html#aadcacbb1bf27616e20db9b86cde2e691',1,'lost::GeneratedStar']]], - ['pipeline_197',['Pipeline',['../classlost_1_1_pipeline.html',1,'lost::Pipeline'],['../classlost_1_1_pipeline.html#ab99f650efd24207ed56ae9d52399cff2',1,'lost::Pipeline::Pipeline()=default'],['../classlost_1_1_pipeline.html#a3a135d2c7d1ab3ed8a05006fe5c7daa8',1,'lost::Pipeline::Pipeline(CentroidAlgorithm *, StarIdAlgorithm *, AttitudeEstimationAlgorithm *, unsigned char *)']]], - ['pipeline_2doptions_2ehpp_198',['pipeline-options.hpp',['../pipeline-options_8hpp.html',1,'']]], - ['pipelinecomparator_199',['PipelineComparator',['../namespacelost.html#ab001adf3b7887c7b7a72d308893c48b2',1,'lost']]], - ['pipelinecomparatorplotcentroidindices_200',['PipelineComparatorPlotCentroidIndices',['../namespacelost.html#a69cfc1189a8f18fb6e6a6d400a8a1311',1,'lost']]], - ['pipelinecomparison_201',['PipelineComparison',['../namespacelost.html#ad2caa7f022ed5c5dba03ab479414dafc',1,'lost']]], - ['pipelineinput_202',['PipelineInput',['../classlost_1_1_pipeline_input.html',1,'lost']]], - ['pipelineinputfactory_203',['PipelineInputFactory',['../namespacelost.html#a5552f98af725481dee70b9b39e12e064',1,'lost']]], - ['pipelineinputlist_204',['PipelineInputList',['../namespacelost.html#acbd12c57a0797b6b786ebfc87aae0c84',1,'lost']]], - ['pipelineoptions_205',['PipelineOptions',['../classlost_1_1_pipeline_options.html',1,'lost']]], - ['pipelineoutput_206',['PipelineOutput',['../structlost_1_1_pipeline_output.html',1,'lost']]], - ['pngpipelineinput_207',['PngPipelineInput',['../classlost_1_1_png_pipeline_input.html',1,'lost::PngPipelineInput'],['../classlost_1_1_png_pipeline_input.html#adee57652282fb256ea2deeb737b81afe',1,'lost::PngPipelineInput::PngPipelineInput()']]], - ['position_208',['position',['../classlost_1_1_star.html#a8e9b2320d742fb5324397ac406c859ea',1,'lost::Star']]], - ['pyramidstaridalgorithm_209',['PyramidStarIdAlgorithm',['../classlost_1_1_pyramid_star_id_algorithm.html',1,'lost::PyramidStarIdAlgorithm'],['../classlost_1_1_pyramid_star_id_algorithm.html#af49d0a219e84d31fccdc927aa7476d50',1,'lost::PyramidStarIdAlgorithm::PyramidStarIdAlgorithm()']]] + ['pairdistanceinvolvingiterator_230',['PairDistanceInvolvingIterator',['../classlost_1_1_pair_distance_involving_iterator.html',1,'lost::PairDistanceInvolvingIterator'],['../classlost_1_1_pair_distance_involving_iterator.html#a192e6cf4441f25430f6e4c1a558f8b70',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator(const int16_t *pairs, const int16_t *end, int16_t involving)'],['../classlost_1_1_pair_distance_involving_iterator.html#aab0b583ba5779f592913fe7d7cb90e4a',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator()']]], + ['pairdistancekvectordatabase_231',['PairDistanceKVectorDatabase',['../classlost_1_1_pair_distance_k_vector_database.html',1,'lost::PairDistanceKVectorDatabase'],['../classlost_1_1_pair_distance_k_vector_database.html#a63c9e16675f56b66cc3740fb96c55dfc',1,'lost::PairDistanceKVectorDatabase::PairDistanceKVectorDatabase()']]], + ['pairdistancequerytomap_232',['PairDistanceQueryToMap',['../namespacelost.html#acd73775fd6b5bb0f4c48bfab3bc1552c',1,'lost']]], + ['peakbrightness_233',['peakBrightness',['../classlost_1_1_generated_star.html#a1640005bdfe74569fe753009465524f8',1,'lost::GeneratedStar']]], + ['pipeline_234',['Pipeline',['../classlost_1_1_pipeline.html',1,'lost::Pipeline'],['../classlost_1_1_pipeline.html#ab99f650efd24207ed56ae9d52399cff2',1,'lost::Pipeline::Pipeline()=default'],['../classlost_1_1_pipeline.html#a3a135d2c7d1ab3ed8a05006fe5c7daa8',1,'lost::Pipeline::Pipeline(CentroidAlgorithm *, StarIdAlgorithm *, AttitudeEstimationAlgorithm *, unsigned char *)']]], + ['pipeline_2doptions_2ehpp_235',['pipeline-options.hpp',['../pipeline-options_8hpp.html',1,'']]], + ['pipelinecomparator_236',['PipelineComparator',['../namespacelost.html#ab001adf3b7887c7b7a72d308893c48b2',1,'lost']]], + ['pipelinecomparatorplotcentroidindices_237',['PipelineComparatorPlotCentroidIndices',['../namespacelost.html#a69cfc1189a8f18fb6e6a6d400a8a1311',1,'lost']]], + ['pipelinecomparison_238',['PipelineComparison',['../namespacelost.html#ad2caa7f022ed5c5dba03ab479414dafc',1,'lost']]], + ['pipelineinput_239',['PipelineInput',['../classlost_1_1_pipeline_input.html',1,'lost']]], + ['pipelineinputfactory_240',['PipelineInputFactory',['../namespacelost.html#a5552f98af725481dee70b9b39e12e064',1,'lost']]], + ['pipelineinputlist_241',['PipelineInputList',['../namespacelost.html#acbd12c57a0797b6b786ebfc87aae0c84',1,'lost']]], + ['pipelineoptions_242',['PipelineOptions',['../classlost_1_1_pipeline_options.html',1,'lost']]], + ['pipelineoutput_243',['PipelineOutput',['../structlost_1_1_pipeline_output.html',1,'lost']]], + ['pngpipelineinput_244',['PngPipelineInput',['../classlost_1_1_png_pipeline_input.html',1,'lost::PngPipelineInput'],['../classlost_1_1_png_pipeline_input.html#adee57652282fb256ea2deeb737b81afe',1,'lost::PngPipelineInput::PngPipelineInput()']]], + ['position_245',['position',['../classlost_1_1_star.html#a8e9b2320d742fb5324397ac406c859ea',1,'lost::Star']]], + ['pyramidstaridalgorithm_246',['PyramidStarIdAlgorithm',['../classlost_1_1_pyramid_star_id_algorithm.html',1,'lost::PyramidStarIdAlgorithm'],['../classlost_1_1_pyramid_star_id_algorithm.html#a558b3037bf30cd916ce7c2236999912c',1,'lost::PyramidStarIdAlgorithm::PyramidStarIdAlgorithm()']]] ]; diff --git a/search/all_11.js b/search/all_11.js index 94360a7e..35a43d10 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -1,10 +1,10 @@ var searchData= [ - ['quaternion_210',['Quaternion',['../classlost_1_1_quaternion.html',1,'lost::Quaternion'],['../classlost_1_1_quaternion.html#a6ff95b8ae5599c94d585bd9842dfa873',1,'lost::Quaternion::Quaternion()=default'],['../classlost_1_1_quaternion.html#aaf73dff6f30d740ded0ea2be0449b3b2',1,'lost::Quaternion::Quaternion(const Vec3 &)'],['../classlost_1_1_quaternion.html#adcebe15481e86e3908caff22865b6742',1,'lost::Quaternion::Quaternion(const Vec3 &, float)'],['../classlost_1_1_quaternion.html#aef18b43911c9bc9ca7bb1590efec9bff',1,'lost::Quaternion::Quaternion(float real, float i, float j, float k)']]], - ['quaterniontodcm_211',['QuaternionToDCM',['../namespacelost.html#a08209cdf2c6b9415866d576343c35bf2',1,'lost']]], - ['queryliberal_212',['QueryLiberal',['../classlost_1_1_k_vector_index.html#a36e6030ff35142ccbe2010fd0130a02c',1,'lost::KVectorIndex']]], - ['questalgorithm_213',['QuestAlgorithm',['../classlost_1_1_quest_algorithm.html',1,'lost']]], - ['questcharpoly_214',['QuestCharPoly',['../namespacelost.html#ab1a9beb3699da6901d13dcebcb0e987b',1,'lost']]], - ['questcharpolyprime_215',['QuestCharPolyPrime',['../namespacelost.html#aecb22b335d98f9abefb94e377afa3bdb',1,'lost']]], - ['questeigenvalueestimator_216',['QuestEigenvalueEstimator',['../namespacelost.html#aa3cff2017989bf09b8b4111c1a0bfdf5',1,'lost']]] + ['quaternion_247',['Quaternion',['../classlost_1_1_quaternion.html',1,'lost::Quaternion'],['../classlost_1_1_quaternion.html#a6ff95b8ae5599c94d585bd9842dfa873',1,'lost::Quaternion::Quaternion()=default'],['../classlost_1_1_quaternion.html#aaf73dff6f30d740ded0ea2be0449b3b2',1,'lost::Quaternion::Quaternion(const Vec3 &)'],['../classlost_1_1_quaternion.html#a017e02bf5ca5630d4469755e3fed0b54',1,'lost::Quaternion::Quaternion(const Vec3 &, decimal)'],['../classlost_1_1_quaternion.html#a6128486aac9faa766c2605f54dfc3647',1,'lost::Quaternion::Quaternion(decimal real, decimal i, decimal j, decimal k)']]], + ['quaterniontodcm_248',['QuaternionToDCM',['../namespacelost.html#a08209cdf2c6b9415866d576343c35bf2',1,'lost']]], + ['queryliberal_249',['QueryLiberal',['../classlost_1_1_k_vector_index.html#a6f3c702412e3a12501bfabb5d7936b05',1,'lost::KVectorIndex']]], + ['questalgorithm_250',['QuestAlgorithm',['../classlost_1_1_quest_algorithm.html',1,'lost']]], + ['questcharpoly_251',['QuestCharPoly',['../namespacelost.html#a94bdddcfa030dfce3201661f42cc7d01',1,'lost']]], + ['questcharpolyprime_252',['QuestCharPolyPrime',['../namespacelost.html#ae543ffda8031beff6f8015261f1c495c',1,'lost']]], + ['questeigenvalueestimator_253',['QuestEigenvalueEstimator',['../namespacelost.html#a4c5445cb888227769955b2cdda5ee93a',1,'lost']]] ]; diff --git a/search/all_12.js b/search/all_12.js index 73e7d0c3..fd661a99 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -1,12 +1,12 @@ var searchData= [ - ['ra_217',['ra',['../classlost_1_1_euler_angles.html#a86cffd1e68a380145e5b684c7d7c2406',1,'lost::EulerAngles']]], - ['radiusx_218',['radiusX',['../classlost_1_1_star.html#ad7bcae53e6ad611b8fb436eeb159da98',1,'lost::Star']]], - ['radiusy_219',['radiusY',['../classlost_1_1_star.html#abb1ed64c90d4f6508fdd1e75923175d6',1,'lost::Star']]], - ['radtoarcsec_220',['RadToArcSec',['../namespacelost.html#a86999ae9a82ae57b98cb14dd1654c3f3',1,'lost']]], - ['radtodeg_221',['RadToDeg',['../namespacelost.html#adc5108f643b7657a835838c7f6411aa7',1,'lost']]], - ['real_222',['real',['../classlost_1_1_quaternion.html#a93956549b0172d3a198a3100949c5b70',1,'lost::Quaternion']]], - ['roll_223',['roll',['../classlost_1_1_euler_angles.html#a224cfa3989b86edc65d0e6e96bc7b3ca',1,'lost::EulerAngles']]], - ['rotate_224',['Rotate',['../classlost_1_1_quaternion.html#a570198dc9f0669cb34d715fbf9e62578',1,'lost::Quaternion::Rotate()'],['../classlost_1_1_attitude.html#a4c7ac3eb32e2e6dc8c576c9ad7134aaf',1,'lost::Attitude::Rotate()']]], - ['row_225',['Row',['../classlost_1_1_mat3.html#a4357c0052a4a3f4af9b4acfcc2de5622',1,'lost::Mat3']]] + ['ra_254',['ra',['../classlost_1_1_euler_angles.html#ae52017b1b9cc1063704bcc2b25500783',1,'lost::EulerAngles']]], + ['radiusx_255',['radiusX',['../classlost_1_1_star.html#a9cb9dd9f12c0e538eb55c0775505158a',1,'lost::Star']]], + ['radiusy_256',['radiusY',['../classlost_1_1_star.html#a1773623d5ae06132be712c11eaff2844',1,'lost::Star']]], + ['radtoarcsec_257',['RadToArcSec',['../namespacelost.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d',1,'lost']]], + ['radtodeg_258',['RadToDeg',['../namespacelost.html#a65410f365157111a72350076d9c434c0',1,'lost']]], + ['real_259',['real',['../classlost_1_1_quaternion.html#aba059c6fa2c2f4df17eecf36d12050d7',1,'lost::Quaternion']]], + ['roll_260',['roll',['../classlost_1_1_euler_angles.html#a7965e0a2c260109c23c85f120b9db75f',1,'lost::EulerAngles']]], + ['rotate_261',['Rotate',['../classlost_1_1_quaternion.html#a570198dc9f0669cb34d715fbf9e62578',1,'lost::Quaternion::Rotate()'],['../classlost_1_1_attitude.html#a4c7ac3eb32e2e6dc8c576c9ad7134aaf',1,'lost::Attitude::Rotate()']]], + ['row_262',['Row',['../classlost_1_1_mat3.html#a4357c0052a4a3f4af9b4acfcc2de5622',1,'lost::Mat3']]] ]; diff --git a/search/all_13.js b/search/all_13.js index 74eb37c2..0cc5a448 100644 --- a/search/all_13.js +++ b/search/all_13.js @@ -1,55 +1,55 @@ var searchData= [ - ['selectnextunidentifiedcentroid_226',['SelectNextUnidentifiedCentroid',['../namespacelost.html#af4b38998ddebb02241ed73fec6af8f4f',1,'lost']]], - ['serfromdbvalues_227',['serFromDbValues',['../namespacelost.html#aca0350641c0c62bbf6ff900634e92b8e',1,'lost']]], - ['serialize_2dhelpers_2ehpp_228',['serialize-helpers.hpp',['../serialize-helpers_8hpp.html',1,'']]], - ['serializecatalog_229',['SerializeCatalog',['../namespacelost.html#a2cc7e2e970e07d707f25c00fcd3071a3',1,'lost']]], - ['serializecatalogstar_230',['SerializeCatalogStar',['../namespacelost.html#a12fa960d591f9842a51451394cc86412',1,'lost']]], - ['serializecontext_231',['SerializeContext',['../classlost_1_1_serialize_context.html',1,'lost::SerializeContext'],['../classlost_1_1_serialize_context.html#a819c635a0a3ac43a4a8c9f351c47e4fd',1,'lost::SerializeContext::SerializeContext(bool swapIntegerEndianness, bool swapFloatEndianness)'],['../classlost_1_1_serialize_context.html#a35da132ef4f4dee819d816b8c3b33536',1,'lost::SerializeContext::SerializeContext()']]], - ['serializekvectorindex_232',['SerializeKVectorIndex',['../namespacelost.html#ac0c0c9865d2c16d74149bf85366cdc18',1,'lost']]], - ['serializemultidatabase_233',['SerializeMultiDatabase',['../namespacelost.html#a56c54ae520919bdd6d87f291e02883d3',1,'lost']]], - ['serializepadding_234',['SerializePadding',['../namespacelost.html#a164fee04c6e5fd2fc2e2ca9274b745fa',1,'lost']]], - ['serializepairdistancekvector_235',['SerializePairDistanceKVector',['../namespacelost.html#aefdad61aa2dbf38415d0345c1ff2916d',1,'lost']]], - ['serializeprimitive_236',['SerializePrimitive',['../namespacelost.html#a9af0427ae10a3db5529f2f8c74497347',1,'lost']]], - ['serializevec3_237',['SerializeVec3',['../namespacelost.html#aa2e68349539a9ef5024920ac4595e7e3',1,'lost']]], - ['setangle_238',['SetAngle',['../classlost_1_1_quaternion.html#a91c8378b5a2067015553533152bf3327',1,'lost::Quaternion']]], - ['setfocallength_239',['SetFocalLength',['../classlost_1_1_camera.html#a89a0fde9a6b5b65863ad4136c6b37dd4',1,'lost::Camera']]], - ['setpipeline_240',['SetPipeline',['../classlost_1_1_pipeline.html#a680908f5f23f826f938acd07074775cb',1,'lost::Pipeline::SetPipeline()'],['../namespacelost.html#ad4bb00e632a9200a8e42f620e460dd60',1,'lost::SetPipeline()']]], - ['setvector_241',['SetVector',['../classlost_1_1_quaternion.html#a6d8e723c0c49869742c938a0dcb38d2f',1,'lost::Quaternion']]], - ['smallestangle_242',['SmallestAngle',['../classlost_1_1_quaternion.html#a5d3b137eb8c75c996c3f25a4fdc7bde2',1,'lost::Quaternion']]], - ['spatial_243',['spatial',['../classlost_1_1_catalog_star.html#abd0b2df829476183297af1ac072c0802',1,'lost::CatalogStar']]], - ['spatialtocamera_244',['SpatialToCamera',['../classlost_1_1_camera.html#a2282f819be792d84f3168032a9cf457b',1,'lost::Camera']]], - ['spatialtospherical_245',['SpatialToSpherical',['../namespacelost.html#a922de1d7dbef8e24f5ca6e7505a8e944',1,'lost']]], - ['sphericaltoquaternion_246',['SphericalToQuaternion',['../namespacelost.html#a7057fa740aebe1cbd43f3bafafff4ac1',1,'lost']]], - ['sphericaltospatial_247',['SphericalToSpatial',['../namespacelost.html#a62a70a38d20ca4be158d9f592862aeb4',1,'lost']]], - ['star_248',['Star',['../classlost_1_1_star.html',1,'lost']]], - ['star_249',['star',['../classlost_1_1_i_r_unidentified_centroid.html#a60b94d7e80d7e60c5a2d94d746f0362b',1,'lost::IRUnidentifiedCentroid']]], - ['star_250',['Star',['../classlost_1_1_star.html#a63e85dbeb2f271e63b2d975cf83ae1b3',1,'lost::Star::Star()'],['../classlost_1_1_star.html#ac68887ed98b387fe4a4f437b847aa09a',1,'lost::Star::Star(float x, float y, float radiusX)'],['../classlost_1_1_star.html#a609af663e28795ba0ea2752fad193f8b',1,'lost::Star::Star(float x, float y, float radiusX, float radiusY, int magnitude)']]], - ['star_2did_2dprivate_2ehpp_251',['star-id-private.hpp',['../star-id-private_8hpp.html',1,'']]], - ['star_2did_2ecpp_252',['star-id.cpp',['../star-id_8cpp.html',1,'']]], - ['star_2did_2ehpp_253',['star-id.hpp',['../star-id_8hpp.html',1,'']]], - ['star_2dutils_2ecpp_254',['star-utils.cpp',['../star-utils_8cpp.html',1,'']]], - ['star_2dutils_2ehpp_255',['star-utils.hpp',['../star-utils_8hpp.html',1,'']]], - ['stardistances_256',['StarDistances',['../classlost_1_1_pair_distance_k_vector_database.html#a203c5b10c6490adaf102d016a160b3f9',1,'lost::PairDistanceKVectorDatabase']]], - ['staridalgorithm_257',['StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html',1,'lost']]], - ['staridalgorithmfactory_258',['StarIdAlgorithmFactory',['../namespacelost.html#a106f3da2d75b2af268f5e9abfc7ea681',1,'lost']]], - ['staridcomparison_259',['StarIdComparison',['../structlost_1_1_star_id_comparison.html',1,'lost']]], - ['staridentifier_260',['StarIdentifier',['../classlost_1_1_star_identifier.html',1,'lost::StarIdentifier'],['../classlost_1_1_star_identifier.html#ad0ad99d3e7f46b46101983f2bfc05898',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex, int weight)'],['../classlost_1_1_star_identifier.html#af59a1b9b343e7cb659073d36dca24567',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex)']]], - ['staridentifiers_261',['StarIdentifiers',['../namespacelost.html#a288b872531de219e9cfc87beb8d8bada',1,'lost']]], - ['starids_262',['starIds',['../structlost_1_1_pipeline_output.html#af5fb349aaee63e4e932069bc01743042',1,'lost::PipelineOutput']]], - ['staridscompare_263',['StarIdsCompare',['../namespacelost.html#ab6f75e99dbde3eede31e0b3a7c56878e',1,'lost']]], - ['staridtimens_264',['starIdTimeNs',['../structlost_1_1_pipeline_output.html#a7b5b37d2654b51a1c859866165481ce7',1,'lost::PipelineOutput']]], - ['starindex_265',['starIndex',['../classlost_1_1_star_identifier.html#afb04c9b116a8a67e31083d50e28cdce2',1,'lost::StarIdentifier']]], - ['stars_266',['stars',['../structlost_1_1_pipeline_output.html#a7743f8496f64299c8af36ac0ec080699',1,'lost::PipelineOutput']]], - ['stars_267',['Stars',['../namespacelost.html#a4bd359d9c09dbecb81c3a3e536f0b5c5',1,'lost']]], - ['stream_268',['Stream',['../classlost_1_1_user_specified_output_stream.html#a51c18ff9010b97319ef32fd8094f2239',1,'lost::UserSpecifiedOutputStream']]], - ['subdatabasepointer_269',['SubDatabasePointer',['../classlost_1_1_multi_database.html#ad013d7640b19cb78268c9be5f6c64544',1,'lost::MultiDatabase']]], - ['surfaceplot_270',['SurfacePlot',['../namespacelost.html#a8298f03c0d1b408401e4200d17305018',1,'lost']]], - ['surfacetograyscaleimage_271',['SurfaceToGrayscaleImage',['../namespacelost.html#a1c3caf3f02508df448ec6c761a2d764e',1,'lost']]], - ['swapendianness_272',['SwapEndianness',['../namespacelost.html#aaa3aa9350f84fa1b7725b5e3de8483ba',1,'lost']]], - ['swapendiannessifnecessary_273',['SwapEndiannessIfNecessary',['../namespacelost.html#a9704a9fb2cf67873155e69407a976074',1,'lost']]], - ['swapendiannessifnecessary_3c_20double_20_3e_274',['SwapEndiannessIfNecessary< double >',['../namespacelost.html#a716dcaf4d1704aa422252fcbc182e259',1,'lost']]], - ['swapendiannessifnecessary_3c_20float_20_3e_275',['SwapEndiannessIfNecessary< float >',['../namespacelost.html#a86727674f19d3158cb894b4518433477',1,'lost']]], - ['swapfloatendianness_276',['swapFloatEndianness',['../classlost_1_1_serialize_context.html#ae3fb3b0e7864f28aed9403532f676d24',1,'lost::SerializeContext']]], - ['swapintegerendianness_277',['swapIntegerEndianness',['../classlost_1_1_serialize_context.html#a93856379ded65d82189d464c8a384596',1,'lost::SerializeContext']]] + ['selectnextunidentifiedcentroid_263',['SelectNextUnidentifiedCentroid',['../namespacelost.html#af4b38998ddebb02241ed73fec6af8f4f',1,'lost']]], + ['serfromdbvalues_264',['serFromDbValues',['../namespacelost.html#aca0350641c0c62bbf6ff900634e92b8e',1,'lost']]], + ['serialize_2dhelpers_2ehpp_265',['serialize-helpers.hpp',['../serialize-helpers_8hpp.html',1,'']]], + ['serializecatalog_266',['SerializeCatalog',['../namespacelost.html#a2cc7e2e970e07d707f25c00fcd3071a3',1,'lost']]], + ['serializecatalogstar_267',['SerializeCatalogStar',['../namespacelost.html#a12fa960d591f9842a51451394cc86412',1,'lost']]], + ['serializecontext_268',['SerializeContext',['../classlost_1_1_serialize_context.html',1,'lost::SerializeContext'],['../classlost_1_1_serialize_context.html#aa64d705cf36948edd399ae0081723885',1,'lost::SerializeContext::SerializeContext(bool swapIntegerEndianness, bool swapDecimalEndianness)'],['../classlost_1_1_serialize_context.html#a35da132ef4f4dee819d816b8c3b33536',1,'lost::SerializeContext::SerializeContext()']]], + ['serializekvectorindex_269',['SerializeKVectorIndex',['../namespacelost.html#a0227319e45ff29d6f61b7e083d01e31f',1,'lost']]], + ['serializemultidatabase_270',['SerializeMultiDatabase',['../namespacelost.html#ad14088462298249d31b2c396c3be86f9',1,'lost']]], + ['serializepadding_271',['SerializePadding',['../namespacelost.html#a164fee04c6e5fd2fc2e2ca9274b745fa',1,'lost']]], + ['serializepairdistancekvector_272',['SerializePairDistanceKVector',['../namespacelost.html#a98d1507ab3e305ab47846133d82e4467',1,'lost']]], + ['serializeprimitive_273',['SerializePrimitive',['../namespacelost.html#a9af0427ae10a3db5529f2f8c74497347',1,'lost']]], + ['serializevec3_274',['SerializeVec3',['../namespacelost.html#aa2e68349539a9ef5024920ac4595e7e3',1,'lost']]], + ['setangle_275',['SetAngle',['../classlost_1_1_quaternion.html#ab302f2d15fb324c68efce001a5757726',1,'lost::Quaternion']]], + ['setfocallength_276',['SetFocalLength',['../classlost_1_1_camera.html#a30e7b1026d347f35ceb8306ba9815a3a',1,'lost::Camera']]], + ['setpipeline_277',['SetPipeline',['../classlost_1_1_pipeline.html#a680908f5f23f826f938acd07074775cb',1,'lost::Pipeline::SetPipeline()'],['../namespacelost.html#ad4bb00e632a9200a8e42f620e460dd60',1,'lost::SetPipeline()']]], + ['setvector_278',['SetVector',['../classlost_1_1_quaternion.html#a6d8e723c0c49869742c938a0dcb38d2f',1,'lost::Quaternion']]], + ['smallestangle_279',['SmallestAngle',['../classlost_1_1_quaternion.html#aec6d6d268e364a2f8cca0346819e4230',1,'lost::Quaternion']]], + ['spatial_280',['spatial',['../classlost_1_1_catalog_star.html#abd0b2df829476183297af1ac072c0802',1,'lost::CatalogStar']]], + ['spatialtocamera_281',['SpatialToCamera',['../classlost_1_1_camera.html#a2282f819be792d84f3168032a9cf457b',1,'lost::Camera']]], + ['spatialtospherical_282',['SpatialToSpherical',['../namespacelost.html#a24e63568aa9052a67ee2a3bc1a7900b3',1,'lost']]], + ['sphericaltoquaternion_283',['SphericalToQuaternion',['../namespacelost.html#a562a86693dfa8ef7024526934fbfa8bb',1,'lost']]], + ['sphericaltospatial_284',['SphericalToSpatial',['../namespacelost.html#a5bcac28daa68fac6e7141aea7d789e10',1,'lost']]], + ['star_285',['Star',['../classlost_1_1_star.html',1,'lost']]], + ['star_286',['star',['../classlost_1_1_i_r_unidentified_centroid.html#a60b94d7e80d7e60c5a2d94d746f0362b',1,'lost::IRUnidentifiedCentroid']]], + ['star_287',['Star',['../classlost_1_1_star.html#a63e85dbeb2f271e63b2d975cf83ae1b3',1,'lost::Star::Star()'],['../classlost_1_1_star.html#a91019f88f47806e59cabb67b014bb55a',1,'lost::Star::Star(decimal x, decimal y, decimal radiusX)'],['../classlost_1_1_star.html#a34c4cb3833310e0afe4715602210e595',1,'lost::Star::Star(decimal x, decimal y, decimal radiusX, decimal radiusY, int magnitude)']]], + ['star_2did_2dprivate_2ehpp_288',['star-id-private.hpp',['../star-id-private_8hpp.html',1,'']]], + ['star_2did_2ecpp_289',['star-id.cpp',['../star-id_8cpp.html',1,'']]], + ['star_2did_2ehpp_290',['star-id.hpp',['../star-id_8hpp.html',1,'']]], + ['star_2dutils_2ecpp_291',['star-utils.cpp',['../star-utils_8cpp.html',1,'']]], + ['star_2dutils_2ehpp_292',['star-utils.hpp',['../star-utils_8hpp.html',1,'']]], + ['stardistances_293',['StarDistances',['../classlost_1_1_pair_distance_k_vector_database.html#a2df6cf629cb564bc9ad47f724cbf10b0',1,'lost::PairDistanceKVectorDatabase']]], + ['staridalgorithm_294',['StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html',1,'lost']]], + ['staridalgorithmfactory_295',['StarIdAlgorithmFactory',['../namespacelost.html#a106f3da2d75b2af268f5e9abfc7ea681',1,'lost']]], + ['staridcomparison_296',['StarIdComparison',['../structlost_1_1_star_id_comparison.html',1,'lost']]], + ['staridentifier_297',['StarIdentifier',['../classlost_1_1_star_identifier.html',1,'lost::StarIdentifier'],['../classlost_1_1_star_identifier.html#ad0ad99d3e7f46b46101983f2bfc05898',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex, int weight)'],['../classlost_1_1_star_identifier.html#af59a1b9b343e7cb659073d36dca24567',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex)']]], + ['staridentifiers_298',['StarIdentifiers',['../namespacelost.html#a288b872531de219e9cfc87beb8d8bada',1,'lost']]], + ['starids_299',['starIds',['../structlost_1_1_pipeline_output.html#af5fb349aaee63e4e932069bc01743042',1,'lost::PipelineOutput']]], + ['staridscompare_300',['StarIdsCompare',['../namespacelost.html#a863cf60540007697be2b6572e6a2e614',1,'lost']]], + ['staridtimens_301',['starIdTimeNs',['../structlost_1_1_pipeline_output.html#a7b5b37d2654b51a1c859866165481ce7',1,'lost::PipelineOutput']]], + ['starindex_302',['starIndex',['../classlost_1_1_star_identifier.html#afb04c9b116a8a67e31083d50e28cdce2',1,'lost::StarIdentifier']]], + ['stars_303',['stars',['../structlost_1_1_pipeline_output.html#a7743f8496f64299c8af36ac0ec080699',1,'lost::PipelineOutput']]], + ['stars_304',['Stars',['../namespacelost.html#a4bd359d9c09dbecb81c3a3e536f0b5c5',1,'lost']]], + ['str_5fto_5fdecimal_305',['STR_TO_DECIMAL',['../decimal_8hpp.html#a7a155f9188b9b83cd40dafccc0b59b61',1,'decimal.hpp']]], + ['stream_306',['Stream',['../classlost_1_1_user_specified_output_stream.html#a51c18ff9010b97319ef32fd8094f2239',1,'lost::UserSpecifiedOutputStream']]], + ['subdatabasepointer_307',['SubDatabasePointer',['../classlost_1_1_multi_database.html#ad013d7640b19cb78268c9be5f6c64544',1,'lost::MultiDatabase']]], + ['surfaceplot_308',['SurfacePlot',['../namespacelost.html#a8298f03c0d1b408401e4200d17305018',1,'lost']]], + ['surfacetograyscaleimage_309',['SurfaceToGrayscaleImage',['../namespacelost.html#a1c3caf3f02508df448ec6c761a2d764e',1,'lost']]], + ['swapdecimalendianness_310',['swapDecimalEndianness',['../classlost_1_1_serialize_context.html#a336ba4abc0106fd590f9eae9dbb16f04',1,'lost::SerializeContext']]], + ['swapendianness_311',['SwapEndianness',['../namespacelost.html#aaa3aa9350f84fa1b7725b5e3de8483ba',1,'lost']]], + ['swapendiannessifnecessary_312',['SwapEndiannessIfNecessary',['../namespacelost.html#a9704a9fb2cf67873155e69407a976074',1,'lost']]], + ['swapendiannessifnecessary_3c_20decimal_20_3e_313',['SwapEndiannessIfNecessary< decimal >',['../namespacelost.html#a3493422e7893b68e566182e4e2372a6e',1,'lost']]], + ['swapintegerendianness_314',['swapIntegerEndianness',['../classlost_1_1_serialize_context.html#a93856379ded65d82189d464c8a384596',1,'lost::SerializeContext']]] ]; diff --git a/search/all_14.js b/search/all_14.js index f1432198..404facd9 100644 --- a/search/all_14.js +++ b/search/all_14.js @@ -1,8 +1,8 @@ var searchData= [ - ['todo_20list_278',['Todo List',['../todo.html',1,'']]], - ['tospherical_279',['ToSpherical',['../classlost_1_1_quaternion.html#a565b9cb827d1938fe0b88aaa19093686',1,'lost::Quaternion::ToSpherical()'],['../classlost_1_1_attitude.html#a1af3ee1daabfc256ec56554b260bdbee',1,'lost::Attitude::ToSpherical()']]], - ['trace_280',['Trace',['../classlost_1_1_mat3.html#a1264f9b036c9b3022651082ddc3efd84',1,'lost::Mat3']]], - ['transpose_281',['Transpose',['../classlost_1_1_mat3.html#ab850e8ba04b6d4822798379ba1c56dcf',1,'lost::Mat3']]], - ['triadalgorithm_282',['TriadAlgorithm',['../classlost_1_1_triad_algorithm.html',1,'lost']]] + ['todo_20list_315',['Todo List',['../todo.html',1,'']]], + ['tospherical_316',['ToSpherical',['../classlost_1_1_quaternion.html#a565b9cb827d1938fe0b88aaa19093686',1,'lost::Quaternion::ToSpherical()'],['../classlost_1_1_attitude.html#a1af3ee1daabfc256ec56554b260bdbee',1,'lost::Attitude::ToSpherical()']]], + ['trace_317',['Trace',['../classlost_1_1_mat3.html#aba95326b3dbabb03c53de174faf22383',1,'lost::Mat3']]], + ['transpose_318',['Transpose',['../classlost_1_1_mat3.html#ab850e8ba04b6d4822798379ba1c56dcf',1,'lost::Mat3']]], + ['triadalgorithm_319',['TriadAlgorithm',['../classlost_1_1_triad_algorithm.html',1,'lost']]] ]; diff --git a/search/all_15.js b/search/all_15.js index 73bbf0fe..1794efb5 100644 --- a/search/all_15.js +++ b/search/all_15.js @@ -1,4 +1,4 @@ var searchData= [ - ['userspecifiedoutputstream_283',['UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html',1,'lost::UserSpecifiedOutputStream'],['../classlost_1_1_user_specified_output_stream.html#a4dcbbf27cfacdc73f038e06532a73301',1,'lost::UserSpecifiedOutputStream::UserSpecifiedOutputStream()']]] + ['userspecifiedoutputstream_320',['UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html',1,'lost::UserSpecifiedOutputStream'],['../classlost_1_1_user_specified_output_stream.html#a4dcbbf27cfacdc73f038e06532a73301',1,'lost::UserSpecifiedOutputStream::UserSpecifiedOutputStream()']]] ]; diff --git a/search/all_16.js b/search/all_16.js index 8b6f1995..35be987d 100644 --- a/search/all_16.js +++ b/search/all_16.js @@ -1,6 +1,6 @@ var searchData= [ - ['vec2_284',['Vec2',['../structlost_1_1_vec2.html',1,'lost']]], - ['vec3_285',['Vec3',['../classlost_1_1_vec3.html',1,'lost']]], - ['vector_286',['Vector',['../classlost_1_1_quaternion.html#a2eace9c3a35569109c949b7d8f1bc96e',1,'lost::Quaternion']]] + ['vec2_321',['Vec2',['../structlost_1_1_vec2.html',1,'lost']]], + ['vec3_322',['Vec3',['../classlost_1_1_vec3.html',1,'lost']]], + ['vector_323',['Vector',['../classlost_1_1_quaternion.html#a2eace9c3a35569109c949b7d8f1bc96e',1,'lost::Quaternion']]] ]; diff --git a/search/all_17.js b/search/all_17.js index b7419e13..c4189f4d 100644 --- a/search/all_17.js +++ b/search/all_17.js @@ -1,5 +1,5 @@ var searchData= [ - ['weight_287',['weight',['../classlost_1_1_star_identifier.html#afaace9db445eee4b7ff239fbb71bba57',1,'lost::StarIdentifier']]], - ['width_288',['width',['../classlost_1_1_image.html#af450eb35614041beeb2bec120aac739e',1,'lost::Image']]] + ['weight_324',['weight',['../classlost_1_1_star_identifier.html#a09370ad7bc81de5a82c049d6cc64f0d3',1,'lost::StarIdentifier']]], + ['width_325',['width',['../classlost_1_1_image.html#af450eb35614041beeb2bec120aac739e',1,'lost::Image']]] ]; diff --git a/search/all_18.js b/search/all_18.js index 8532a613..6e2dfb39 100644 --- a/search/all_18.js +++ b/search/all_18.js @@ -1,8 +1,8 @@ var searchData= [ - ['x_289',['x',['../structlost_1_1_vec2.html#a9a9c151101dbb57060873e8af18927af',1,'lost::Vec2::x()'],['../classlost_1_1_vec3.html#a97adb523973ae539a5d8963d78569618',1,'lost::Vec3::x()'],['../classlost_1_1_mat3.html#a4c1fc3f0ab4ec06bc0dab5585eca306b',1,'lost::Mat3::x()']]], - ['xcoordmagsum_290',['xCoordMagSum',['../structlost_1_1_centroid_params.html#ac340f612012e1f6b172cb40fcfa9ae08',1,'lost::CentroidParams']]], - ['xmax_291',['xMax',['../structlost_1_1_centroid_params.html#acb5e6b2f74543a8d99c79820a5a3fae5',1,'lost::CentroidParams::xMax()'],['../structlost_1_1_i_w_co_g_params.html#a11bd1f88de67d8009ab086d92eb154e1',1,'lost::IWCoGParams::xMax()']]], - ['xmin_292',['xMin',['../structlost_1_1_centroid_params.html#a1ad1a1cdb476e0a0be922b01306c4f01',1,'lost::CentroidParams::xMin()'],['../structlost_1_1_i_w_co_g_params.html#a2b90aeb4c5fe0b2569692b18114bb6d7',1,'lost::IWCoGParams::xMin()']]], - ['xresolution_293',['XResolution',['../classlost_1_1_camera.html#a6a6a4bd2d5daf114108e73126568369d',1,'lost::Camera']]] + ['x_326',['x',['../structlost_1_1_vec2.html#a46a5e51d9689b023106896d4968ace02',1,'lost::Vec2::x()'],['../classlost_1_1_vec3.html#adad32f6805cf76e283bfffc7060ea805',1,'lost::Vec3::x()'],['../classlost_1_1_mat3.html#ae38b2d47fb32bb2f8b8bf13dc8ce3b41',1,'lost::Mat3::x()']]], + ['xcoordmagsum_327',['xCoordMagSum',['../structlost_1_1_centroid_params.html#afb3a3d1f3cabc2a77eac59b5abf3f273',1,'lost::CentroidParams']]], + ['xmax_328',['xMax',['../structlost_1_1_centroid_params.html#acb5e6b2f74543a8d99c79820a5a3fae5',1,'lost::CentroidParams::xMax()'],['../structlost_1_1_i_w_co_g_params.html#a11bd1f88de67d8009ab086d92eb154e1',1,'lost::IWCoGParams::xMax()']]], + ['xmin_329',['xMin',['../structlost_1_1_centroid_params.html#a1ad1a1cdb476e0a0be922b01306c4f01',1,'lost::CentroidParams::xMin()'],['../structlost_1_1_i_w_co_g_params.html#a2b90aeb4c5fe0b2569692b18114bb6d7',1,'lost::IWCoGParams::xMin()']]], + ['xresolution_330',['XResolution',['../classlost_1_1_camera.html#a6a6a4bd2d5daf114108e73126568369d',1,'lost::Camera']]] ]; diff --git a/search/all_19.js b/search/all_19.js index 3fabc2f5..b71d9793 100644 --- a/search/all_19.js +++ b/search/all_19.js @@ -1,8 +1,8 @@ var searchData= [ - ['y_294',['y',['../structlost_1_1_vec2.html#a3a23d5b38c5873b4b870ace85fd30d05',1,'lost::Vec2::y()'],['../classlost_1_1_vec3.html#a50ebc2fd588a7ecc8653166d74b4f4b9',1,'lost::Vec3::y()']]], - ['ycoordmagsum_295',['yCoordMagSum',['../structlost_1_1_centroid_params.html#a421ee37e9ef2ac330acaf8ea5bca733d',1,'lost::CentroidParams']]], - ['ymax_296',['yMax',['../structlost_1_1_centroid_params.html#a94c747c963ad41ffed83a98e09061175',1,'lost::CentroidParams::yMax()'],['../structlost_1_1_i_w_co_g_params.html#a2d97ec092c041d89f12faae885542ea2',1,'lost::IWCoGParams::yMax()']]], - ['ymin_297',['yMin',['../structlost_1_1_centroid_params.html#ace328e1aca0f0a9c707e00bc6d8f7e05',1,'lost::CentroidParams::yMin()'],['../structlost_1_1_i_w_co_g_params.html#af2c1113648b480bf8d495773a76abc55',1,'lost::IWCoGParams::yMin()']]], - ['yresolution_298',['YResolution',['../classlost_1_1_camera.html#a75f02f56900338580a9cacc2f9131d70',1,'lost::Camera']]] + ['y_331',['y',['../structlost_1_1_vec2.html#ab0daa57fd5f54435248f36e736411750',1,'lost::Vec2::y()'],['../classlost_1_1_vec3.html#a71a736ddded55f18df2e169851e0e130',1,'lost::Vec3::y()']]], + ['ycoordmagsum_332',['yCoordMagSum',['../structlost_1_1_centroid_params.html#af28e2f57440cb866fbab13d9e9be10ad',1,'lost::CentroidParams']]], + ['ymax_333',['yMax',['../structlost_1_1_centroid_params.html#a94c747c963ad41ffed83a98e09061175',1,'lost::CentroidParams::yMax()'],['../structlost_1_1_i_w_co_g_params.html#a2d97ec092c041d89f12faae885542ea2',1,'lost::IWCoGParams::yMax()']]], + ['ymin_334',['yMin',['../structlost_1_1_centroid_params.html#ace328e1aca0f0a9c707e00bc6d8f7e05',1,'lost::CentroidParams::yMin()'],['../structlost_1_1_i_w_co_g_params.html#af2c1113648b480bf8d495773a76abc55',1,'lost::IWCoGParams::yMin()']]], + ['yresolution_335',['YResolution',['../classlost_1_1_camera.html#a75f02f56900338580a9cacc2f9131d70',1,'lost::Camera']]] ]; diff --git a/search/all_1a.js b/search/all_1a.js index 65556abc..8e052037 100644 --- a/search/all_1a.js +++ b/search/all_1a.js @@ -1,4 +1,4 @@ var searchData= [ - ['z_299',['z',['../classlost_1_1_vec3.html#a2840bbc8330dd9838f938bf15a2b3c04',1,'lost::Vec3']]] + ['z_336',['z',['../classlost_1_1_vec3.html#a69d1b9c2a70b2d46ab94f7fea631d9ad',1,'lost::Vec3']]] ]; diff --git a/search/all_1b.js b/search/all_1b.js index 76a799fa..293d88bd 100644 --- a/search/all_1b.js +++ b/search/all_1b.js @@ -1,9 +1,9 @@ var searchData= [ - ['_7eattitudeestimationalgorithm_300',['~AttitudeEstimationAlgorithm',['../classlost_1_1_attitude_estimation_algorithm.html#a6e7a086e474f98124cc4dd5fb01682e9',1,'lost::AttitudeEstimationAlgorithm']]], - ['_7ecentroidalgorithm_301',['~CentroidAlgorithm',['../classlost_1_1_centroid_algorithm.html#a2b8d8657624550f78354a3d29a856653',1,'lost::CentroidAlgorithm']]], - ['_7epipelineinput_302',['~PipelineInput',['../classlost_1_1_pipeline_input.html#ab766f2ef88e9d036c7bb7780d35306f3',1,'lost::PipelineInput']]], - ['_7epngpipelineinput_303',['~PngPipelineInput',['../classlost_1_1_png_pipeline_input.html#a01b8ddf0471b41c2a3d306f49156a0ab',1,'lost::PngPipelineInput']]], - ['_7estaridalgorithm_304',['~StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html#a1c440e5ca7c623e3dd1fc8958eac99de',1,'lost::StarIdAlgorithm']]], - ['_7euserspecifiedoutputstream_305',['~UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html#a2d2eae68275a53f1b83be250d09b6730',1,'lost::UserSpecifiedOutputStream']]] + ['_7eattitudeestimationalgorithm_337',['~AttitudeEstimationAlgorithm',['../classlost_1_1_attitude_estimation_algorithm.html#a6e7a086e474f98124cc4dd5fb01682e9',1,'lost::AttitudeEstimationAlgorithm']]], + ['_7ecentroidalgorithm_338',['~CentroidAlgorithm',['../classlost_1_1_centroid_algorithm.html#a2b8d8657624550f78354a3d29a856653',1,'lost::CentroidAlgorithm']]], + ['_7epipelineinput_339',['~PipelineInput',['../classlost_1_1_pipeline_input.html#ab766f2ef88e9d036c7bb7780d35306f3',1,'lost::PipelineInput']]], + ['_7epngpipelineinput_340',['~PngPipelineInput',['../classlost_1_1_png_pipeline_input.html#a01b8ddf0471b41c2a3d306f49156a0ab',1,'lost::PngPipelineInput']]], + ['_7estaridalgorithm_341',['~StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html#a1c440e5ca7c623e3dd1fc8958eac99de',1,'lost::StarIdAlgorithm']]], + ['_7euserspecifiedoutputstream_342',['~UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html#a2d2eae68275a53f1b83be250d09b6730',1,'lost::UserSpecifiedOutputStream']]] ]; diff --git a/search/all_2.js b/search/all_2.js index dd964baa..87934d46 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -3,7 +3,7 @@ var searchData= ['badthreshold_18',['BadThreshold',['../namespacelost.html#a27ae3010999abecce396cebbdee8ef0d',1,'lost']]], ['basicthreshold_19',['BasicThreshold',['../namespacelost.html#ae369ca6366d9b3c350a14a403107641a',1,'lost']]], ['basicthresholdonepass_20',['BasicThresholdOnePass',['../namespacelost.html#acd1a58a1120e97d8cf060e3e9b11576c',1,'lost']]], - ['bestanglefrom90_21',['bestAngleFrom90',['../classlost_1_1_i_r_unidentified_centroid.html#aff8ec14ca85a2721d117906ffe3d2ac0',1,'lost::IRUnidentifiedCentroid']]], + ['bestanglefrom90_21',['bestAngleFrom90',['../classlost_1_1_i_r_unidentified_centroid.html#af7d40149f6387faa1aa0c8e54d2f0381',1,'lost::IRUnidentifiedCentroid']]], ['beststar1_22',['bestStar1',['../classlost_1_1_i_r_unidentified_centroid.html#aab377ad525cebf57723091ad9e4a4ee1',1,'lost::IRUnidentifiedCentroid']]], ['beststar2_23',['bestStar2',['../classlost_1_1_i_r_unidentified_centroid.html#adfabd54617aebb510f629878d3cc8ae6',1,'lost::IRUnidentifiedCentroid']]], ['bscparse_24',['BscParse',['../namespacelost.html#a2de388cdf7e0c6b9c572903605480568',1,'lost']]], diff --git a/search/all_3.js b/search/all_3.js index 964efbf1..89f77e82 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['camera_27',['Camera',['../classlost_1_1_camera.html#a2fc15d984da36a7b015420dbe9fddca5',1,'lost::Camera::Camera(const Camera &)=default'],['../classlost_1_1_camera.html#a523f2ce74934b4fcb3063431fc6bef62',1,'lost::Camera::Camera(float focalLength, float xCenter, float yCenter, int xResolution, int yResolution)'],['../classlost_1_1_camera.html#a8a79c6616772f7e0c10b9ffd06d17adf',1,'lost::Camera::Camera(float focalLength, int xResolution, int yResolution)'],['../classlost_1_1_camera.html',1,'lost::Camera']]], + ['camera_27',['Camera',['../classlost_1_1_camera.html#a2fc15d984da36a7b015420dbe9fddca5',1,'lost::Camera::Camera(const Camera &)=default'],['../classlost_1_1_camera.html#a509454953121bd47018c350d82b838ea',1,'lost::Camera::Camera(decimal focalLength, decimal xCenter, decimal yCenter, int xResolution, int yResolution)'],['../classlost_1_1_camera.html#af17d2e81670a302f46bb0ccdb1b346bd',1,'lost::Camera::Camera(decimal focalLength, int xResolution, int yResolution)'],['../classlost_1_1_camera.html',1,'lost::Camera']]], ['camera_2ecpp_28',['camera.cpp',['../camera_8cpp.html',1,'']]], ['camera_2ehpp_29',['camera.hpp',['../camera_8hpp.html',1,'']]], ['cameratospatial_30',['CameraToSpatial',['../classlost_1_1_camera.html#aeb37d99dfc08205f5938303dbb16ff9e',1,'lost::Camera']]], @@ -9,9 +9,9 @@ var searchData= ['catalog_33',['catalog',['../structlost_1_1_pipeline_output.html#a18bcd3f7aa001bd26cbc67a2ae3ffcca',1,'lost::PipelineOutput']]], ['catalogindex_34',['catalogIndex',['../classlost_1_1_star_identifier.html#a9743c39504a863334c5cfb62263f22c8',1,'lost::StarIdentifier']]], ['catalogread_35',['CatalogRead',['../namespacelost.html#a41f5bb669129790c12bd70e1d641441f',1,'lost']]], - ['catalogstar_36',['CatalogStar',['../classlost_1_1_catalog_star.html#a8d74d0477614cda6ab24a4732b33227e',1,'lost::CatalogStar::CatalogStar(Vec3 spatial, int magnitude, int name)'],['../classlost_1_1_catalog_star.html#a28fd3c23a616ecd193b93dc030b7cc68',1,'lost::CatalogStar::CatalogStar(float raj2000, float dej2000, int magnitude, int name)'],['../classlost_1_1_catalog_star.html#af2f1fc27b7b16f497e652a1fd1caa00e',1,'lost::CatalogStar::CatalogStar()=default'],['../classlost_1_1_catalog_star.html',1,'lost::CatalogStar']]], + ['catalogstar_36',['CatalogStar',['../classlost_1_1_catalog_star.html#a8d74d0477614cda6ab24a4732b33227e',1,'lost::CatalogStar::CatalogStar(Vec3 spatial, int magnitude, int name)'],['../classlost_1_1_catalog_star.html#a01e0c6d1367a68757a13091c5287075f',1,'lost::CatalogStar::CatalogStar(decimal raj2000, decimal dej2000, int magnitude, int name)'],['../classlost_1_1_catalog_star.html#af2f1fc27b7b16f497e652a1fd1caa00e',1,'lost::CatalogStar::CatalogStar()=default'],['../classlost_1_1_catalog_star.html',1,'lost::CatalogStar']]], ['catalogstarmagnitudecompare_37',['CatalogStarMagnitudeCompare',['../namespacelost.html#a5c01d4154fbfefd3af1f3c081a372035',1,'lost']]], - ['catalogtopairdistances_38',['CatalogToPairDistances',['../namespacelost.html#a63bf3cd684687462bda2231e2aa1f14c',1,'lost']]], + ['catalogtopairdistances_38',['CatalogToPairDistances',['../namespacelost.html#a7df31f0f6e3ed20311231573630124dc',1,'lost']]], ['centerofgravityalgorithm_39',['CenterOfGravityAlgorithm',['../classlost_1_1_center_of_gravity_algorithm.html#ad138e20f7ba0fe236847b1616219a49b',1,'lost::CenterOfGravityAlgorithm::CenterOfGravityAlgorithm()'],['../classlost_1_1_center_of_gravity_algorithm.html',1,'lost::CenterOfGravityAlgorithm']]], ['centroidalgorithm_40',['CentroidAlgorithm',['../classlost_1_1_centroid_algorithm.html',1,'lost']]], ['centroidalgorithmfactory_41',['CentroidAlgorithmFactory',['../namespacelost.html#a92e491a9e204a882bc0635b7d943e085',1,'lost']]], @@ -21,9 +21,9 @@ var searchData= ['centroiders_2ehpp_45',['centroiders.hpp',['../centroiders_8hpp.html',1,'']]], ['centroidingtimens_46',['centroidingTimeNs',['../structlost_1_1_pipeline_output.html#a36786786f6025272fc7befd01924d0d9',1,'lost::PipelineOutput']]], ['centroidparams_47',['CentroidParams',['../structlost_1_1_centroid_params.html',1,'lost']]], - ['centroidscompare_48',['CentroidsCompare',['../namespacelost.html#afd017fba4090829c28c431509c4cfc1c',1,'lost']]], + ['centroidscompare_48',['CentroidsCompare',['../namespacelost.html#ae28fabb74b772e447140deee8de524f0',1,'lost']]], ['checkedindices_49',['checkedIndices',['../structlost_1_1_i_w_co_g_params.html#a95fa4a77be6b192d6d114f9d520cb061',1,'lost::IWCoGParams::checkedIndices()'],['../structlost_1_1_centroid_params.html#ae13910601515db040c7f164b8b1730f2',1,'lost::CentroidParams::checkedIndices()']]], - ['clamp_50',['Clamp',['../namespacelost.html#a4753c4aab04ad2deb202dd8be458e5d8',1,'lost']]], + ['clamp_50',['Clamp',['../namespacelost.html#ae06c1b87a560fb7d9de673b46ff60d9c',1,'lost']]], ['coghelper_51',['CogHelper',['../namespacelost.html#ab27cb6dc471b1c682f9dc67f41097529',1,'lost']]], ['column_52',['Column',['../classlost_1_1_mat3.html#a3975740eea4c1c33289feefb81453e6e',1,'lost::Mat3']]], ['comparekvectorpairs_53',['CompareKVectorPairs',['../namespacelost.html#a68f14b0d645721125203e669cde68358',1,'lost']]], diff --git a/search/all_4.js b/search/all_4.js index c965910a..08519aaa 100644 --- a/search/all_4.js +++ b/search/all_4.js @@ -6,21 +6,56 @@ var searchData= ['databases_2ehpp_61',['databases.hpp',['../databases_8hpp.html',1,'']]], ['davenportqalgorithm_62',['DavenportQAlgorithm',['../classlost_1_1_davenport_q_algorithm.html',1,'lost']]], ['dcmtoquaternion_63',['DCMToQuaternion',['../namespacelost.html#a6bb9983e45dfa4b82b531ca96c397eed',1,'lost']]], - ['de_64',['de',['../classlost_1_1_euler_angles.html#acce7640ab1aa3431e04cc39037e538fe',1,'lost::EulerAngles']]], - ['default_5fbsc_5fpath_65',['DEFAULT_BSC_PATH',['../io_8cpp.html#a1628471efc4a0d438d497c67d641c6c4',1,'io.cpp']]], - ['degtorad_66',['DegToRad',['../namespacelost.html#abf3a90819d379c9a4d0c48f385f52613',1,'lost']]], - ['delta_67',['delta',['../classlost_1_1_generated_star.html#a75214eb4d1e17681b3e3a116a88af29a',1,'lost::GeneratedStar']]], - ['deserializearray_68',['DeserializeArray',['../namespacelost.html#afeff6712fff1f0bfab088d35a25f52ab',1,'lost']]], - ['deserializecatalog_69',['DeserializeCatalog',['../namespacelost.html#a3d0e0e4b5dd7521775ee2d00143ab022',1,'lost']]], - ['deserializecatalogstar_70',['DeserializeCatalogStar',['../namespacelost.html#a7b5da8e7e7f7a91826c99bcc2be8f482',1,'lost']]], - ['deserializecontext_71',['DeserializeContext',['../classlost_1_1_deserialize_context.html#a0f626918d64ce584ea04407f544c79bc',1,'lost::DeserializeContext::DeserializeContext()'],['../classlost_1_1_deserialize_context.html',1,'lost::DeserializeContext']]], - ['deserializepadding_72',['DeserializePadding',['../namespacelost.html#ac6dcbacca390790e2623b918f25a0ed2',1,'lost']]], - ['deserializeprimitive_73',['DeserializePrimitive',['../namespacelost.html#a808e750fa7f99bc945155638df303fb7',1,'lost']]], - ['deserializevec3_74',['DeserializeVec3',['../namespacelost.html#ab5201d0881b201c54c1a7b7c293523ba',1,'lost']]], - ['det_75',['Det',['../classlost_1_1_mat3.html#add91dc6b5fbc16af21c0467bbdb13ae2',1,'lost::Mat3']]], - ['distance_76',['Distance',['../namespacelost.html#a10f0dede807e0a46e2a09defd4270f51',1,'lost::Distance(const Vec3 &, const Vec3 &)'],['../namespacelost.html#a1a50ad86abfc9430d15d2f855311a1f0',1,'lost::Distance(const Vec2 &, const Vec2 &)']]], - ['distance_77',['distance',['../structlost_1_1_k_vector_pair.html#af099ea7e016e1e192592f9170a100453',1,'lost::KVectorPair']]], - ['doxygen_5fsplash_2emd_78',['doxygen_splash.md',['../doxygen__splash_8md.html',1,'']]], - ['dummycentroidalgorithm_79',['DummyCentroidAlgorithm',['../classlost_1_1_dummy_centroid_algorithm.html#a44a9170f01dd8fd411cd13156711787d',1,'lost::DummyCentroidAlgorithm::DummyCentroidAlgorithm()'],['../classlost_1_1_dummy_centroid_algorithm.html',1,'lost::DummyCentroidAlgorithm']]], - ['dummystaridalgorithm_80',['DummyStarIdAlgorithm',['../classlost_1_1_dummy_star_id_algorithm.html',1,'lost']]] + ['de_64',['de',['../classlost_1_1_euler_angles.html#aa1f13c91bb698e674c2152a481dcb109',1,'lost::EulerAngles']]], + ['decimal_65',['decimal',['../decimal_8hpp.html#a0450d7258362349ee7654cefb54aaf57',1,'decimal.hpp']]], + ['decimal_66',['DECIMAL',['../decimal_8hpp.html#a261bd8f8874ffe8d498f9c3cb9af7f5c',1,'decimal.hpp']]], + ['decimal_2ehpp_67',['decimal.hpp',['../decimal_8hpp.html',1,'']]], + ['decimal_5fabs_68',['DECIMAL_ABS',['../decimal_8hpp.html#a9c74c7f21e27343c8a46da2ea345054d',1,'decimal.hpp']]], + ['decimal_5facos_69',['DECIMAL_ACOS',['../decimal_8hpp.html#aee57d54bc1c144bea46cd7e049f50aac',1,'decimal.hpp']]], + ['decimal_5fasin_70',['DECIMAL_ASIN',['../decimal_8hpp.html#a09f424203ece4d54fdf0803dae4ef650',1,'decimal.hpp']]], + ['decimal_5fatan_71',['DECIMAL_ATAN',['../decimal_8hpp.html#ab83c62825423d139a8fc951417f38f75',1,'decimal.hpp']]], + ['decimal_5fatan2_72',['DECIMAL_ATAN2',['../decimal_8hpp.html#ab47e1ed4f2b4c9e27bc3eac8692dc0f8',1,'decimal.hpp']]], + ['decimal_5fceil_73',['DECIMAL_CEIL',['../decimal_8hpp.html#a9f4f1ed42bca607dbe2a3326f9612ad6',1,'decimal.hpp']]], + ['decimal_5fcos_74',['DECIMAL_COS',['../decimal_8hpp.html#aec47c5335165b89764e2d598af713495',1,'decimal.hpp']]], + ['decimal_5ferf_75',['DECIMAL_ERF',['../decimal_8hpp.html#ad9ba1d630c8789578b5f7a31b1d22c51',1,'decimal.hpp']]], + ['decimal_5fexp_76',['DECIMAL_EXP',['../decimal_8hpp.html#aecfbc39709657fd5eecb522d45a9ab54',1,'decimal.hpp']]], + ['decimal_5ffloor_77',['DECIMAL_FLOOR',['../decimal_8hpp.html#af8bb135de5573bfe8c0d7d43cacacee9',1,'decimal.hpp']]], + ['decimal_5ffma_78',['DECIMAL_FMA',['../decimal_8hpp.html#a36c4a4a57b570617190116b1d05c7229',1,'decimal.hpp']]], + ['decimal_5fhypot_79',['DECIMAL_HYPOT',['../decimal_8hpp.html#a48c6d79be3f117fa2e9858e923a67d87',1,'decimal.hpp']]], + ['decimal_5flog_80',['DECIMAL_LOG',['../decimal_8hpp.html#a0f5f80288df1dfd2b557bfdb3790dbc6',1,'decimal.hpp']]], + ['decimal_5fm_5f1_5fpi_81',['DECIMAL_M_1_PI',['../decimal_8hpp.html#a89d8e637d15ccbfddbcfbbe06fd0dd70',1,'decimal.hpp']]], + ['decimal_5fm_5f2_5fpi_82',['DECIMAL_M_2_PI',['../decimal_8hpp.html#a15735ad0b5b14da97c2178edd6228edd',1,'decimal.hpp']]], + ['decimal_5fm_5f2_5fsqrtpi_83',['DECIMAL_M_2_SQRTPI',['../decimal_8hpp.html#a850856ae2421d80dec62fc6c36d26982',1,'decimal.hpp']]], + ['decimal_5fm_5fe_84',['DECIMAL_M_E',['../decimal_8hpp.html#adb7c3a168fb2dae974fd520cbc3aca4d',1,'decimal.hpp']]], + ['decimal_5fm_5fln10_85',['DECIMAL_M_LN10',['../decimal_8hpp.html#a057efc464c7458a952d79d44bb1a0eec',1,'decimal.hpp']]], + ['decimal_5fm_5fln2_86',['DECIMAL_M_LN2',['../decimal_8hpp.html#af45501daadddc6b37e8565c1b618803c',1,'decimal.hpp']]], + ['decimal_5fm_5flog10e_87',['DECIMAL_M_LOG10E',['../decimal_8hpp.html#ab0e9ec896c607297069fb48a163a5155',1,'decimal.hpp']]], + ['decimal_5fm_5flog2e_88',['DECIMAL_M_LOG2E',['../decimal_8hpp.html#a7759253b1830f717df4e9956191985f6',1,'decimal.hpp']]], + ['decimal_5fm_5fpi_89',['DECIMAL_M_PI',['../decimal_8hpp.html#a4239f65c1338d3621c3f5ce50d8ae928',1,'decimal.hpp']]], + ['decimal_5fm_5fpi_5f2_90',['DECIMAL_M_PI_2',['../decimal_8hpp.html#a9eebd6e84e82d7ebb1eb46b3fe0a2679',1,'decimal.hpp']]], + ['decimal_5fm_5fpi_5f4_91',['DECIMAL_M_PI_4',['../decimal_8hpp.html#a5365adec6c470e04e3c3677276bdc280',1,'decimal.hpp']]], + ['decimal_5fm_5fsqrt1_5f2_92',['DECIMAL_M_SQRT1_2',['../decimal_8hpp.html#a83f92097e3d861905cafe34266f2eb85',1,'decimal.hpp']]], + ['decimal_5fm_5fsqrt2_93',['DECIMAL_M_SQRT2',['../decimal_8hpp.html#a386a0c2d14d7ddeae07a7cc94f323dfb',1,'decimal.hpp']]], + ['decimal_5fpow_94',['DECIMAL_POW',['../decimal_8hpp.html#a3e2c08cf2cbb9071d37e64ec0444edad',1,'decimal.hpp']]], + ['decimal_5fround_95',['DECIMAL_ROUND',['../decimal_8hpp.html#a2562bda367ecef5f1c60df62450e23ad',1,'decimal.hpp']]], + ['decimal_5fsin_96',['DECIMAL_SIN',['../decimal_8hpp.html#a904c27af59c769840fd8e7fe742affd2',1,'decimal.hpp']]], + ['decimal_5fsqrt_97',['DECIMAL_SQRT',['../decimal_8hpp.html#aadce8b7d5c59d658cb596671b3330d02',1,'decimal.hpp']]], + ['decimal_5ftan_98',['DECIMAL_TAN',['../decimal_8hpp.html#a0722894990fe7d0ab7824f52dbbc9b1a',1,'decimal.hpp']]], + ['decimalmodulo_99',['DecimalModulo',['../namespacelost.html#a8a1cf9ee7fb4af17e417110197dd813e',1,'lost']]], + ['default_5fbsc_5fpath_100',['DEFAULT_BSC_PATH',['../io_8cpp.html#a1628471efc4a0d438d497c67d641c6c4',1,'io.cpp']]], + ['degtorad_101',['DegToRad',['../namespacelost.html#a543c802e0faa7d19b8bfb148573309fe',1,'lost']]], + ['delta_102',['delta',['../classlost_1_1_generated_star.html#a75214eb4d1e17681b3e3a116a88af29a',1,'lost::GeneratedStar']]], + ['deserializearray_103',['DeserializeArray',['../namespacelost.html#afeff6712fff1f0bfab088d35a25f52ab',1,'lost']]], + ['deserializecatalog_104',['DeserializeCatalog',['../namespacelost.html#a3d0e0e4b5dd7521775ee2d00143ab022',1,'lost']]], + ['deserializecatalogstar_105',['DeserializeCatalogStar',['../namespacelost.html#a7b5da8e7e7f7a91826c99bcc2be8f482',1,'lost']]], + ['deserializecontext_106',['DeserializeContext',['../classlost_1_1_deserialize_context.html#a0f626918d64ce584ea04407f544c79bc',1,'lost::DeserializeContext::DeserializeContext()'],['../classlost_1_1_deserialize_context.html',1,'lost::DeserializeContext']]], + ['deserializepadding_107',['DeserializePadding',['../namespacelost.html#ac6dcbacca390790e2623b918f25a0ed2',1,'lost']]], + ['deserializeprimitive_108',['DeserializePrimitive',['../namespacelost.html#a808e750fa7f99bc945155638df303fb7',1,'lost']]], + ['deserializevec3_109',['DeserializeVec3',['../namespacelost.html#ab5201d0881b201c54c1a7b7c293523ba',1,'lost']]], + ['det_110',['Det',['../classlost_1_1_mat3.html#a5a3c5d3bb1e90373f8ac1d2c16fca504',1,'lost::Mat3']]], + ['distance_111',['Distance',['../namespacelost.html#a36351539266df1a549d5e98ee01fc339',1,'lost::Distance(const Vec2 &, const Vec2 &)'],['../namespacelost.html#ae254d39e7932059a7b1e3024272d48a2',1,'lost::Distance(const Vec3 &, const Vec3 &)']]], + ['distance_112',['distance',['../structlost_1_1_k_vector_pair.html#a59e7fb46e41e1365b35b99c8ef9656ae',1,'lost::KVectorPair']]], + ['doxygen_5fsplash_2emd_113',['doxygen_splash.md',['../doxygen__splash_8md.html',1,'']]], + ['dummycentroidalgorithm_114',['DummyCentroidAlgorithm',['../classlost_1_1_dummy_centroid_algorithm.html#a44a9170f01dd8fd411cd13156711787d',1,'lost::DummyCentroidAlgorithm::DummyCentroidAlgorithm()'],['../classlost_1_1_dummy_centroid_algorithm.html',1,'lost::DummyCentroidAlgorithm']]], + ['dummystaridalgorithm_115',['DummyStarIdAlgorithm',['../classlost_1_1_dummy_star_id_algorithm.html',1,'lost']]] ]; diff --git a/search/all_5.js b/search/all_5.js index e1b7fde2..e76382b2 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -1,8 +1,8 @@ var searchData= [ - ['epsilon_81',['EPSILON',['../attitude-estimators_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'attitude-estimators.cpp']]], - ['eulerangles_82',['EulerAngles',['../classlost_1_1_euler_angles.html#a139701e558ffce8c4710ec55e5b37b75',1,'lost::EulerAngles::EulerAngles()'],['../classlost_1_1_euler_angles.html',1,'lost::EulerAngles']]], - ['expectedattitude_83',['ExpectedAttitude',['../classlost_1_1_pipeline_input.html#ade22c9a790a978c96383c6497e9567ec',1,'lost::PipelineInput']]], - ['expectedstarids_84',['ExpectedStarIds',['../classlost_1_1_pipeline_input.html#a9cdd08fecc4186dd3b9263c1a7de2047',1,'lost::PipelineInput::ExpectedStarIds()'],['../classlost_1_1_generated_pipeline_input.html#a9b4e6a0cea348568381061b6ebd1f926',1,'lost::GeneratedPipelineInput::ExpectedStarIds()']]], - ['expectedstars_85',['ExpectedStars',['../classlost_1_1_pipeline_input.html#a3d0edc6bfda801512627d6bb1bc39c4a',1,'lost::PipelineInput::ExpectedStars()'],['../classlost_1_1_generated_pipeline_input.html#a5bb4d8d26f136ff61250e6ab70437f15',1,'lost::GeneratedPipelineInput::ExpectedStars()']]] + ['epsilon_116',['EPSILON',['../attitude-estimators_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'attitude-estimators.cpp']]], + ['eulerangles_117',['EulerAngles',['../classlost_1_1_euler_angles.html#a306c3cde2b3a84f2b546cbcef318ebdf',1,'lost::EulerAngles::EulerAngles()'],['../classlost_1_1_euler_angles.html',1,'lost::EulerAngles']]], + ['expectedattitude_118',['ExpectedAttitude',['../classlost_1_1_pipeline_input.html#ade22c9a790a978c96383c6497e9567ec',1,'lost::PipelineInput']]], + ['expectedstarids_119',['ExpectedStarIds',['../classlost_1_1_pipeline_input.html#a9cdd08fecc4186dd3b9263c1a7de2047',1,'lost::PipelineInput::ExpectedStarIds()'],['../classlost_1_1_generated_pipeline_input.html#a9b4e6a0cea348568381061b6ebd1f926',1,'lost::GeneratedPipelineInput::ExpectedStarIds()']]], + ['expectedstars_120',['ExpectedStars',['../classlost_1_1_pipeline_input.html#a3d0edc6bfda801512627d6bb1bc39c4a',1,'lost::PipelineInput::ExpectedStars()'],['../classlost_1_1_generated_pipeline_input.html#a5bb4d8d26f136ff61250e6ab70437f15',1,'lost::GeneratedPipelineInput::ExpectedStars()']]] ]; diff --git a/search/all_6.js b/search/all_6.js index 53bc2adb..eadf20bc 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -1,13 +1,13 @@ var searchData= [ - ['findnamedstar_86',['FindNamedStar',['../namespacelost.html#ac722314f3b14385ade7e5f05699ef006',1,'lost']]], - ['findpairsexact_87',['FindPairsExact',['../classlost_1_1_pair_distance_k_vector_database.html#a892b10b967cbbad63625f807b8a73fa2',1,'lost::PairDistanceKVectorDatabase']]], - ['findpairsliberal_88',['FindPairsLiberal',['../classlost_1_1_pair_distance_k_vector_database.html#a8d2180c0b5a9900a967dfadac71e17b6',1,'lost::PairDistanceKVectorDatabase']]], - ['findunidentifiedcentroidsinrange_89',['FindUnidentifiedCentroidsInRange',['../namespacelost.html#a0f709f580bfbe3bd0196b50226f22683',1,'lost']]], - ['floatmodulo_90',['FloatModulo',['../namespacelost.html#a01c855b3690f601ec92a40471aa05ebd',1,'lost']]], - ['focallength_91',['FocalLength',['../classlost_1_1_camera.html#aa7df6f5d7ee2f6c26ecc34bd1e7f2e53',1,'lost::Camera']]], - ['focallengthfromoptions_92',['FocalLengthFromOptions',['../namespacelost.html#a9eaa81a9fc5f13a447e4209b5b230308',1,'lost']]], - ['focallengthtofov_93',['FocalLengthToFov',['../namespacelost.html#ae05e275818c57f3b736b70236d0e6703',1,'lost']]], - ['fov_94',['Fov',['../classlost_1_1_camera.html#a3830d04bcd953e27cc133944fb434f64',1,'lost::Camera']]], - ['fovtofocallength_95',['FovToFocalLength',['../namespacelost.html#a5e7d67bec758d4922935c84b8a0f8526',1,'lost']]] + ['findnamedstar_121',['FindNamedStar',['../namespacelost.html#ac722314f3b14385ade7e5f05699ef006',1,'lost']]], + ['findpairsexact_122',['FindPairsExact',['../classlost_1_1_pair_distance_k_vector_database.html#ad76a05c909ea68d6084f942f3623b8ed',1,'lost::PairDistanceKVectorDatabase']]], + ['findpairsliberal_123',['FindPairsLiberal',['../classlost_1_1_pair_distance_k_vector_database.html#ae88622306fc1b554a5c86476b0e815af',1,'lost::PairDistanceKVectorDatabase']]], + ['findunidentifiedcentroidsinrange_124',['FindUnidentifiedCentroidsInRange',['../namespacelost.html#a6ddca8ba6411ef602cc723abbbabbbdd',1,'lost']]], + ['flags_125',['flags',['../classlost_1_1_multi_database_entry.html#ace2cf20a17ec8c58e40965438df8df06',1,'lost::MultiDatabaseEntry']]], + ['focallength_126',['FocalLength',['../classlost_1_1_camera.html#af484e8b4890c20ca02d05f907ba958b8',1,'lost::Camera']]], + ['focallengthfromoptions_127',['FocalLengthFromOptions',['../namespacelost.html#a2788319f0c0f74fbd29f5249501482be',1,'lost']]], + ['focallengthtofov_128',['FocalLengthToFov',['../namespacelost.html#a96ba4670682e2bfdbe3fd350b0162e38',1,'lost']]], + ['fov_129',['Fov',['../classlost_1_1_camera.html#a8452608ad72efc8e93378f33eb981c0a',1,'lost::Camera']]], + ['fovtofocallength_130',['FovToFocalLength',['../namespacelost.html#a000f9bcbfc18aa202849ef43a455cb20',1,'lost']]] ]; diff --git a/search/all_7.js b/search/all_7.js index cd4df0b7..4a1abd78 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -1,18 +1,18 @@ var searchData= [ - ['generatedatabases_96',['GenerateDatabases',['../namespacelost.html#ac0ac19dd0e9f2f1ce471617d9c837949',1,'lost']]], - ['generatedpipelineinput_97',['GeneratedPipelineInput',['../classlost_1_1_generated_pipeline_input.html#a1b473186f7c725b5e59dcfe95be1f686',1,'lost::GeneratedPipelineInput::GeneratedPipelineInput()'],['../classlost_1_1_generated_pipeline_input.html',1,'lost::GeneratedPipelineInput']]], - ['generatedstar_98',['GeneratedStar',['../classlost_1_1_generated_star.html#ad8406a16bdfb31b731d923d67a5afe71',1,'lost::GeneratedStar::GeneratedStar()'],['../classlost_1_1_generated_star.html',1,'lost::GeneratedStar']]], - ['geometricvotingstaridalgorithm_99',['GeometricVotingStarIdAlgorithm',['../classlost_1_1_geometric_voting_star_id_algorithm.html#a34789f103fe935cdd41a9f053ba0b349',1,'lost::GeometricVotingStarIdAlgorithm::GeometricVotingStarIdAlgorithm()'],['../classlost_1_1_geometric_voting_star_id_algorithm.html',1,'lost::GeometricVotingStarIdAlgorithm']]], - ['getcatalog_100',['GetCatalog',['../classlost_1_1_pipeline_input.html#a31278ee2b910cf3e8af25f71aefcf295',1,'lost::PipelineInput::GetCatalog()'],['../classlost_1_1_generated_pipeline_input.html#a6aa7ffe5170d43fe925fdf668a54cc9f',1,'lost::GeneratedPipelineInput::GetCatalog()'],['../classlost_1_1_png_pipeline_input.html#acf5c26f8f9ac954ec16bb46938e76672',1,'lost::PngPipelineInput::GetCatalog()']]], - ['getcursor_101',['GetCursor',['../classlost_1_1_deserialize_context.html#ace579278804e203fa3464460704cd8a5',1,'lost::DeserializeContext']]], - ['getdcm_102',['GetDCM',['../classlost_1_1_attitude.html#aa5d6bb136591695fb81279ee2d4b8394',1,'lost::Attitude']]], - ['getgeneratedpipelineinput_103',['GetGeneratedPipelineInput',['../namespacelost.html#aec3a2012bf028c749ba53a46a50ad172',1,'lost']]], - ['getoffset_104',['GetOffset',['../classlost_1_1_deserialize_context.html#a02edcd036deb10b5928ae6b94a57ae38',1,'lost::DeserializeContext']]], - ['getpipelineinput_105',['GetPipelineInput',['../namespacelost.html#ad01d904e4a6bf5aed4a1b8f97f1416c5',1,'lost']]], - ['getpngpipelineinput_106',['GetPngPipelineInput',['../namespacelost.html#a72e465adc8dcb532e46b956261bf93fe',1,'lost']]], - ['getquaternion_107',['GetQuaternion',['../classlost_1_1_attitude.html#adc1b3ee1876cf2212603eaa902dce055',1,'lost::Attitude']]], - ['go_108',['Go',['../classlost_1_1_quest_algorithm.html#acd9f32ebd3a0873346f752e04e477b23',1,'lost::QuestAlgorithm::Go()'],['../classlost_1_1_pyramid_star_id_algorithm.html#ac4d954f0b508e6b1818f416cbed5c67a',1,'lost::PyramidStarIdAlgorithm::Go()'],['../classlost_1_1_geometric_voting_star_id_algorithm.html#adea674f2fdf9d0715655eddbb749ecf0',1,'lost::GeometricVotingStarIdAlgorithm::Go()'],['../classlost_1_1_dummy_star_id_algorithm.html#a015bd32c8cfbd5a8709f1714aa023946',1,'lost::DummyStarIdAlgorithm::Go()'],['../classlost_1_1_star_id_algorithm.html#a303db15af0aecc9c4053a81429f8667c',1,'lost::StarIdAlgorithm::Go()'],['../classlost_1_1_pipeline.html#a880d560ff40f68a2bbdc2cacc943e09d',1,'lost::Pipeline::Go(const PipelineInputList &)'],['../classlost_1_1_pipeline.html#aea0fe125836ac0c6906886ad320f5210',1,'lost::Pipeline::Go(const PipelineInput &)'],['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#a79ba0874a9ad042d8c1df1fb4a56cbe6',1,'lost::IterativeWeightedCenterOfGravityAlgorithm::Go()'],['../classlost_1_1_center_of_gravity_algorithm.html#a47d588a30c71d8b61f1d7791f2d08ea3',1,'lost::CenterOfGravityAlgorithm::Go()'],['../classlost_1_1_dummy_centroid_algorithm.html#a13fdcd6246c81129765ab0fa803e3c0e',1,'lost::DummyCentroidAlgorithm::Go()'],['../classlost_1_1_centroid_algorithm.html#a4e7151f912b7d4df1ff05151cdd0856c',1,'lost::CentroidAlgorithm::Go()'],['../classlost_1_1_triad_algorithm.html#a7c47290a94c74458995f5307e2486fc9',1,'lost::TriadAlgorithm::Go()'],['../classlost_1_1_davenport_q_algorithm.html#abdceeef38f84143dd87eb19f8318fadf',1,'lost::DavenportQAlgorithm::Go()'],['../classlost_1_1_attitude_estimation_algorithm.html#a4ec6765403adace17271b469851dadf7',1,'lost::AttitudeEstimationAlgorithm::Go()']]], - ['grayscaleimagetosurface_109',['GrayscaleImageToSurface',['../namespacelost.html#af0b05482238f0a180d5906f0e43ac3e2',1,'lost']]], - ['guess_110',['guess',['../structlost_1_1_i_w_co_g_params.html#ac76a11e21cf5252a2077908357540ad7',1,'lost::IWCoGParams']]] + ['generatedatabases_131',['GenerateDatabases',['../namespacelost.html#ac0ac19dd0e9f2f1ce471617d9c837949',1,'lost']]], + ['generatedpipelineinput_132',['GeneratedPipelineInput',['../classlost_1_1_generated_pipeline_input.html#a7e48b3e9c25cfd4fb36cd600f05f5098',1,'lost::GeneratedPipelineInput::GeneratedPipelineInput()'],['../classlost_1_1_generated_pipeline_input.html',1,'lost::GeneratedPipelineInput']]], + ['generatedstar_133',['GeneratedStar',['../classlost_1_1_generated_star.html#a53c8237a1eef1b7b80c211a82905d339',1,'lost::GeneratedStar::GeneratedStar()'],['../classlost_1_1_generated_star.html',1,'lost::GeneratedStar']]], + ['geometricvotingstaridalgorithm_134',['GeometricVotingStarIdAlgorithm',['../classlost_1_1_geometric_voting_star_id_algorithm.html#aa846baf66d54b2dfc9212722d9be7518',1,'lost::GeometricVotingStarIdAlgorithm::GeometricVotingStarIdAlgorithm()'],['../classlost_1_1_geometric_voting_star_id_algorithm.html',1,'lost::GeometricVotingStarIdAlgorithm']]], + ['getcatalog_135',['GetCatalog',['../classlost_1_1_pipeline_input.html#a31278ee2b910cf3e8af25f71aefcf295',1,'lost::PipelineInput::GetCatalog()'],['../classlost_1_1_generated_pipeline_input.html#a6aa7ffe5170d43fe925fdf668a54cc9f',1,'lost::GeneratedPipelineInput::GetCatalog()'],['../classlost_1_1_png_pipeline_input.html#acf5c26f8f9ac954ec16bb46938e76672',1,'lost::PngPipelineInput::GetCatalog()']]], + ['getcursor_136',['GetCursor',['../classlost_1_1_deserialize_context.html#ace579278804e203fa3464460704cd8a5',1,'lost::DeserializeContext']]], + ['getdcm_137',['GetDCM',['../classlost_1_1_attitude.html#aa5d6bb136591695fb81279ee2d4b8394',1,'lost::Attitude']]], + ['getgeneratedpipelineinput_138',['GetGeneratedPipelineInput',['../namespacelost.html#aec3a2012bf028c749ba53a46a50ad172',1,'lost']]], + ['getoffset_139',['GetOffset',['../classlost_1_1_deserialize_context.html#a02edcd036deb10b5928ae6b94a57ae38',1,'lost::DeserializeContext']]], + ['getpipelineinput_140',['GetPipelineInput',['../namespacelost.html#ad01d904e4a6bf5aed4a1b8f97f1416c5',1,'lost']]], + ['getpngpipelineinput_141',['GetPngPipelineInput',['../namespacelost.html#a72e465adc8dcb532e46b956261bf93fe',1,'lost']]], + ['getquaternion_142',['GetQuaternion',['../classlost_1_1_attitude.html#adc1b3ee1876cf2212603eaa902dce055',1,'lost::Attitude']]], + ['go_143',['Go',['../classlost_1_1_quest_algorithm.html#acd9f32ebd3a0873346f752e04e477b23',1,'lost::QuestAlgorithm::Go()'],['../classlost_1_1_pyramid_star_id_algorithm.html#ac4d954f0b508e6b1818f416cbed5c67a',1,'lost::PyramidStarIdAlgorithm::Go()'],['../classlost_1_1_geometric_voting_star_id_algorithm.html#adea674f2fdf9d0715655eddbb749ecf0',1,'lost::GeometricVotingStarIdAlgorithm::Go()'],['../classlost_1_1_dummy_star_id_algorithm.html#a015bd32c8cfbd5a8709f1714aa023946',1,'lost::DummyStarIdAlgorithm::Go()'],['../classlost_1_1_star_id_algorithm.html#a303db15af0aecc9c4053a81429f8667c',1,'lost::StarIdAlgorithm::Go()'],['../classlost_1_1_pipeline.html#a880d560ff40f68a2bbdc2cacc943e09d',1,'lost::Pipeline::Go(const PipelineInputList &)'],['../classlost_1_1_pipeline.html#aea0fe125836ac0c6906886ad320f5210',1,'lost::Pipeline::Go(const PipelineInput &)'],['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#a79ba0874a9ad042d8c1df1fb4a56cbe6',1,'lost::IterativeWeightedCenterOfGravityAlgorithm::Go()'],['../classlost_1_1_center_of_gravity_algorithm.html#a47d588a30c71d8b61f1d7791f2d08ea3',1,'lost::CenterOfGravityAlgorithm::Go()'],['../classlost_1_1_dummy_centroid_algorithm.html#a13fdcd6246c81129765ab0fa803e3c0e',1,'lost::DummyCentroidAlgorithm::Go()'],['../classlost_1_1_centroid_algorithm.html#a4e7151f912b7d4df1ff05151cdd0856c',1,'lost::CentroidAlgorithm::Go()'],['../classlost_1_1_triad_algorithm.html#a7c47290a94c74458995f5307e2486fc9',1,'lost::TriadAlgorithm::Go()'],['../classlost_1_1_davenport_q_algorithm.html#abdceeef38f84143dd87eb19f8318fadf',1,'lost::DavenportQAlgorithm::Go()'],['../classlost_1_1_attitude_estimation_algorithm.html#a4ec6765403adace17271b469851dadf7',1,'lost::AttitudeEstimationAlgorithm::Go()']]], + ['grayscaleimagetosurface_144',['GrayscaleImageToSurface',['../namespacelost.html#af0b05482238f0a180d5906f0e43ac3e2',1,'lost']]], + ['guess_145',['guess',['../structlost_1_1_i_w_co_g_params.html#ac76a11e21cf5252a2077908357540ad7',1,'lost::IWCoGParams']]] ]; diff --git a/search/all_8.js b/search/all_8.js index a990727f..87f0d175 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -1,5 +1,5 @@ var searchData= [ - ['hasvalue_111',['HasValue',['../classlost_1_1_pair_distance_involving_iterator.html#a955185950868d30fe8526d84ad4f7062',1,'lost::PairDistanceInvolvingIterator']]], - ['height_112',['height',['../classlost_1_1_image.html#a705ef08de937ac85cf4a5c5e1084475e',1,'lost::Image']]] + ['hasvalue_146',['HasValue',['../classlost_1_1_pair_distance_involving_iterator.html#a955185950868d30fe8526d84ad4f7062',1,'lost::PairDistanceInvolvingIterator']]], + ['height_147',['height',['../classlost_1_1_image.html#a705ef08de937ac85cf4a5c5e1084475e',1,'lost::Image']]] ]; diff --git a/search/all_9.js b/search/all_9.js index 414ad1f7..c9f1909d 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -1,30 +1,31 @@ var searchData= [ - ['i_113',['i',['../classlost_1_1_quaternion.html#af91fd942679a1445421c93c4db9628b2',1,'lost::Quaternion']]], - ['identifyremainingstarspairdistance_114',['IdentifyRemainingStarsPairDistance',['../namespacelost.html#adb9048b631cf1af6c33af2b0dca53c41',1,'lost']]], - ['identifythirdstar_115',['IdentifyThirdStar',['../namespacelost.html#a6271e89ec246219f15d27942b98c8877',1,'lost']]], - ['image_116',['image',['../classlost_1_1_image.html#a1cf1464da2a2b11d9983ed1f022da26b',1,'lost::Image']]], - ['image_117',['Image',['../classlost_1_1_image.html',1,'lost']]], - ['index_118',['index',['../classlost_1_1_i_r_unidentified_centroid.html#ae2439bce89692ce79d65232aa76fd539',1,'lost::IRUnidentifiedCentroid']]], - ['index1_119',['index1',['../structlost_1_1_k_vector_pair.html#a9ebe0e523a60fa47f885becad718ffea',1,'lost::KVectorPair']]], - ['index2_120',['index2',['../structlost_1_1_k_vector_pair.html#ae2cfc4c6e1a7f49c465a4ae548838fb4',1,'lost::KVectorPair']]], - ['inputattitude_121',['InputAttitude',['../classlost_1_1_pipeline_input.html#a19bb4239a2e3b6622aa168959be70d98',1,'lost::PipelineInput::InputAttitude()'],['../classlost_1_1_generated_pipeline_input.html#a480955be5ecd314fd59d3c1f6595539a',1,'lost::GeneratedPipelineInput::InputAttitude()']]], - ['inputcamera_122',['InputCamera',['../classlost_1_1_pipeline_input.html#af88962a236353e511724a699dab7a785',1,'lost::PipelineInput::InputCamera()'],['../classlost_1_1_generated_pipeline_input.html#a7feccf083489e6ae34e943eb23ee237f',1,'lost::GeneratedPipelineInput::InputCamera()'],['../classlost_1_1_png_pipeline_input.html#a6d8945388e5607205ec0b37a398558b1',1,'lost::PngPipelineInput::InputCamera()']]], - ['inputimage_123',['InputImage',['../classlost_1_1_pipeline_input.html#a4df52c585005abf1154699cb89570db8',1,'lost::PipelineInput::InputImage()'],['../classlost_1_1_generated_pipeline_input.html#a0cbfa2300553ec4942d124e456d0ed4a',1,'lost::GeneratedPipelineInput::InputImage()'],['../classlost_1_1_png_pipeline_input.html#ac52da46b0047856721736cf776c19eff',1,'lost::PngPipelineInput::InputImage()']]], - ['inputimagesurface_124',['InputImageSurface',['../classlost_1_1_pipeline_input.html#a8707ebe081ca65531341eeb2b9d4ff7b',1,'lost::PipelineInput']]], - ['inputstarids_125',['InputStarIds',['../classlost_1_1_generated_pipeline_input.html#a07c1d15af1fee070bf7b143211f7297f',1,'lost::GeneratedPipelineInput::InputStarIds()'],['../classlost_1_1_pipeline_input.html#a3942b6fcacd994b5d9f841a770d895bc',1,'lost::PipelineInput::InputStarIds() const']]], - ['inputstars_126',['InputStars',['../classlost_1_1_pipeline_input.html#aa6c9969bb4118ddf877a1000636f6486',1,'lost::PipelineInput::InputStars()'],['../classlost_1_1_generated_pipeline_input.html#a46251e73597d285c1988fffd243185e0',1,'lost::GeneratedPipelineInput::InputStars()']]], - ['insensor_127',['InSensor',['../classlost_1_1_camera.html#a4d940919d1247edd431de7643473f538',1,'lost::Camera']]], - ['inspectcatalog_128',['InspectCatalog',['../namespacelost.html#ada936d93de2f3661518d1215d73ade78',1,'lost']]], - ['inverse_129',['Inverse',['../classlost_1_1_mat3.html#a155df2c02f28acae5a3b59757eca0945',1,'lost::Mat3']]], - ['io_2ecpp_130',['io.cpp',['../io_8cpp.html',1,'']]], - ['io_2ehpp_131',['io.hpp',['../io_8hpp.html',1,'']]], - ['irunidentifiedcentroid_132',['IRUnidentifiedCentroid',['../classlost_1_1_i_r_unidentified_centroid.html#a88fc36b5c47e3f02662b9b3da4e236e0',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid(const Star &star, int16_t index)'],['../classlost_1_1_i_r_unidentified_centroid.html#a15948657fda95018c8c700369da3e95d',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid()'],['../classlost_1_1_i_r_unidentified_centroid.html',1,'lost::IRUnidentifiedCentroid']]], - ['isknown_133',['IsKnown',['../classlost_1_1_attitude.html#afb6f3d23d6884b94a43028f97cac92d5',1,'lost::Attitude']]], - ['isunit_134',['IsUnit',['../classlost_1_1_quaternion.html#ac11be6116bc0db43cb7b84ec01e73e33',1,'lost::Quaternion']]], - ['isvalid_135',['isValid',['../structlost_1_1_centroid_params.html#aa10ded620c3bbe4a1b60408e9cf90502',1,'lost::CentroidParams::isValid()'],['../structlost_1_1_i_w_co_g_params.html#add92d3af1d8df7729ece6bacb53891f3',1,'lost::IWCoGParams::isValid()']]], - ['iterativeweightedcenterofgravityalgorithm_136',['IterativeWeightedCenterOfGravityAlgorithm',['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#acb0e63042d1bd77c6c2879315b3ee51c',1,'lost::IterativeWeightedCenterOfGravityAlgorithm::IterativeWeightedCenterOfGravityAlgorithm()'],['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html',1,'lost::IterativeWeightedCenterOfGravityAlgorithm']]], - ['iwcoghelper_137',['IWCoGHelper',['../namespacelost.html#a789d628bbeab011d5552a6dc551b77a2',1,'lost']]], - ['iwcogminchange_138',['iWCoGMinChange',['../namespacelost.html#adb169fa5f416a7acc9c7a9c52b2c86a6',1,'lost']]], - ['iwcogparams_139',['IWCoGParams',['../structlost_1_1_i_w_co_g_params.html',1,'lost']]] + ['i_148',['i',['../classlost_1_1_quaternion.html#a29cfd61187f0b99d589d8b7cc46747e1',1,'lost::Quaternion']]], + ['identifyremainingstarspairdistance_149',['IdentifyRemainingStarsPairDistance',['../namespacelost.html#a788b77a0d64ad007d1f71778cfc91a4e',1,'lost']]], + ['identifythirdstar_150',['IdentifyThirdStar',['../namespacelost.html#a95cb98b7b4a9224b281e8ebf8f83acd4',1,'lost']]], + ['image_151',['image',['../classlost_1_1_image.html#a1cf1464da2a2b11d9983ed1f022da26b',1,'lost::Image']]], + ['image_152',['Image',['../classlost_1_1_image.html',1,'lost']]], + ['index_153',['index',['../classlost_1_1_i_r_unidentified_centroid.html#ae2439bce89692ce79d65232aa76fd539',1,'lost::IRUnidentifiedCentroid']]], + ['index1_154',['index1',['../structlost_1_1_k_vector_pair.html#a9ebe0e523a60fa47f885becad718ffea',1,'lost::KVectorPair']]], + ['index2_155',['index2',['../structlost_1_1_k_vector_pair.html#ae2cfc4c6e1a7f49c465a4ae548838fb4',1,'lost::KVectorPair']]], + ['inputattitude_156',['InputAttitude',['../classlost_1_1_pipeline_input.html#a19bb4239a2e3b6622aa168959be70d98',1,'lost::PipelineInput::InputAttitude()'],['../classlost_1_1_generated_pipeline_input.html#a480955be5ecd314fd59d3c1f6595539a',1,'lost::GeneratedPipelineInput::InputAttitude()']]], + ['inputcamera_157',['InputCamera',['../classlost_1_1_pipeline_input.html#af88962a236353e511724a699dab7a785',1,'lost::PipelineInput::InputCamera()'],['../classlost_1_1_generated_pipeline_input.html#a7feccf083489e6ae34e943eb23ee237f',1,'lost::GeneratedPipelineInput::InputCamera()'],['../classlost_1_1_png_pipeline_input.html#a6d8945388e5607205ec0b37a398558b1',1,'lost::PngPipelineInput::InputCamera()']]], + ['inputimage_158',['InputImage',['../classlost_1_1_pipeline_input.html#a4df52c585005abf1154699cb89570db8',1,'lost::PipelineInput::InputImage()'],['../classlost_1_1_generated_pipeline_input.html#a0cbfa2300553ec4942d124e456d0ed4a',1,'lost::GeneratedPipelineInput::InputImage()'],['../classlost_1_1_png_pipeline_input.html#ac52da46b0047856721736cf776c19eff',1,'lost::PngPipelineInput::InputImage()']]], + ['inputimagesurface_159',['InputImageSurface',['../classlost_1_1_pipeline_input.html#a8707ebe081ca65531341eeb2b9d4ff7b',1,'lost::PipelineInput']]], + ['inputstarids_160',['InputStarIds',['../classlost_1_1_generated_pipeline_input.html#a07c1d15af1fee070bf7b143211f7297f',1,'lost::GeneratedPipelineInput::InputStarIds()'],['../classlost_1_1_pipeline_input.html#a3942b6fcacd994b5d9f841a770d895bc',1,'lost::PipelineInput::InputStarIds() const']]], + ['inputstars_161',['InputStars',['../classlost_1_1_pipeline_input.html#aa6c9969bb4118ddf877a1000636f6486',1,'lost::PipelineInput::InputStars()'],['../classlost_1_1_generated_pipeline_input.html#a46251e73597d285c1988fffd243185e0',1,'lost::GeneratedPipelineInput::InputStars()']]], + ['insensor_162',['InSensor',['../classlost_1_1_camera.html#a4d940919d1247edd431de7643473f538',1,'lost::Camera']]], + ['inspectcatalog_163',['InspectCatalog',['../namespacelost.html#ada936d93de2f3661518d1215d73ade78',1,'lost']]], + ['inverse_164',['Inverse',['../classlost_1_1_mat3.html#a155df2c02f28acae5a3b59757eca0945',1,'lost::Mat3']]], + ['io_2ecpp_165',['io.cpp',['../io_8cpp.html',1,'']]], + ['io_2ehpp_166',['io.hpp',['../io_8hpp.html',1,'']]], + ['irunidentifiedcentroid_167',['IRUnidentifiedCentroid',['../classlost_1_1_i_r_unidentified_centroid.html#a88fc36b5c47e3f02662b9b3da4e236e0',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid(const Star &star, int16_t index)'],['../classlost_1_1_i_r_unidentified_centroid.html#a15948657fda95018c8c700369da3e95d',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid()'],['../classlost_1_1_i_r_unidentified_centroid.html',1,'lost::IRUnidentifiedCentroid']]], + ['isflagset_168',['isFlagSet',['../namespacelost.html#a9a6ccd2f576c452a68db8152dc2edb24',1,'lost']]], + ['isknown_169',['IsKnown',['../classlost_1_1_attitude.html#afb6f3d23d6884b94a43028f97cac92d5',1,'lost::Attitude']]], + ['isunit_170',['IsUnit',['../classlost_1_1_quaternion.html#ac591d4b58b2890bd7f4bb0a331418001',1,'lost::Quaternion']]], + ['isvalid_171',['isValid',['../structlost_1_1_centroid_params.html#aa10ded620c3bbe4a1b60408e9cf90502',1,'lost::CentroidParams::isValid()'],['../structlost_1_1_i_w_co_g_params.html#add92d3af1d8df7729ece6bacb53891f3',1,'lost::IWCoGParams::isValid()']]], + ['iterativeweightedcenterofgravityalgorithm_172',['IterativeWeightedCenterOfGravityAlgorithm',['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#acb0e63042d1bd77c6c2879315b3ee51c',1,'lost::IterativeWeightedCenterOfGravityAlgorithm::IterativeWeightedCenterOfGravityAlgorithm()'],['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html',1,'lost::IterativeWeightedCenterOfGravityAlgorithm']]], + ['iwcoghelper_173',['IWCoGHelper',['../namespacelost.html#a789d628bbeab011d5552a6dc551b77a2',1,'lost']]], + ['iwcogminchange_174',['iWCoGMinChange',['../namespacelost.html#aad95264f15efbc0e15b439142007354c',1,'lost']]], + ['iwcogparams_175',['IWCoGParams',['../structlost_1_1_i_w_co_g_params.html',1,'lost']]] ]; diff --git a/search/all_a.js b/search/all_a.js index 86b93bf5..f3f4888b 100644 --- a/search/all_a.js +++ b/search/all_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['j_140',['j',['../classlost_1_1_quaternion.html#a815259d4abdb84d5b3edbededb0764a8',1,'lost::Quaternion']]] + ['j_176',['j',['../classlost_1_1_quaternion.html#a8955013a6ea860afd03c4f7b6c1f7e90',1,'lost::Quaternion']]] ]; diff --git a/search/all_b.js b/search/all_b.js index 91becbae..ad40f77c 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -1,12 +1,12 @@ var searchData= [ - ['k_141',['k',['../classlost_1_1_quaternion.html#a94914610eb3c0ef3b32962505585130c',1,'lost::Quaternion']]], - ['kanglefrom90softthreshold_142',['kAngleFrom90SoftThreshold',['../namespacelost.html#a63a44b3abbcb5580d3ed71f1294f7bcd',1,'lost']]], - ['kcatalogmagicvalue_143',['kCatalogMagicValue',['../namespacelost.html#a280b11c878f729f878b2968037ccbc3d',1,'lost']]], - ['kidentitymat3_144',['kIdentityMat3',['../namespacelost.html#a66abb8e44054268322b5ccba535bb975',1,'lost']]], - ['kmagicvalue_145',['kMagicValue',['../classlost_1_1_pair_distance_k_vector_database.html#a6d5d477e5e2d9557f0e284e917361a54',1,'lost::PairDistanceKVectorDatabase']]], - ['kmaxbrightness_146',['kMaxBrightness',['../namespacelost.html#a9b3311f3ebda1282ad7bf650de30cf45',1,'lost']]], - ['knodefaultargument_147',['kNoDefaultArgument',['../namespacelost.html#adbeb358ec7311bc89886a09aa017388c',1,'lost']]], - ['kvectorindex_148',['KVectorIndex',['../classlost_1_1_k_vector_index.html#a6cd151dd8a9224581c9fdeaa40831379',1,'lost::KVectorIndex::KVectorIndex()'],['../classlost_1_1_k_vector_index.html',1,'lost::KVectorIndex']]], - ['kvectorpair_149',['KVectorPair',['../structlost_1_1_k_vector_pair.html',1,'lost']]] + ['k_177',['k',['../classlost_1_1_quaternion.html#a5b3471fa3003bd2cfa1ec40dfe75bcca',1,'lost::Quaternion']]], + ['kanglefrom90softthreshold_178',['kAngleFrom90SoftThreshold',['../namespacelost.html#a10f83f3109f16381af2ee6b56e586271',1,'lost']]], + ['kcatalogmagicvalue_179',['kCatalogMagicValue',['../namespacelost.html#a280b11c878f729f878b2968037ccbc3d',1,'lost']]], + ['kidentitymat3_180',['kIdentityMat3',['../namespacelost.html#a66abb8e44054268322b5ccba535bb975',1,'lost']]], + ['kmagicvalue_181',['kMagicValue',['../classlost_1_1_pair_distance_k_vector_database.html#a6d5d477e5e2d9557f0e284e917361a54',1,'lost::PairDistanceKVectorDatabase']]], + ['kmaxbrightness_182',['kMaxBrightness',['../namespacelost.html#a9b3311f3ebda1282ad7bf650de30cf45',1,'lost']]], + ['knodefaultargument_183',['kNoDefaultArgument',['../namespacelost.html#adbeb358ec7311bc89886a09aa017388c',1,'lost']]], + ['kvectorindex_184',['KVectorIndex',['../classlost_1_1_k_vector_index.html#a6cd151dd8a9224581c9fdeaa40831379',1,'lost::KVectorIndex::KVectorIndex()'],['../classlost_1_1_k_vector_index.html',1,'lost::KVectorIndex']]], + ['kvectorpair_185',['KVectorPair',['../structlost_1_1_k_vector_pair.html',1,'lost']]] ]; diff --git a/search/all_c.js b/search/all_c.js index 784d8485..8d2268d2 100644 --- a/search/all_c.js +++ b/search/all_c.js @@ -1,8 +1,8 @@ var searchData= [ - ['lost_150',['lost',['../namespacelost.html',1,'']]], - ['lost_20code_20documentation_151',['LOST Code Documentation',['../index.html',1,'']]], - ['lost_5fcli_5foption_152',['LOST_CLI_OPTION',['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp']]], - ['lost_5foptional_5foptarg_153',['LOST_OPTIONAL_OPTARG',['../main_8cpp.html#a089bd9a13d6fb6149353c65fdf20f83c',1,'main.cpp']]], - ['lost_5fpipeline_5fcompare_154',['LOST_PIPELINE_COMPARE',['../io_8cpp.html#aa20cea40f78380bdd173e9636fe1f442',1,'io.cpp']]] + ['lost_186',['lost',['../namespacelost.html',1,'']]], + ['lost_20code_20documentation_187',['LOST Code Documentation',['../index.html',1,'']]], + ['lost_5fcli_5foption_188',['LOST_CLI_OPTION',['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp']]], + ['lost_5foptional_5foptarg_189',['LOST_OPTIONAL_OPTARG',['../main_8cpp.html#a089bd9a13d6fb6149353c65fdf20f83c',1,'main.cpp']]], + ['lost_5fpipeline_5fcompare_190',['LOST_PIPELINE_COMPARE',['../io_8cpp.html#aa20cea40f78380bdd173e9636fe1f442',1,'io.cpp']]] ]; diff --git a/search/all_d.js b/search/all_d.js index a3a2d6f6..b3075186 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -1,22 +1,23 @@ var searchData= [ - ['magicvalue_155',['magicValue',['../classlost_1_1_multi_database_entry.html#aeede63708b59ea0086338286eef438c8',1,'lost::MultiDatabaseEntry']]], - ['magnitude_156',['Magnitude',['../structlost_1_1_vec2.html#a358e9b88c20e79e262eaa413b41a446e',1,'lost::Vec2::Magnitude()'],['../classlost_1_1_vec3.html#a0d3ab5c494dfd3538f1be078c3e3b19e',1,'lost::Vec3::Magnitude()']]], - ['magnitude_157',['magnitude',['../classlost_1_1_catalog_star.html#aac362b166dd1a5cfe95e33a7e2d18e3a',1,'lost::CatalogStar::magnitude()'],['../classlost_1_1_star.html#aa39328327649f570b9008f08951af7bf',1,'lost::Star::magnitude()']]], - ['magnitudesq_158',['MagnitudeSq',['../classlost_1_1_vec3.html#a6ea27eb416b9c3475439a29b0e2bf82d',1,'lost::Vec3::MagnitudeSq()'],['../structlost_1_1_vec2.html#aff160839bdf98a18db114a9bd7baab72',1,'lost::Vec2::MagnitudeSq()']]], - ['magsum_159',['magSum',['../structlost_1_1_centroid_params.html#aedcfd69a00c255c1e9166508ee5e58ff',1,'lost::CentroidParams']]], - ['magtobrightness_160',['MagToBrightness',['../namespacelost.html#a90ef8f69cd7b77ba05701f833fdaa320',1,'lost']]], - ['main_161',['main',['../main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main.cpp']]], - ['main_2ecpp_162',['main.cpp',['../main_8cpp.html',1,'']]], - ['mat3_163',['Mat3',['../classlost_1_1_mat3.html',1,'lost']]], - ['max_164',['Max',['../classlost_1_1_k_vector_index.html#ac4ec31ab1bc698759601c24fb2c5672e',1,'lost::KVectorIndex']]], - ['maxdistance_165',['MaxDistance',['../classlost_1_1_pair_distance_k_vector_database.html#a74b37c794ec625196a5bed9326501332',1,'lost::PairDistanceKVectorDatabase']]], - ['maxintensity_166',['maxIntensity',['../structlost_1_1_i_w_co_g_params.html#a0b8ea8754acc0d8d48f6ef9cb1cc326c',1,'lost::IWCoGParams']]], - ['meanerror_167',['meanError',['../classlost_1_1_centroid_comparison.html#ac1e005780ebb245a3baafde37654aafa',1,'lost::CentroidComparison']]], - ['min_168',['Min',['../classlost_1_1_k_vector_index.html#a0afd6bf562595807812c947d5a39fbfe',1,'lost::KVectorIndex']]], - ['mindistance_169',['MinDistance',['../classlost_1_1_pair_distance_k_vector_database.html#af7f18bf54bb9f86d7fc023f71b491178',1,'lost::PairDistanceKVectorDatabase']]], - ['moveforward_170',['MoveForward',['../classlost_1_1_deserialize_context.html#af6d1403910d8f856f408971103dc7d0b',1,'lost::DeserializeContext']]], - ['multidatabase_171',['MultiDatabase',['../classlost_1_1_multi_database.html',1,'lost::MultiDatabase'],['../classlost_1_1_multi_database.html#a51b6553e5466c57c9ff0ae9655e35639',1,'lost::MultiDatabase::MultiDatabase()']]], - ['multidatabasedescriptor_172',['MultiDatabaseDescriptor',['../namespacelost.html#aaa2e81369410c8a787ec643333d1a7a8',1,'lost']]], - ['multidatabaseentry_173',['MultiDatabaseEntry',['../classlost_1_1_multi_database_entry.html',1,'lost::MultiDatabaseEntry'],['../classlost_1_1_multi_database_entry.html#aaf297d5d21c88124667216df017679f4',1,'lost::MultiDatabaseEntry::MultiDatabaseEntry()']]] + ['magicvalue_191',['magicValue',['../classlost_1_1_multi_database_entry.html#aeede63708b59ea0086338286eef438c8',1,'lost::MultiDatabaseEntry']]], + ['magnitude_192',['magnitude',['../classlost_1_1_catalog_star.html#aac362b166dd1a5cfe95e33a7e2d18e3a',1,'lost::CatalogStar::magnitude()'],['../classlost_1_1_star.html#aa39328327649f570b9008f08951af7bf',1,'lost::Star::magnitude()']]], + ['magnitude_193',['Magnitude',['../structlost_1_1_vec2.html#a8c0ffde8f19b509026b6a0d47ad2f5f3',1,'lost::Vec2::Magnitude()'],['../classlost_1_1_vec3.html#ad42993980fb53047751b5bb3d26a9f32',1,'lost::Vec3::Magnitude() const']]], + ['magnitudesq_194',['MagnitudeSq',['../classlost_1_1_vec3.html#a4e5f7e17cafd3a1184962363f0ee123e',1,'lost::Vec3::MagnitudeSq()'],['../structlost_1_1_vec2.html#a3cb220d12e9a20f74f1afbad9d944e98',1,'lost::Vec2::MagnitudeSq()']]], + ['magsum_195',['magSum',['../structlost_1_1_centroid_params.html#aedcfd69a00c255c1e9166508ee5e58ff',1,'lost::CentroidParams']]], + ['magtobrightness_196',['MagToBrightness',['../namespacelost.html#a433010bbab5f3763241a7aa3f87fbfc7',1,'lost']]], + ['main_197',['main',['../main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main.cpp']]], + ['main_2ecpp_198',['main.cpp',['../main_8cpp.html',1,'']]], + ['mat3_199',['Mat3',['../classlost_1_1_mat3.html',1,'lost']]], + ['max_200',['Max',['../classlost_1_1_k_vector_index.html#a98f4a93e0009038d0bb529412ac895d5',1,'lost::KVectorIndex']]], + ['maxdistance_201',['MaxDistance',['../classlost_1_1_pair_distance_k_vector_database.html#aec5c08310e5f796a9025300f9d8754e3',1,'lost::PairDistanceKVectorDatabase']]], + ['maxintensity_202',['maxIntensity',['../structlost_1_1_i_w_co_g_params.html#a0b8ea8754acc0d8d48f6ef9cb1cc326c',1,'lost::IWCoGParams']]], + ['meanerror_203',['meanError',['../classlost_1_1_centroid_comparison.html#abf8602cb33542eb054672deafccfdde8',1,'lost::CentroidComparison']]], + ['min_204',['Min',['../classlost_1_1_k_vector_index.html#a45a9b59e42bd033e9a12fda60da06b92',1,'lost::KVectorIndex']]], + ['mindistance_205',['MinDistance',['../classlost_1_1_pair_distance_k_vector_database.html#a4db3849497b621317addfb332fd743cc',1,'lost::PairDistanceKVectorDatabase']]], + ['moveforward_206',['MoveForward',['../classlost_1_1_deserialize_context.html#af6d1403910d8f856f408971103dc7d0b',1,'lost::DeserializeContext']]], + ['multi_5fdb_5ffloat_5fflag_207',['MULTI_DB_FLOAT_FLAG',['../databases_8hpp.html#af8eb463b9b79255956d34ca51d58754f',1,'databases.hpp']]], + ['multidatabase_208',['MultiDatabase',['../classlost_1_1_multi_database.html',1,'lost::MultiDatabase'],['../classlost_1_1_multi_database.html#a51b6553e5466c57c9ff0ae9655e35639',1,'lost::MultiDatabase::MultiDatabase()']]], + ['multidatabasedescriptor_209',['MultiDatabaseDescriptor',['../namespacelost.html#aaa2e81369410c8a787ec643333d1a7a8',1,'lost']]], + ['multidatabaseentry_210',['MultiDatabaseEntry',['../classlost_1_1_multi_database_entry.html',1,'lost::MultiDatabaseEntry'],['../classlost_1_1_multi_database_entry.html#aaf297d5d21c88124667216df017679f4',1,'lost::MultiDatabaseEntry::MultiDatabaseEntry()']]] ]; diff --git a/search/all_e.js b/search/all_e.js index 49c4b68a..0c92a349 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -1,14 +1,14 @@ var searchData= [ - ['name_174',['name',['../classlost_1_1_catalog_star.html#a72d3cdf9c85caa2fc2819644862e26ee',1,'lost::CatalogStar']]], - ['narrowcatalog_175',['NarrowCatalog',['../namespacelost.html#af37c1bfa9d31aeb6fcd705fffd13497c',1,'lost']]], - ['normalize_176',['Normalize',['../structlost_1_1_vec2.html#a031e09c0d302a0484fd250f0ef162cbf',1,'lost::Vec2::Normalize()'],['../classlost_1_1_vec3.html#a13c75aca8d96b36a1c004f770d3bf55e',1,'lost::Vec3::Normalize()']]], - ['numbins_177',['NumBins',['../classlost_1_1_k_vector_index.html#a6f3ee957485b41a9bf8500232a8033fe',1,'lost::KVectorIndex']]], - ['numcorrect_178',['numCorrect',['../structlost_1_1_star_id_comparison.html#a188f3594728b5cf2ebf8a74c2e6ba01d',1,'lost::StarIdComparison']]], - ['numcorrectcentroids_179',['numCorrectCentroids',['../classlost_1_1_centroid_comparison.html#a69b42b7776ce7d288d15bf0ab1fceb55',1,'lost::CentroidComparison']]], - ['numextracentroids_180',['numExtraCentroids',['../classlost_1_1_centroid_comparison.html#a4105577ec96bf66b9a5003dcde18d557',1,'lost::CentroidComparison']]], - ['numincorrect_181',['numIncorrect',['../structlost_1_1_star_id_comparison.html#aba82ab6b00ac56a4536f9ac204639567',1,'lost::StarIdComparison']]], - ['numpairs_182',['NumPairs',['../classlost_1_1_pair_distance_k_vector_database.html#a0b1b8bf73fa17c88abaf479fa79be96b',1,'lost::PairDistanceKVectorDatabase']]], - ['numtotal_183',['numTotal',['../structlost_1_1_star_id_comparison.html#a8534ab9d04bf422ea323c1e65008dc10',1,'lost::StarIdComparison']]], - ['numvalues_184',['NumValues',['../classlost_1_1_k_vector_index.html#aeb86d1680f58d5a5709618d615ea7267',1,'lost::KVectorIndex']]] + ['name_211',['name',['../classlost_1_1_catalog_star.html#a72d3cdf9c85caa2fc2819644862e26ee',1,'lost::CatalogStar']]], + ['narrowcatalog_212',['NarrowCatalog',['../namespacelost.html#a97bab24607652ec26c12d9a3d3aa52b2',1,'lost']]], + ['normalize_213',['Normalize',['../structlost_1_1_vec2.html#a031e09c0d302a0484fd250f0ef162cbf',1,'lost::Vec2::Normalize()'],['../classlost_1_1_vec3.html#a13c75aca8d96b36a1c004f770d3bf55e',1,'lost::Vec3::Normalize()']]], + ['numbins_214',['NumBins',['../classlost_1_1_k_vector_index.html#a6f3ee957485b41a9bf8500232a8033fe',1,'lost::KVectorIndex']]], + ['numcorrect_215',['numCorrect',['../structlost_1_1_star_id_comparison.html#a188f3594728b5cf2ebf8a74c2e6ba01d',1,'lost::StarIdComparison']]], + ['numcorrectcentroids_216',['numCorrectCentroids',['../classlost_1_1_centroid_comparison.html#ab42870c8914b81b5ff27f8c8b6b5ec2b',1,'lost::CentroidComparison']]], + ['numextracentroids_217',['numExtraCentroids',['../classlost_1_1_centroid_comparison.html#a4083504bf6d2b92b060a614ecf203f1a',1,'lost::CentroidComparison']]], + ['numincorrect_218',['numIncorrect',['../structlost_1_1_star_id_comparison.html#aba82ab6b00ac56a4536f9ac204639567',1,'lost::StarIdComparison']]], + ['numpairs_219',['NumPairs',['../classlost_1_1_pair_distance_k_vector_database.html#a0b1b8bf73fa17c88abaf479fa79be96b',1,'lost::PairDistanceKVectorDatabase']]], + ['numtotal_220',['numTotal',['../structlost_1_1_star_id_comparison.html#a8534ab9d04bf422ea323c1e65008dc10',1,'lost::StarIdComparison']]], + ['numvalues_221',['NumValues',['../classlost_1_1_k_vector_index.html#aeb86d1680f58d5a5709618d615ea7267',1,'lost::KVectorIndex']]] ]; diff --git a/search/all_f.js b/search/all_f.js index 813cdd97..f3dde7f8 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -1,11 +1,11 @@ var searchData= [ - ['operator_2a_185',['operator*',['../structlost_1_1_vec2.html#a660fd87b54326ba7f95bb72b0e6bb230',1,'lost::Vec2::operator*()'],['../classlost_1_1_pair_distance_involving_iterator.html#a662dd99588f341c15303363746c5a544',1,'lost::PairDistanceInvolvingIterator::operator*()'],['../classlost_1_1_quaternion.html#a8ebde5fe7f4422ba54775aa7e5d12756',1,'lost::Quaternion::operator*()'],['../classlost_1_1_mat3.html#ad44fc5a52d4ff6868ae9f42f4d43e191',1,'lost::Mat3::operator*(const float &) const'],['../classlost_1_1_mat3.html#a8d1bdbb7028cc2d8c861b18ef64d9e27',1,'lost::Mat3::operator*(const Vec3 &) const'],['../classlost_1_1_mat3.html#aec14b4e92d3d81ff52988e507aeb566d',1,'lost::Mat3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a80dad024720f0d4289abeca0e5e21c97',1,'lost::Vec3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a8725a72070e4f730e3c0b0ba8aea0c9a',1,'lost::Vec3::operator*(const float &) const'],['../classlost_1_1_vec3.html#a03931f54c9c605a7f2fbc4ba39fe8d61',1,'lost::Vec3::operator*(const Vec3 &) const'],['../structlost_1_1_vec2.html#ae6b4c9c8a5ba0f0b11b094ce48eb9a9a',1,'lost::Vec2::operator*(const Vec2 &) const']]], - ['operator_2b_186',['operator+',['../structlost_1_1_vec2.html#a764696131be64a986d12dd4492d5d6d5',1,'lost::Vec2::operator+()'],['../classlost_1_1_mat3.html#add619b56d0870d447c35921beafabd7d',1,'lost::Mat3::operator+()']]], - ['operator_2b_2b_187',['operator++',['../classlost_1_1_pair_distance_involving_iterator.html#a779ab2980f5df0714e8b760309d4edfd',1,'lost::PairDistanceInvolvingIterator']]], - ['operator_2d_188',['operator-',['../structlost_1_1_vec2.html#a5e324a16898723879d58f2fd2160fe28',1,'lost::Vec2::operator-()'],['../classlost_1_1_vec3.html#af2225f16a49cf3755816e22511e1b9a1',1,'lost::Vec3::operator-()']]], - ['operator_3c_3c_189',['operator<<',['../namespacelost.html#afd0ad3291fda13bb1bf50fb13906769c',1,'lost']]], - ['operator_3d_3d_190',['operator==',['../classlost_1_1_star_identifier.html#a643cda988c3a7e9e1dd79ec77e7bb2b2',1,'lost::StarIdentifier']]], - ['otsusthreshold_191',['OtsusThreshold',['../namespacelost.html#a1c383b038ea9376eacf4858247d765be',1,'lost']]], - ['outerproduct_192',['OuterProduct',['../classlost_1_1_vec3.html#a571a631a6bd21ff61f9111c98f751e5f',1,'lost::Vec3']]] + ['operator_2a_222',['operator*',['../structlost_1_1_vec2.html#aa16d8d8335e0d1c0816885340242100f',1,'lost::Vec2::operator*()'],['../classlost_1_1_pair_distance_involving_iterator.html#a662dd99588f341c15303363746c5a544',1,'lost::PairDistanceInvolvingIterator::operator*()'],['../classlost_1_1_quaternion.html#a8ebde5fe7f4422ba54775aa7e5d12756',1,'lost::Quaternion::operator*()'],['../classlost_1_1_mat3.html#ac8db5f06c33d2e3cb463c5d95f479939',1,'lost::Mat3::operator*(const decimal &) const'],['../classlost_1_1_mat3.html#a8d1bdbb7028cc2d8c861b18ef64d9e27',1,'lost::Mat3::operator*(const Vec3 &) const'],['../classlost_1_1_mat3.html#aec14b4e92d3d81ff52988e507aeb566d',1,'lost::Mat3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a80dad024720f0d4289abeca0e5e21c97',1,'lost::Vec3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a429adb38ed953580c5d319c3405600b5',1,'lost::Vec3::operator*(const decimal &) const'],['../classlost_1_1_vec3.html#a5a66659f823e2cba96e764bfd8b77d3f',1,'lost::Vec3::operator*(const Vec3 &) const'],['../structlost_1_1_vec2.html#a736e460c2fa8d4a4cb013b376b6e2c8e',1,'lost::Vec2::operator*(const Vec2 &) const']]], + ['operator_2b_223',['operator+',['../structlost_1_1_vec2.html#a764696131be64a986d12dd4492d5d6d5',1,'lost::Vec2::operator+()'],['../classlost_1_1_mat3.html#add619b56d0870d447c35921beafabd7d',1,'lost::Mat3::operator+()']]], + ['operator_2b_2b_224',['operator++',['../classlost_1_1_pair_distance_involving_iterator.html#a779ab2980f5df0714e8b760309d4edfd',1,'lost::PairDistanceInvolvingIterator']]], + ['operator_2d_225',['operator-',['../structlost_1_1_vec2.html#a5e324a16898723879d58f2fd2160fe28',1,'lost::Vec2::operator-()'],['../classlost_1_1_vec3.html#af2225f16a49cf3755816e22511e1b9a1',1,'lost::Vec3::operator-()']]], + ['operator_3c_3c_226',['operator<<',['../namespacelost.html#afd0ad3291fda13bb1bf50fb13906769c',1,'lost']]], + ['operator_3d_3d_227',['operator==',['../classlost_1_1_star_identifier.html#a643cda988c3a7e9e1dd79ec77e7bb2b2',1,'lost::StarIdentifier']]], + ['otsusthreshold_228',['OtsusThreshold',['../namespacelost.html#a1c383b038ea9376eacf4858247d765be',1,'lost']]], + ['outerproduct_229',['OuterProduct',['../classlost_1_1_vec3.html#a571a631a6bd21ff61f9111c98f751e5f',1,'lost::Vec3']]] ]; diff --git a/search/classes_0.js b/search/classes_0.js index 6a15fd23..de65274f 100644 --- a/search/classes_0.js +++ b/search/classes_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['attitude_306',['Attitude',['../classlost_1_1_attitude.html',1,'lost']]], - ['attitudeestimationalgorithm_307',['AttitudeEstimationAlgorithm',['../classlost_1_1_attitude_estimation_algorithm.html',1,'lost']]] + ['attitude_343',['Attitude',['../classlost_1_1_attitude.html',1,'lost']]], + ['attitudeestimationalgorithm_344',['AttitudeEstimationAlgorithm',['../classlost_1_1_attitude_estimation_algorithm.html',1,'lost']]] ]; diff --git a/search/classes_1.js b/search/classes_1.js index 8f6a85b2..664bcb64 100644 --- a/search/classes_1.js +++ b/search/classes_1.js @@ -1,9 +1,9 @@ var searchData= [ - ['camera_308',['Camera',['../classlost_1_1_camera.html',1,'lost']]], - ['catalogstar_309',['CatalogStar',['../classlost_1_1_catalog_star.html',1,'lost']]], - ['centerofgravityalgorithm_310',['CenterOfGravityAlgorithm',['../classlost_1_1_center_of_gravity_algorithm.html',1,'lost']]], - ['centroidalgorithm_311',['CentroidAlgorithm',['../classlost_1_1_centroid_algorithm.html',1,'lost']]], - ['centroidcomparison_312',['CentroidComparison',['../classlost_1_1_centroid_comparison.html',1,'lost']]], - ['centroidparams_313',['CentroidParams',['../structlost_1_1_centroid_params.html',1,'lost']]] + ['camera_345',['Camera',['../classlost_1_1_camera.html',1,'lost']]], + ['catalogstar_346',['CatalogStar',['../classlost_1_1_catalog_star.html',1,'lost']]], + ['centerofgravityalgorithm_347',['CenterOfGravityAlgorithm',['../classlost_1_1_center_of_gravity_algorithm.html',1,'lost']]], + ['centroidalgorithm_348',['CentroidAlgorithm',['../classlost_1_1_centroid_algorithm.html',1,'lost']]], + ['centroidcomparison_349',['CentroidComparison',['../classlost_1_1_centroid_comparison.html',1,'lost']]], + ['centroidparams_350',['CentroidParams',['../structlost_1_1_centroid_params.html',1,'lost']]] ]; diff --git a/search/classes_2.js b/search/classes_2.js index edafef9c..2145d1ce 100644 --- a/search/classes_2.js +++ b/search/classes_2.js @@ -1,8 +1,8 @@ var searchData= [ - ['databaseoptions_314',['DatabaseOptions',['../classlost_1_1_database_options.html',1,'lost']]], - ['davenportqalgorithm_315',['DavenportQAlgorithm',['../classlost_1_1_davenport_q_algorithm.html',1,'lost']]], - ['deserializecontext_316',['DeserializeContext',['../classlost_1_1_deserialize_context.html',1,'lost']]], - ['dummycentroidalgorithm_317',['DummyCentroidAlgorithm',['../classlost_1_1_dummy_centroid_algorithm.html',1,'lost']]], - ['dummystaridalgorithm_318',['DummyStarIdAlgorithm',['../classlost_1_1_dummy_star_id_algorithm.html',1,'lost']]] + ['databaseoptions_351',['DatabaseOptions',['../classlost_1_1_database_options.html',1,'lost']]], + ['davenportqalgorithm_352',['DavenportQAlgorithm',['../classlost_1_1_davenport_q_algorithm.html',1,'lost']]], + ['deserializecontext_353',['DeserializeContext',['../classlost_1_1_deserialize_context.html',1,'lost']]], + ['dummycentroidalgorithm_354',['DummyCentroidAlgorithm',['../classlost_1_1_dummy_centroid_algorithm.html',1,'lost']]], + ['dummystaridalgorithm_355',['DummyStarIdAlgorithm',['../classlost_1_1_dummy_star_id_algorithm.html',1,'lost']]] ]; diff --git a/search/classes_3.js b/search/classes_3.js index 498b7ee4..7fe6ab47 100644 --- a/search/classes_3.js +++ b/search/classes_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['eulerangles_319',['EulerAngles',['../classlost_1_1_euler_angles.html',1,'lost']]] + ['eulerangles_356',['EulerAngles',['../classlost_1_1_euler_angles.html',1,'lost']]] ]; diff --git a/search/classes_4.js b/search/classes_4.js index 2e7ff238..b0b9a6f5 100644 --- a/search/classes_4.js +++ b/search/classes_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['generatedpipelineinput_320',['GeneratedPipelineInput',['../classlost_1_1_generated_pipeline_input.html',1,'lost']]], - ['generatedstar_321',['GeneratedStar',['../classlost_1_1_generated_star.html',1,'lost']]], - ['geometricvotingstaridalgorithm_322',['GeometricVotingStarIdAlgorithm',['../classlost_1_1_geometric_voting_star_id_algorithm.html',1,'lost']]] + ['generatedpipelineinput_357',['GeneratedPipelineInput',['../classlost_1_1_generated_pipeline_input.html',1,'lost']]], + ['generatedstar_358',['GeneratedStar',['../classlost_1_1_generated_star.html',1,'lost']]], + ['geometricvotingstaridalgorithm_359',['GeometricVotingStarIdAlgorithm',['../classlost_1_1_geometric_voting_star_id_algorithm.html',1,'lost']]] ]; diff --git a/search/classes_5.js b/search/classes_5.js index 8cbc02cb..7539d74c 100644 --- a/search/classes_5.js +++ b/search/classes_5.js @@ -1,7 +1,7 @@ var searchData= [ - ['image_323',['Image',['../classlost_1_1_image.html',1,'lost']]], - ['irunidentifiedcentroid_324',['IRUnidentifiedCentroid',['../classlost_1_1_i_r_unidentified_centroid.html',1,'lost']]], - ['iterativeweightedcenterofgravityalgorithm_325',['IterativeWeightedCenterOfGravityAlgorithm',['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html',1,'lost']]], - ['iwcogparams_326',['IWCoGParams',['../structlost_1_1_i_w_co_g_params.html',1,'lost']]] + ['image_360',['Image',['../classlost_1_1_image.html',1,'lost']]], + ['irunidentifiedcentroid_361',['IRUnidentifiedCentroid',['../classlost_1_1_i_r_unidentified_centroid.html',1,'lost']]], + ['iterativeweightedcenterofgravityalgorithm_362',['IterativeWeightedCenterOfGravityAlgorithm',['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html',1,'lost']]], + ['iwcogparams_363',['IWCoGParams',['../structlost_1_1_i_w_co_g_params.html',1,'lost']]] ]; diff --git a/search/classes_6.js b/search/classes_6.js index 69f0505d..f2e2767b 100644 --- a/search/classes_6.js +++ b/search/classes_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['kvectorindex_327',['KVectorIndex',['../classlost_1_1_k_vector_index.html',1,'lost']]], - ['kvectorpair_328',['KVectorPair',['../structlost_1_1_k_vector_pair.html',1,'lost']]] + ['kvectorindex_364',['KVectorIndex',['../classlost_1_1_k_vector_index.html',1,'lost']]], + ['kvectorpair_365',['KVectorPair',['../structlost_1_1_k_vector_pair.html',1,'lost']]] ]; diff --git a/search/classes_7.js b/search/classes_7.js index 3601caea..cf46b3de 100644 --- a/search/classes_7.js +++ b/search/classes_7.js @@ -1,6 +1,6 @@ var searchData= [ - ['mat3_329',['Mat3',['../classlost_1_1_mat3.html',1,'lost']]], - ['multidatabase_330',['MultiDatabase',['../classlost_1_1_multi_database.html',1,'lost']]], - ['multidatabaseentry_331',['MultiDatabaseEntry',['../classlost_1_1_multi_database_entry.html',1,'lost']]] + ['mat3_366',['Mat3',['../classlost_1_1_mat3.html',1,'lost']]], + ['multidatabase_367',['MultiDatabase',['../classlost_1_1_multi_database.html',1,'lost']]], + ['multidatabaseentry_368',['MultiDatabaseEntry',['../classlost_1_1_multi_database_entry.html',1,'lost']]] ]; diff --git a/search/classes_8.js b/search/classes_8.js index fe20e172..4bb4ef1c 100644 --- a/search/classes_8.js +++ b/search/classes_8.js @@ -1,11 +1,11 @@ var searchData= [ - ['pairdistanceinvolvingiterator_332',['PairDistanceInvolvingIterator',['../classlost_1_1_pair_distance_involving_iterator.html',1,'lost']]], - ['pairdistancekvectordatabase_333',['PairDistanceKVectorDatabase',['../classlost_1_1_pair_distance_k_vector_database.html',1,'lost']]], - ['pipeline_334',['Pipeline',['../classlost_1_1_pipeline.html',1,'lost']]], - ['pipelineinput_335',['PipelineInput',['../classlost_1_1_pipeline_input.html',1,'lost']]], - ['pipelineoptions_336',['PipelineOptions',['../classlost_1_1_pipeline_options.html',1,'lost']]], - ['pipelineoutput_337',['PipelineOutput',['../structlost_1_1_pipeline_output.html',1,'lost']]], - ['pngpipelineinput_338',['PngPipelineInput',['../classlost_1_1_png_pipeline_input.html',1,'lost']]], - ['pyramidstaridalgorithm_339',['PyramidStarIdAlgorithm',['../classlost_1_1_pyramid_star_id_algorithm.html',1,'lost']]] + ['pairdistanceinvolvingiterator_369',['PairDistanceInvolvingIterator',['../classlost_1_1_pair_distance_involving_iterator.html',1,'lost']]], + ['pairdistancekvectordatabase_370',['PairDistanceKVectorDatabase',['../classlost_1_1_pair_distance_k_vector_database.html',1,'lost']]], + ['pipeline_371',['Pipeline',['../classlost_1_1_pipeline.html',1,'lost']]], + ['pipelineinput_372',['PipelineInput',['../classlost_1_1_pipeline_input.html',1,'lost']]], + ['pipelineoptions_373',['PipelineOptions',['../classlost_1_1_pipeline_options.html',1,'lost']]], + ['pipelineoutput_374',['PipelineOutput',['../structlost_1_1_pipeline_output.html',1,'lost']]], + ['pngpipelineinput_375',['PngPipelineInput',['../classlost_1_1_png_pipeline_input.html',1,'lost']]], + ['pyramidstaridalgorithm_376',['PyramidStarIdAlgorithm',['../classlost_1_1_pyramid_star_id_algorithm.html',1,'lost']]] ]; diff --git a/search/classes_9.js b/search/classes_9.js index 33015c8f..94646775 100644 --- a/search/classes_9.js +++ b/search/classes_9.js @@ -1,5 +1,5 @@ var searchData= [ - ['quaternion_340',['Quaternion',['../classlost_1_1_quaternion.html',1,'lost']]], - ['questalgorithm_341',['QuestAlgorithm',['../classlost_1_1_quest_algorithm.html',1,'lost']]] + ['quaternion_377',['Quaternion',['../classlost_1_1_quaternion.html',1,'lost']]], + ['questalgorithm_378',['QuestAlgorithm',['../classlost_1_1_quest_algorithm.html',1,'lost']]] ]; diff --git a/search/classes_a.js b/search/classes_a.js index aa6f392b..fc81fe87 100644 --- a/search/classes_a.js +++ b/search/classes_a.js @@ -1,8 +1,8 @@ var searchData= [ - ['serializecontext_342',['SerializeContext',['../classlost_1_1_serialize_context.html',1,'lost']]], - ['star_343',['Star',['../classlost_1_1_star.html',1,'lost']]], - ['staridalgorithm_344',['StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html',1,'lost']]], - ['staridcomparison_345',['StarIdComparison',['../structlost_1_1_star_id_comparison.html',1,'lost']]], - ['staridentifier_346',['StarIdentifier',['../classlost_1_1_star_identifier.html',1,'lost']]] + ['serializecontext_379',['SerializeContext',['../classlost_1_1_serialize_context.html',1,'lost']]], + ['star_380',['Star',['../classlost_1_1_star.html',1,'lost']]], + ['staridalgorithm_381',['StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html',1,'lost']]], + ['staridcomparison_382',['StarIdComparison',['../structlost_1_1_star_id_comparison.html',1,'lost']]], + ['staridentifier_383',['StarIdentifier',['../classlost_1_1_star_identifier.html',1,'lost']]] ]; diff --git a/search/classes_b.js b/search/classes_b.js index 86816f8f..a4ee38df 100644 --- a/search/classes_b.js +++ b/search/classes_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['triadalgorithm_347',['TriadAlgorithm',['../classlost_1_1_triad_algorithm.html',1,'lost']]] + ['triadalgorithm_384',['TriadAlgorithm',['../classlost_1_1_triad_algorithm.html',1,'lost']]] ]; diff --git a/search/classes_c.js b/search/classes_c.js index c98e5376..e40dd7dd 100644 --- a/search/classes_c.js +++ b/search/classes_c.js @@ -1,4 +1,4 @@ var searchData= [ - ['userspecifiedoutputstream_348',['UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html',1,'lost']]] + ['userspecifiedoutputstream_385',['UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html',1,'lost']]] ]; diff --git a/search/classes_d.js b/search/classes_d.js index c015af91..825253a4 100644 --- a/search/classes_d.js +++ b/search/classes_d.js @@ -1,5 +1,5 @@ var searchData= [ - ['vec2_349',['Vec2',['../structlost_1_1_vec2.html',1,'lost']]], - ['vec3_350',['Vec3',['../classlost_1_1_vec3.html',1,'lost']]] + ['vec2_386',['Vec2',['../structlost_1_1_vec2.html',1,'lost']]], + ['vec3_387',['Vec3',['../classlost_1_1_vec3.html',1,'lost']]] ]; diff --git a/search/defines_0.js b/search/defines_0.js index f5f3305b..8c7b5bc3 100644 --- a/search/defines_0.js +++ b/search/defines_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['_5fcheck_5fdistance_629',['_CHECK_DISTANCE',['../star-id_8cpp.html#a969aaf4a776c8d744d94c1c6972b7a77',1,'star-id.cpp']]], - ['_5fmatmul_5fentry_630',['_MATMUL_ENTRY',['../attitude-utils_8cpp.html#a7e0565b1536836146ec7db66a2db60bd',1,'attitude-utils.cpp']]] + ['_5fcheck_5fdistance_669',['_CHECK_DISTANCE',['../star-id_8cpp.html#a969aaf4a776c8d744d94c1c6972b7a77',1,'star-id.cpp']]], + ['_5fmatmul_5fentry_670',['_MATMUL_ENTRY',['../attitude-utils_8cpp.html#a7e0565b1536836146ec7db66a2db60bd',1,'attitude-utils.cpp']]] ]; diff --git a/search/defines_1.js b/search/defines_1.js index 54eeb426..aca428d5 100644 --- a/search/defines_1.js +++ b/search/defines_1.js @@ -1,4 +1,36 @@ var searchData= [ - ['default_5fbsc_5fpath_631',['DEFAULT_BSC_PATH',['../io_8cpp.html#a1628471efc4a0d438d497c67d641c6c4',1,'io.cpp']]] + ['decimal_671',['DECIMAL',['../decimal_8hpp.html#a261bd8f8874ffe8d498f9c3cb9af7f5c',1,'decimal.hpp']]], + ['decimal_5fabs_672',['DECIMAL_ABS',['../decimal_8hpp.html#a9c74c7f21e27343c8a46da2ea345054d',1,'decimal.hpp']]], + ['decimal_5facos_673',['DECIMAL_ACOS',['../decimal_8hpp.html#aee57d54bc1c144bea46cd7e049f50aac',1,'decimal.hpp']]], + ['decimal_5fasin_674',['DECIMAL_ASIN',['../decimal_8hpp.html#a09f424203ece4d54fdf0803dae4ef650',1,'decimal.hpp']]], + ['decimal_5fatan_675',['DECIMAL_ATAN',['../decimal_8hpp.html#ab83c62825423d139a8fc951417f38f75',1,'decimal.hpp']]], + ['decimal_5fatan2_676',['DECIMAL_ATAN2',['../decimal_8hpp.html#ab47e1ed4f2b4c9e27bc3eac8692dc0f8',1,'decimal.hpp']]], + ['decimal_5fceil_677',['DECIMAL_CEIL',['../decimal_8hpp.html#a9f4f1ed42bca607dbe2a3326f9612ad6',1,'decimal.hpp']]], + ['decimal_5fcos_678',['DECIMAL_COS',['../decimal_8hpp.html#aec47c5335165b89764e2d598af713495',1,'decimal.hpp']]], + ['decimal_5ferf_679',['DECIMAL_ERF',['../decimal_8hpp.html#ad9ba1d630c8789578b5f7a31b1d22c51',1,'decimal.hpp']]], + ['decimal_5fexp_680',['DECIMAL_EXP',['../decimal_8hpp.html#aecfbc39709657fd5eecb522d45a9ab54',1,'decimal.hpp']]], + ['decimal_5ffloor_681',['DECIMAL_FLOOR',['../decimal_8hpp.html#af8bb135de5573bfe8c0d7d43cacacee9',1,'decimal.hpp']]], + ['decimal_5ffma_682',['DECIMAL_FMA',['../decimal_8hpp.html#a36c4a4a57b570617190116b1d05c7229',1,'decimal.hpp']]], + ['decimal_5fhypot_683',['DECIMAL_HYPOT',['../decimal_8hpp.html#a48c6d79be3f117fa2e9858e923a67d87',1,'decimal.hpp']]], + ['decimal_5flog_684',['DECIMAL_LOG',['../decimal_8hpp.html#a0f5f80288df1dfd2b557bfdb3790dbc6',1,'decimal.hpp']]], + ['decimal_5fm_5f1_5fpi_685',['DECIMAL_M_1_PI',['../decimal_8hpp.html#a89d8e637d15ccbfddbcfbbe06fd0dd70',1,'decimal.hpp']]], + ['decimal_5fm_5f2_5fpi_686',['DECIMAL_M_2_PI',['../decimal_8hpp.html#a15735ad0b5b14da97c2178edd6228edd',1,'decimal.hpp']]], + ['decimal_5fm_5f2_5fsqrtpi_687',['DECIMAL_M_2_SQRTPI',['../decimal_8hpp.html#a850856ae2421d80dec62fc6c36d26982',1,'decimal.hpp']]], + ['decimal_5fm_5fe_688',['DECIMAL_M_E',['../decimal_8hpp.html#adb7c3a168fb2dae974fd520cbc3aca4d',1,'decimal.hpp']]], + ['decimal_5fm_5fln10_689',['DECIMAL_M_LN10',['../decimal_8hpp.html#a057efc464c7458a952d79d44bb1a0eec',1,'decimal.hpp']]], + ['decimal_5fm_5fln2_690',['DECIMAL_M_LN2',['../decimal_8hpp.html#af45501daadddc6b37e8565c1b618803c',1,'decimal.hpp']]], + ['decimal_5fm_5flog10e_691',['DECIMAL_M_LOG10E',['../decimal_8hpp.html#ab0e9ec896c607297069fb48a163a5155',1,'decimal.hpp']]], + ['decimal_5fm_5flog2e_692',['DECIMAL_M_LOG2E',['../decimal_8hpp.html#a7759253b1830f717df4e9956191985f6',1,'decimal.hpp']]], + ['decimal_5fm_5fpi_693',['DECIMAL_M_PI',['../decimal_8hpp.html#a4239f65c1338d3621c3f5ce50d8ae928',1,'decimal.hpp']]], + ['decimal_5fm_5fpi_5f2_694',['DECIMAL_M_PI_2',['../decimal_8hpp.html#a9eebd6e84e82d7ebb1eb46b3fe0a2679',1,'decimal.hpp']]], + ['decimal_5fm_5fpi_5f4_695',['DECIMAL_M_PI_4',['../decimal_8hpp.html#a5365adec6c470e04e3c3677276bdc280',1,'decimal.hpp']]], + ['decimal_5fm_5fsqrt1_5f2_696',['DECIMAL_M_SQRT1_2',['../decimal_8hpp.html#a83f92097e3d861905cafe34266f2eb85',1,'decimal.hpp']]], + ['decimal_5fm_5fsqrt2_697',['DECIMAL_M_SQRT2',['../decimal_8hpp.html#a386a0c2d14d7ddeae07a7cc94f323dfb',1,'decimal.hpp']]], + ['decimal_5fpow_698',['DECIMAL_POW',['../decimal_8hpp.html#a3e2c08cf2cbb9071d37e64ec0444edad',1,'decimal.hpp']]], + ['decimal_5fround_699',['DECIMAL_ROUND',['../decimal_8hpp.html#a2562bda367ecef5f1c60df62450e23ad',1,'decimal.hpp']]], + ['decimal_5fsin_700',['DECIMAL_SIN',['../decimal_8hpp.html#a904c27af59c769840fd8e7fe742affd2',1,'decimal.hpp']]], + ['decimal_5fsqrt_701',['DECIMAL_SQRT',['../decimal_8hpp.html#aadce8b7d5c59d658cb596671b3330d02',1,'decimal.hpp']]], + ['decimal_5ftan_702',['DECIMAL_TAN',['../decimal_8hpp.html#a0722894990fe7d0ab7824f52dbbc9b1a',1,'decimal.hpp']]], + ['default_5fbsc_5fpath_703',['DEFAULT_BSC_PATH',['../io_8cpp.html#a1628471efc4a0d438d497c67d641c6c4',1,'io.cpp']]] ]; diff --git a/search/defines_2.js b/search/defines_2.js index 23ee53c7..14261dbd 100644 --- a/search/defines_2.js +++ b/search/defines_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['epsilon_632',['EPSILON',['../attitude-estimators_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'attitude-estimators.cpp']]] + ['epsilon_704',['EPSILON',['../attitude-estimators_8cpp.html#a002b2f4894492820fe708b1b7e7c5e70',1,'attitude-estimators.cpp']]] ]; diff --git a/search/defines_3.js b/search/defines_3.js index 64901211..4ba5bcf3 100644 --- a/search/defines_3.js +++ b/search/defines_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['lost_5fcli_5foption_633',['LOST_CLI_OPTION',['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp']]], - ['lost_5foptional_5foptarg_634',['LOST_OPTIONAL_OPTARG',['../main_8cpp.html#a089bd9a13d6fb6149353c65fdf20f83c',1,'main.cpp']]], - ['lost_5fpipeline_5fcompare_635',['LOST_PIPELINE_COMPARE',['../io_8cpp.html#aa20cea40f78380bdd173e9636fe1f442',1,'io.cpp']]] + ['lost_5fcli_5foption_705',['LOST_CLI_OPTION',['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../io_8hpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): io.hpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp'],['../main_8cpp.html#a68d9f1b201a18b8388ba6593ab8039f6',1,'LOST_CLI_OPTION(): main.cpp']]], + ['lost_5foptional_5foptarg_706',['LOST_OPTIONAL_OPTARG',['../main_8cpp.html#a089bd9a13d6fb6149353c65fdf20f83c',1,'main.cpp']]], + ['lost_5fpipeline_5fcompare_707',['LOST_PIPELINE_COMPARE',['../io_8cpp.html#aa20cea40f78380bdd173e9636fe1f442',1,'io.cpp']]] ]; diff --git a/search/defines_4.html b/search/defines_4.html new file mode 100644 index 00000000..f4afac12 --- /dev/null +++ b/search/defines_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            Loading...
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            Searching...
                                                                                                                                                                            +
                                                                                                                                                                            No Matches
                                                                                                                                                                            + +
                                                                                                                                                                            + + diff --git a/search/defines_4.js b/search/defines_4.js new file mode 100644 index 00000000..2a70ccc6 --- /dev/null +++ b/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['multi_5fdb_5ffloat_5fflag_708',['MULTI_DB_FLOAT_FLAG',['../databases_8hpp.html#af8eb463b9b79255956d34ca51d58754f',1,'databases.hpp']]] +]; diff --git a/search/defines_5.html b/search/defines_5.html new file mode 100644 index 00000000..8c40d123 --- /dev/null +++ b/search/defines_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            Loading...
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            Searching...
                                                                                                                                                                            +
                                                                                                                                                                            No Matches
                                                                                                                                                                            + +
                                                                                                                                                                            + + diff --git a/search/defines_5.js b/search/defines_5.js new file mode 100644 index 00000000..7c79cb2d --- /dev/null +++ b/search/defines_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['str_5fto_5fdecimal_709',['STR_TO_DECIMAL',['../decimal_8hpp.html#a7a155f9188b9b83cd40dafccc0b59b61',1,'decimal.hpp']]] +]; diff --git a/search/files_0.js b/search/files_0.js index 3eaa3ae3..9b087d56 100644 --- a/search/files_0.js +++ b/search/files_0.js @@ -1,7 +1,7 @@ var searchData= [ - ['attitude_2destimators_2ecpp_352',['attitude-estimators.cpp',['../attitude-estimators_8cpp.html',1,'']]], - ['attitude_2destimators_2ehpp_353',['attitude-estimators.hpp',['../attitude-estimators_8hpp.html',1,'']]], - ['attitude_2dutils_2ecpp_354',['attitude-utils.cpp',['../attitude-utils_8cpp.html',1,'']]], - ['attitude_2dutils_2ehpp_355',['attitude-utils.hpp',['../attitude-utils_8hpp.html',1,'']]] + ['attitude_2destimators_2ecpp_389',['attitude-estimators.cpp',['../attitude-estimators_8cpp.html',1,'']]], + ['attitude_2destimators_2ehpp_390',['attitude-estimators.hpp',['../attitude-estimators_8hpp.html',1,'']]], + ['attitude_2dutils_2ecpp_391',['attitude-utils.cpp',['../attitude-utils_8cpp.html',1,'']]], + ['attitude_2dutils_2ehpp_392',['attitude-utils.hpp',['../attitude-utils_8hpp.html',1,'']]] ]; diff --git a/search/files_1.js b/search/files_1.js index 82960ea9..47e8a4b8 100644 --- a/search/files_1.js +++ b/search/files_1.js @@ -1,7 +1,7 @@ var searchData= [ - ['camera_2ecpp_356',['camera.cpp',['../camera_8cpp.html',1,'']]], - ['camera_2ehpp_357',['camera.hpp',['../camera_8hpp.html',1,'']]], - ['centroiders_2ecpp_358',['centroiders.cpp',['../centroiders_8cpp.html',1,'']]], - ['centroiders_2ehpp_359',['centroiders.hpp',['../centroiders_8hpp.html',1,'']]] + ['camera_2ecpp_393',['camera.cpp',['../camera_8cpp.html',1,'']]], + ['camera_2ehpp_394',['camera.hpp',['../camera_8hpp.html',1,'']]], + ['centroiders_2ecpp_395',['centroiders.cpp',['../centroiders_8cpp.html',1,'']]], + ['centroiders_2ehpp_396',['centroiders.hpp',['../centroiders_8hpp.html',1,'']]] ]; diff --git a/search/files_2.js b/search/files_2.js index 6bc46040..e1874239 100644 --- a/search/files_2.js +++ b/search/files_2.js @@ -1,7 +1,8 @@ var searchData= [ - ['database_2doptions_2ehpp_360',['database-options.hpp',['../database-options_8hpp.html',1,'']]], - ['databases_2ecpp_361',['databases.cpp',['../databases_8cpp.html',1,'']]], - ['databases_2ehpp_362',['databases.hpp',['../databases_8hpp.html',1,'']]], - ['doxygen_5fsplash_2emd_363',['doxygen_splash.md',['../doxygen__splash_8md.html',1,'']]] + ['database_2doptions_2ehpp_397',['database-options.hpp',['../database-options_8hpp.html',1,'']]], + ['databases_2ecpp_398',['databases.cpp',['../databases_8cpp.html',1,'']]], + ['databases_2ehpp_399',['databases.hpp',['../databases_8hpp.html',1,'']]], + ['decimal_2ehpp_400',['decimal.hpp',['../decimal_8hpp.html',1,'']]], + ['doxygen_5fsplash_2emd_401',['doxygen_splash.md',['../doxygen__splash_8md.html',1,'']]] ]; diff --git a/search/files_3.js b/search/files_3.js index 1db9767d..dead7673 100644 --- a/search/files_3.js +++ b/search/files_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['io_2ecpp_364',['io.cpp',['../io_8cpp.html',1,'']]], - ['io_2ehpp_365',['io.hpp',['../io_8hpp.html',1,'']]] + ['io_2ecpp_402',['io.cpp',['../io_8cpp.html',1,'']]], + ['io_2ehpp_403',['io.hpp',['../io_8hpp.html',1,'']]] ]; diff --git a/search/files_4.js b/search/files_4.js index 165b5530..c1c1751d 100644 --- a/search/files_4.js +++ b/search/files_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['main_2ecpp_366',['main.cpp',['../main_8cpp.html',1,'']]] + ['main_2ecpp_404',['main.cpp',['../main_8cpp.html',1,'']]] ]; diff --git a/search/files_5.js b/search/files_5.js index 5c3838c7..6f8a8f9f 100644 --- a/search/files_5.js +++ b/search/files_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['pipeline_2doptions_2ehpp_367',['pipeline-options.hpp',['../pipeline-options_8hpp.html',1,'']]] + ['pipeline_2doptions_2ehpp_405',['pipeline-options.hpp',['../pipeline-options_8hpp.html',1,'']]] ]; diff --git a/search/files_6.js b/search/files_6.js index 4b529424..4a73ed7f 100644 --- a/search/files_6.js +++ b/search/files_6.js @@ -1,9 +1,9 @@ var searchData= [ - ['serialize_2dhelpers_2ehpp_368',['serialize-helpers.hpp',['../serialize-helpers_8hpp.html',1,'']]], - ['star_2did_2dprivate_2ehpp_369',['star-id-private.hpp',['../star-id-private_8hpp.html',1,'']]], - ['star_2did_2ecpp_370',['star-id.cpp',['../star-id_8cpp.html',1,'']]], - ['star_2did_2ehpp_371',['star-id.hpp',['../star-id_8hpp.html',1,'']]], - ['star_2dutils_2ecpp_372',['star-utils.cpp',['../star-utils_8cpp.html',1,'']]], - ['star_2dutils_2ehpp_373',['star-utils.hpp',['../star-utils_8hpp.html',1,'']]] + ['serialize_2dhelpers_2ehpp_406',['serialize-helpers.hpp',['../serialize-helpers_8hpp.html',1,'']]], + ['star_2did_2dprivate_2ehpp_407',['star-id-private.hpp',['../star-id-private_8hpp.html',1,'']]], + ['star_2did_2ecpp_408',['star-id.cpp',['../star-id_8cpp.html',1,'']]], + ['star_2did_2ehpp_409',['star-id.hpp',['../star-id_8hpp.html',1,'']]], + ['star_2dutils_2ecpp_410',['star-utils.cpp',['../star-utils_8cpp.html',1,'']]], + ['star_2dutils_2ehpp_411',['star-utils.hpp',['../star-utils_8hpp.html',1,'']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index 485a7dbd..4d01a076 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,11 +1,11 @@ var searchData= [ - ['addidentifiedstar_374',['AddIdentifiedStar',['../classlost_1_1_i_r_unidentified_centroid.html#ab81769c837da795774d3f57f96328e5e',1,'lost::IRUnidentifiedCentroid']]], - ['addtoallunidentifiedcentroids_375',['AddToAllUnidentifiedCentroids',['../namespacelost.html#a1e9642f2c2d486db201514b9ff579811',1,'lost']]], - ['angle_376',['Angle',['../classlost_1_1_quaternion.html#a819b0f409e60886138c0fae47c21e250',1,'lost::Quaternion::Angle()'],['../namespacelost.html#a6b951e30f05e0a748e6c906697002093',1,'lost::Angle(const Vec3 &vec1, const Vec3 &vec2)']]], - ['angleunit_377',['AngleUnit',['../namespacelost.html#a07ccf05a4c7ac13fbee5edb5beb309bb',1,'lost']]], - ['arcsectorad_378',['ArcSecToRad',['../namespacelost.html#a5bbe6ecaad42a3489cfd2b3482e7fc58',1,'lost']]], - ['at_379',['At',['../classlost_1_1_mat3.html#a672afcf04908553ca8fedd27b1004002',1,'lost::Mat3']]], - ['atobool_380',['atobool',['../namespacelost.html#ad716669cae846c56701cf10aff6f8e5f',1,'lost']]], - ['attitude_381',['Attitude',['../classlost_1_1_attitude.html#ad220252090ed6e0c43170de49fbe3a48',1,'lost::Attitude::Attitude()=default'],['../classlost_1_1_attitude.html#ad32d962805147e579fabf926a404362c',1,'lost::Attitude::Attitude(const Quaternion &)'],['../classlost_1_1_attitude.html#a1ae055942d6afce6212a0957e86171b4',1,'lost::Attitude::Attitude(const Mat3 &dcm)']]] + ['addidentifiedstar_412',['AddIdentifiedStar',['../classlost_1_1_i_r_unidentified_centroid.html#ab81769c837da795774d3f57f96328e5e',1,'lost::IRUnidentifiedCentroid']]], + ['addtoallunidentifiedcentroids_413',['AddToAllUnidentifiedCentroids',['../namespacelost.html#af9b934e077b49bfc0b7eca88188013fe',1,'lost']]], + ['angle_414',['Angle',['../classlost_1_1_quaternion.html#a4122fd09cf9e8d1ecf408873881da55e',1,'lost::Quaternion::Angle()'],['../namespacelost.html#a6bdf1016fe03a8c46f98bc4633f644d3',1,'lost::Angle(const Vec3 &vec1, const Vec3 &vec2)']]], + ['angleunit_415',['AngleUnit',['../namespacelost.html#a4d066d222770cdbde925ab67813193dc',1,'lost']]], + ['arcsectorad_416',['ArcSecToRad',['../namespacelost.html#a0bf2bbf8b3bc82f9647c9f327d1369de',1,'lost']]], + ['at_417',['At',['../classlost_1_1_mat3.html#ac76b6f96d5642a1eb952162f194a6e7e',1,'lost::Mat3']]], + ['atobool_418',['atobool',['../namespacelost.html#ad716669cae846c56701cf10aff6f8e5f',1,'lost']]], + ['attitude_419',['Attitude',['../classlost_1_1_attitude.html#ad220252090ed6e0c43170de49fbe3a48',1,'lost::Attitude::Attitude()=default'],['../classlost_1_1_attitude.html#ad32d962805147e579fabf926a404362c',1,'lost::Attitude::Attitude(const Quaternion &)'],['../classlost_1_1_attitude.html#a1ae055942d6afce6212a0957e86171b4',1,'lost::Attitude::Attitude(const Mat3 &dcm)']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 0a908408..db2f5b66 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,7 +1,7 @@ var searchData= [ - ['badthreshold_382',['BadThreshold',['../namespacelost.html#a27ae3010999abecce396cebbdee8ef0d',1,'lost']]], - ['basicthreshold_383',['BasicThreshold',['../namespacelost.html#ae369ca6366d9b3c350a14a403107641a',1,'lost']]], - ['basicthresholdonepass_384',['BasicThresholdOnePass',['../namespacelost.html#acd1a58a1120e97d8cf060e3e9b11576c',1,'lost']]], - ['bscparse_385',['BscParse',['../namespacelost.html#a2de388cdf7e0c6b9c572903605480568',1,'lost']]] + ['badthreshold_420',['BadThreshold',['../namespacelost.html#a27ae3010999abecce396cebbdee8ef0d',1,'lost']]], + ['basicthreshold_421',['BasicThreshold',['../namespacelost.html#ae369ca6366d9b3c350a14a403107641a',1,'lost']]], + ['basicthresholdonepass_422',['BasicThresholdOnePass',['../namespacelost.html#acd1a58a1120e97d8cf060e3e9b11576c',1,'lost']]], + ['bscparse_423',['BscParse',['../namespacelost.html#a2de388cdf7e0c6b9c572903605480568',1,'lost']]] ]; diff --git a/search/functions_10.js b/search/functions_10.js index 1b2714ce..5f66fa89 100644 --- a/search/functions_10.js +++ b/search/functions_10.js @@ -1,35 +1,34 @@ var searchData= [ - ['selectnextunidentifiedcentroid_504',['SelectNextUnidentifiedCentroid',['../namespacelost.html#af4b38998ddebb02241ed73fec6af8f4f',1,'lost']]], - ['serfromdbvalues_505',['serFromDbValues',['../namespacelost.html#aca0350641c0c62bbf6ff900634e92b8e',1,'lost']]], - ['serializecatalog_506',['SerializeCatalog',['../namespacelost.html#a2cc7e2e970e07d707f25c00fcd3071a3',1,'lost']]], - ['serializecatalogstar_507',['SerializeCatalogStar',['../namespacelost.html#a12fa960d591f9842a51451394cc86412',1,'lost']]], - ['serializecontext_508',['SerializeContext',['../classlost_1_1_serialize_context.html#a35da132ef4f4dee819d816b8c3b33536',1,'lost::SerializeContext::SerializeContext()'],['../classlost_1_1_serialize_context.html#a819c635a0a3ac43a4a8c9f351c47e4fd',1,'lost::SerializeContext::SerializeContext(bool swapIntegerEndianness, bool swapFloatEndianness)']]], - ['serializekvectorindex_509',['SerializeKVectorIndex',['../namespacelost.html#ac0c0c9865d2c16d74149bf85366cdc18',1,'lost']]], - ['serializemultidatabase_510',['SerializeMultiDatabase',['../namespacelost.html#a56c54ae520919bdd6d87f291e02883d3',1,'lost']]], - ['serializepadding_511',['SerializePadding',['../namespacelost.html#a164fee04c6e5fd2fc2e2ca9274b745fa',1,'lost']]], - ['serializepairdistancekvector_512',['SerializePairDistanceKVector',['../namespacelost.html#aefdad61aa2dbf38415d0345c1ff2916d',1,'lost']]], - ['serializeprimitive_513',['SerializePrimitive',['../namespacelost.html#a9af0427ae10a3db5529f2f8c74497347',1,'lost']]], - ['serializevec3_514',['SerializeVec3',['../namespacelost.html#aa2e68349539a9ef5024920ac4595e7e3',1,'lost']]], - ['setangle_515',['SetAngle',['../classlost_1_1_quaternion.html#a91c8378b5a2067015553533152bf3327',1,'lost::Quaternion']]], - ['setfocallength_516',['SetFocalLength',['../classlost_1_1_camera.html#a89a0fde9a6b5b65863ad4136c6b37dd4',1,'lost::Camera']]], - ['setpipeline_517',['SetPipeline',['../namespacelost.html#ad4bb00e632a9200a8e42f620e460dd60',1,'lost']]], - ['setvector_518',['SetVector',['../classlost_1_1_quaternion.html#a6d8e723c0c49869742c938a0dcb38d2f',1,'lost::Quaternion']]], - ['smallestangle_519',['SmallestAngle',['../classlost_1_1_quaternion.html#a5d3b137eb8c75c996c3f25a4fdc7bde2',1,'lost::Quaternion']]], - ['spatialtocamera_520',['SpatialToCamera',['../classlost_1_1_camera.html#a2282f819be792d84f3168032a9cf457b',1,'lost::Camera']]], - ['spatialtospherical_521',['SpatialToSpherical',['../namespacelost.html#a922de1d7dbef8e24f5ca6e7505a8e944',1,'lost']]], - ['sphericaltoquaternion_522',['SphericalToQuaternion',['../namespacelost.html#a7057fa740aebe1cbd43f3bafafff4ac1',1,'lost']]], - ['sphericaltospatial_523',['SphericalToSpatial',['../namespacelost.html#a62a70a38d20ca4be158d9f592862aeb4',1,'lost']]], - ['star_524',['Star',['../classlost_1_1_star.html#a63e85dbeb2f271e63b2d975cf83ae1b3',1,'lost::Star::Star()'],['../classlost_1_1_star.html#ac68887ed98b387fe4a4f437b847aa09a',1,'lost::Star::Star(float x, float y, float radiusX)'],['../classlost_1_1_star.html#a609af663e28795ba0ea2752fad193f8b',1,'lost::Star::Star(float x, float y, float radiusX, float radiusY, int magnitude)']]], - ['stardistances_525',['StarDistances',['../classlost_1_1_pair_distance_k_vector_database.html#a203c5b10c6490adaf102d016a160b3f9',1,'lost::PairDistanceKVectorDatabase']]], - ['staridentifier_526',['StarIdentifier',['../classlost_1_1_star_identifier.html#af59a1b9b343e7cb659073d36dca24567',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex)'],['../classlost_1_1_star_identifier.html#ad0ad99d3e7f46b46101983f2bfc05898',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex, int weight)']]], - ['staridscompare_527',['StarIdsCompare',['../namespacelost.html#ab6f75e99dbde3eede31e0b3a7c56878e',1,'lost']]], - ['stream_528',['Stream',['../classlost_1_1_user_specified_output_stream.html#a51c18ff9010b97319ef32fd8094f2239',1,'lost::UserSpecifiedOutputStream']]], - ['subdatabasepointer_529',['SubDatabasePointer',['../classlost_1_1_multi_database.html#ad013d7640b19cb78268c9be5f6c64544',1,'lost::MultiDatabase']]], - ['surfaceplot_530',['SurfacePlot',['../namespacelost.html#a8298f03c0d1b408401e4200d17305018',1,'lost']]], - ['surfacetograyscaleimage_531',['SurfaceToGrayscaleImage',['../namespacelost.html#a1c3caf3f02508df448ec6c761a2d764e',1,'lost']]], - ['swapendianness_532',['SwapEndianness',['../namespacelost.html#aaa3aa9350f84fa1b7725b5e3de8483ba',1,'lost']]], - ['swapendiannessifnecessary_533',['SwapEndiannessIfNecessary',['../namespacelost.html#a9704a9fb2cf67873155e69407a976074',1,'lost']]], - ['swapendiannessifnecessary_3c_20double_20_3e_534',['SwapEndiannessIfNecessary< double >',['../namespacelost.html#a716dcaf4d1704aa422252fcbc182e259',1,'lost']]], - ['swapendiannessifnecessary_3c_20float_20_3e_535',['SwapEndiannessIfNecessary< float >',['../namespacelost.html#a86727674f19d3158cb894b4518433477',1,'lost']]] + ['selectnextunidentifiedcentroid_543',['SelectNextUnidentifiedCentroid',['../namespacelost.html#af4b38998ddebb02241ed73fec6af8f4f',1,'lost']]], + ['serfromdbvalues_544',['serFromDbValues',['../namespacelost.html#aca0350641c0c62bbf6ff900634e92b8e',1,'lost']]], + ['serializecatalog_545',['SerializeCatalog',['../namespacelost.html#a2cc7e2e970e07d707f25c00fcd3071a3',1,'lost']]], + ['serializecatalogstar_546',['SerializeCatalogStar',['../namespacelost.html#a12fa960d591f9842a51451394cc86412',1,'lost']]], + ['serializecontext_547',['SerializeContext',['../classlost_1_1_serialize_context.html#a35da132ef4f4dee819d816b8c3b33536',1,'lost::SerializeContext::SerializeContext()'],['../classlost_1_1_serialize_context.html#aa64d705cf36948edd399ae0081723885',1,'lost::SerializeContext::SerializeContext(bool swapIntegerEndianness, bool swapDecimalEndianness)']]], + ['serializekvectorindex_548',['SerializeKVectorIndex',['../namespacelost.html#a0227319e45ff29d6f61b7e083d01e31f',1,'lost']]], + ['serializemultidatabase_549',['SerializeMultiDatabase',['../namespacelost.html#ad14088462298249d31b2c396c3be86f9',1,'lost']]], + ['serializepadding_550',['SerializePadding',['../namespacelost.html#a164fee04c6e5fd2fc2e2ca9274b745fa',1,'lost']]], + ['serializepairdistancekvector_551',['SerializePairDistanceKVector',['../namespacelost.html#a98d1507ab3e305ab47846133d82e4467',1,'lost']]], + ['serializeprimitive_552',['SerializePrimitive',['../namespacelost.html#a9af0427ae10a3db5529f2f8c74497347',1,'lost']]], + ['serializevec3_553',['SerializeVec3',['../namespacelost.html#aa2e68349539a9ef5024920ac4595e7e3',1,'lost']]], + ['setangle_554',['SetAngle',['../classlost_1_1_quaternion.html#ab302f2d15fb324c68efce001a5757726',1,'lost::Quaternion']]], + ['setfocallength_555',['SetFocalLength',['../classlost_1_1_camera.html#a30e7b1026d347f35ceb8306ba9815a3a',1,'lost::Camera']]], + ['setpipeline_556',['SetPipeline',['../namespacelost.html#ad4bb00e632a9200a8e42f620e460dd60',1,'lost']]], + ['setvector_557',['SetVector',['../classlost_1_1_quaternion.html#a6d8e723c0c49869742c938a0dcb38d2f',1,'lost::Quaternion']]], + ['smallestangle_558',['SmallestAngle',['../classlost_1_1_quaternion.html#aec6d6d268e364a2f8cca0346819e4230',1,'lost::Quaternion']]], + ['spatialtocamera_559',['SpatialToCamera',['../classlost_1_1_camera.html#a2282f819be792d84f3168032a9cf457b',1,'lost::Camera']]], + ['spatialtospherical_560',['SpatialToSpherical',['../namespacelost.html#a24e63568aa9052a67ee2a3bc1a7900b3',1,'lost']]], + ['sphericaltoquaternion_561',['SphericalToQuaternion',['../namespacelost.html#a562a86693dfa8ef7024526934fbfa8bb',1,'lost']]], + ['sphericaltospatial_562',['SphericalToSpatial',['../namespacelost.html#a5bcac28daa68fac6e7141aea7d789e10',1,'lost']]], + ['star_563',['Star',['../classlost_1_1_star.html#a63e85dbeb2f271e63b2d975cf83ae1b3',1,'lost::Star::Star()'],['../classlost_1_1_star.html#a91019f88f47806e59cabb67b014bb55a',1,'lost::Star::Star(decimal x, decimal y, decimal radiusX)'],['../classlost_1_1_star.html#a34c4cb3833310e0afe4715602210e595',1,'lost::Star::Star(decimal x, decimal y, decimal radiusX, decimal radiusY, int magnitude)']]], + ['stardistances_564',['StarDistances',['../classlost_1_1_pair_distance_k_vector_database.html#a2df6cf629cb564bc9ad47f724cbf10b0',1,'lost::PairDistanceKVectorDatabase']]], + ['staridentifier_565',['StarIdentifier',['../classlost_1_1_star_identifier.html#af59a1b9b343e7cb659073d36dca24567',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex)'],['../classlost_1_1_star_identifier.html#ad0ad99d3e7f46b46101983f2bfc05898',1,'lost::StarIdentifier::StarIdentifier(int starIndex, int catalogIndex, int weight)']]], + ['staridscompare_566',['StarIdsCompare',['../namespacelost.html#a863cf60540007697be2b6572e6a2e614',1,'lost']]], + ['stream_567',['Stream',['../classlost_1_1_user_specified_output_stream.html#a51c18ff9010b97319ef32fd8094f2239',1,'lost::UserSpecifiedOutputStream']]], + ['subdatabasepointer_568',['SubDatabasePointer',['../classlost_1_1_multi_database.html#ad013d7640b19cb78268c9be5f6c64544',1,'lost::MultiDatabase']]], + ['surfaceplot_569',['SurfacePlot',['../namespacelost.html#a8298f03c0d1b408401e4200d17305018',1,'lost']]], + ['surfacetograyscaleimage_570',['SurfaceToGrayscaleImage',['../namespacelost.html#a1c3caf3f02508df448ec6c761a2d764e',1,'lost']]], + ['swapendianness_571',['SwapEndianness',['../namespacelost.html#aaa3aa9350f84fa1b7725b5e3de8483ba',1,'lost']]], + ['swapendiannessifnecessary_572',['SwapEndiannessIfNecessary',['../namespacelost.html#a9704a9fb2cf67873155e69407a976074',1,'lost']]], + ['swapendiannessifnecessary_3c_20decimal_20_3e_573',['SwapEndiannessIfNecessary< decimal >',['../namespacelost.html#a3493422e7893b68e566182e4e2372a6e',1,'lost']]] ]; diff --git a/search/functions_11.js b/search/functions_11.js index 3b98d4cf..9dff66bb 100644 --- a/search/functions_11.js +++ b/search/functions_11.js @@ -1,6 +1,6 @@ var searchData= [ - ['tospherical_536',['ToSpherical',['../classlost_1_1_quaternion.html#a565b9cb827d1938fe0b88aaa19093686',1,'lost::Quaternion::ToSpherical()'],['../classlost_1_1_attitude.html#a1af3ee1daabfc256ec56554b260bdbee',1,'lost::Attitude::ToSpherical()']]], - ['trace_537',['Trace',['../classlost_1_1_mat3.html#a1264f9b036c9b3022651082ddc3efd84',1,'lost::Mat3']]], - ['transpose_538',['Transpose',['../classlost_1_1_mat3.html#ab850e8ba04b6d4822798379ba1c56dcf',1,'lost::Mat3']]] + ['tospherical_574',['ToSpherical',['../classlost_1_1_quaternion.html#a565b9cb827d1938fe0b88aaa19093686',1,'lost::Quaternion::ToSpherical()'],['../classlost_1_1_attitude.html#a1af3ee1daabfc256ec56554b260bdbee',1,'lost::Attitude::ToSpherical()']]], + ['trace_575',['Trace',['../classlost_1_1_mat3.html#aba95326b3dbabb03c53de174faf22383',1,'lost::Mat3']]], + ['transpose_576',['Transpose',['../classlost_1_1_mat3.html#ab850e8ba04b6d4822798379ba1c56dcf',1,'lost::Mat3']]] ]; diff --git a/search/functions_12.js b/search/functions_12.js index 05223980..c51072c2 100644 --- a/search/functions_12.js +++ b/search/functions_12.js @@ -1,4 +1,4 @@ var searchData= [ - ['userspecifiedoutputstream_539',['UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html#a4dcbbf27cfacdc73f038e06532a73301',1,'lost::UserSpecifiedOutputStream']]] + ['userspecifiedoutputstream_577',['UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html#a4dcbbf27cfacdc73f038e06532a73301',1,'lost::UserSpecifiedOutputStream']]] ]; diff --git a/search/functions_13.js b/search/functions_13.js index 83b58ee0..f0b8c31d 100644 --- a/search/functions_13.js +++ b/search/functions_13.js @@ -1,4 +1,4 @@ var searchData= [ - ['vector_540',['Vector',['../classlost_1_1_quaternion.html#a2eace9c3a35569109c949b7d8f1bc96e',1,'lost::Quaternion']]] + ['vector_578',['Vector',['../classlost_1_1_quaternion.html#a2eace9c3a35569109c949b7d8f1bc96e',1,'lost::Quaternion']]] ]; diff --git a/search/functions_14.js b/search/functions_14.js index a381dace..074c1a21 100644 --- a/search/functions_14.js +++ b/search/functions_14.js @@ -1,4 +1,4 @@ var searchData= [ - ['xresolution_541',['XResolution',['../classlost_1_1_camera.html#a6a6a4bd2d5daf114108e73126568369d',1,'lost::Camera']]] + ['xresolution_579',['XResolution',['../classlost_1_1_camera.html#a6a6a4bd2d5daf114108e73126568369d',1,'lost::Camera']]] ]; diff --git a/search/functions_15.js b/search/functions_15.js index 9bd29fc6..c2a3d6a1 100644 --- a/search/functions_15.js +++ b/search/functions_15.js @@ -1,4 +1,4 @@ var searchData= [ - ['yresolution_542',['YResolution',['../classlost_1_1_camera.html#a75f02f56900338580a9cacc2f9131d70',1,'lost::Camera']]] + ['yresolution_580',['YResolution',['../classlost_1_1_camera.html#a75f02f56900338580a9cacc2f9131d70',1,'lost::Camera']]] ]; diff --git a/search/functions_16.js b/search/functions_16.js index da9787b1..d816a4b0 100644 --- a/search/functions_16.js +++ b/search/functions_16.js @@ -1,9 +1,9 @@ var searchData= [ - ['_7eattitudeestimationalgorithm_543',['~AttitudeEstimationAlgorithm',['../classlost_1_1_attitude_estimation_algorithm.html#a6e7a086e474f98124cc4dd5fb01682e9',1,'lost::AttitudeEstimationAlgorithm']]], - ['_7ecentroidalgorithm_544',['~CentroidAlgorithm',['../classlost_1_1_centroid_algorithm.html#a2b8d8657624550f78354a3d29a856653',1,'lost::CentroidAlgorithm']]], - ['_7epipelineinput_545',['~PipelineInput',['../classlost_1_1_pipeline_input.html#ab766f2ef88e9d036c7bb7780d35306f3',1,'lost::PipelineInput']]], - ['_7epngpipelineinput_546',['~PngPipelineInput',['../classlost_1_1_png_pipeline_input.html#a01b8ddf0471b41c2a3d306f49156a0ab',1,'lost::PngPipelineInput']]], - ['_7estaridalgorithm_547',['~StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html#a1c440e5ca7c623e3dd1fc8958eac99de',1,'lost::StarIdAlgorithm']]], - ['_7euserspecifiedoutputstream_548',['~UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html#a2d2eae68275a53f1b83be250d09b6730',1,'lost::UserSpecifiedOutputStream']]] + ['_7eattitudeestimationalgorithm_581',['~AttitudeEstimationAlgorithm',['../classlost_1_1_attitude_estimation_algorithm.html#a6e7a086e474f98124cc4dd5fb01682e9',1,'lost::AttitudeEstimationAlgorithm']]], + ['_7ecentroidalgorithm_582',['~CentroidAlgorithm',['../classlost_1_1_centroid_algorithm.html#a2b8d8657624550f78354a3d29a856653',1,'lost::CentroidAlgorithm']]], + ['_7epipelineinput_583',['~PipelineInput',['../classlost_1_1_pipeline_input.html#ab766f2ef88e9d036c7bb7780d35306f3',1,'lost::PipelineInput']]], + ['_7epngpipelineinput_584',['~PngPipelineInput',['../classlost_1_1_png_pipeline_input.html#a01b8ddf0471b41c2a3d306f49156a0ab',1,'lost::PngPipelineInput']]], + ['_7estaridalgorithm_585',['~StarIdAlgorithm',['../classlost_1_1_star_id_algorithm.html#a1c440e5ca7c623e3dd1fc8958eac99de',1,'lost::StarIdAlgorithm']]], + ['_7euserspecifiedoutputstream_586',['~UserSpecifiedOutputStream',['../classlost_1_1_user_specified_output_stream.html#a2d2eae68275a53f1b83be250d09b6730',1,'lost::UserSpecifiedOutputStream']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index 9c31521a..f028578c 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,21 +1,21 @@ var searchData= [ - ['camera_386',['Camera',['../classlost_1_1_camera.html#a523f2ce74934b4fcb3063431fc6bef62',1,'lost::Camera::Camera(float focalLength, float xCenter, float yCenter, int xResolution, int yResolution)'],['../classlost_1_1_camera.html#a8a79c6616772f7e0c10b9ffd06d17adf',1,'lost::Camera::Camera(float focalLength, int xResolution, int yResolution)'],['../classlost_1_1_camera.html#a2fc15d984da36a7b015420dbe9fddca5',1,'lost::Camera::Camera(const Camera &)=default']]], - ['cameratospatial_387',['CameraToSpatial',['../classlost_1_1_camera.html#aeb37d99dfc08205f5938303dbb16ff9e',1,'lost::Camera']]], - ['canonicalize_388',['Canonicalize',['../classlost_1_1_quaternion.html#a0df3e917ca129d6a8d608d49ab9e5bbd',1,'lost::Quaternion']]], - ['catalogread_389',['CatalogRead',['../namespacelost.html#a41f5bb669129790c12bd70e1d641441f',1,'lost']]], - ['catalogstar_390',['CatalogStar',['../classlost_1_1_catalog_star.html#af2f1fc27b7b16f497e652a1fd1caa00e',1,'lost::CatalogStar::CatalogStar()=default'],['../classlost_1_1_catalog_star.html#a28fd3c23a616ecd193b93dc030b7cc68',1,'lost::CatalogStar::CatalogStar(float raj2000, float dej2000, int magnitude, int name)'],['../classlost_1_1_catalog_star.html#a8d74d0477614cda6ab24a4732b33227e',1,'lost::CatalogStar::CatalogStar(Vec3 spatial, int magnitude, int name)']]], - ['catalogstarmagnitudecompare_391',['CatalogStarMagnitudeCompare',['../namespacelost.html#a5c01d4154fbfefd3af1f3c081a372035',1,'lost']]], - ['catalogtopairdistances_392',['CatalogToPairDistances',['../namespacelost.html#a63bf3cd684687462bda2231e2aa1f14c',1,'lost']]], - ['centerofgravityalgorithm_393',['CenterOfGravityAlgorithm',['../classlost_1_1_center_of_gravity_algorithm.html#ad138e20f7ba0fe236847b1616219a49b',1,'lost::CenterOfGravityAlgorithm']]], - ['centroidcomparison_394',['CentroidComparison',['../classlost_1_1_centroid_comparison.html#ad46cc5ba0521e788511aac2bbdc2569d',1,'lost::CentroidComparison']]], - ['centroidcomparisonscombine_395',['CentroidComparisonsCombine',['../namespacelost.html#a0fe01051c958fa8ced02e772aefdc991',1,'lost']]], - ['centroidscompare_396',['CentroidsCompare',['../namespacelost.html#afd017fba4090829c28c431509c4cfc1c',1,'lost']]], - ['clamp_397',['Clamp',['../namespacelost.html#a4753c4aab04ad2deb202dd8be458e5d8',1,'lost']]], - ['coghelper_398',['CogHelper',['../namespacelost.html#ab27cb6dc471b1c682f9dc67f41097529',1,'lost']]], - ['column_399',['Column',['../classlost_1_1_mat3.html#a3975740eea4c1c33289feefb81453e6e',1,'lost::Mat3']]], - ['comparekvectorpairs_400',['CompareKVectorPairs',['../namespacelost.html#a68f14b0d645721125203e669cde68358',1,'lost']]], - ['conjugate_401',['Conjugate',['../classlost_1_1_quaternion.html#a6436279d8b3bc9a764c10877f810add9',1,'lost::Quaternion']]], - ['consumeinvolvingiterator_402',['ConsumeInvolvingIterator',['../namespacelost.html#a686a62724d40abe3ccef8aa0b2d77afe',1,'lost']]], - ['crossproduct_403',['CrossProduct',['../classlost_1_1_vec3.html#abe2b5a170b77a7b1e17008fa9dca20ba',1,'lost::Vec3']]] + ['camera_424',['Camera',['../classlost_1_1_camera.html#a509454953121bd47018c350d82b838ea',1,'lost::Camera::Camera(decimal focalLength, decimal xCenter, decimal yCenter, int xResolution, int yResolution)'],['../classlost_1_1_camera.html#af17d2e81670a302f46bb0ccdb1b346bd',1,'lost::Camera::Camera(decimal focalLength, int xResolution, int yResolution)'],['../classlost_1_1_camera.html#a2fc15d984da36a7b015420dbe9fddca5',1,'lost::Camera::Camera(const Camera &)=default']]], + ['cameratospatial_425',['CameraToSpatial',['../classlost_1_1_camera.html#aeb37d99dfc08205f5938303dbb16ff9e',1,'lost::Camera']]], + ['canonicalize_426',['Canonicalize',['../classlost_1_1_quaternion.html#a0df3e917ca129d6a8d608d49ab9e5bbd',1,'lost::Quaternion']]], + ['catalogread_427',['CatalogRead',['../namespacelost.html#a41f5bb669129790c12bd70e1d641441f',1,'lost']]], + ['catalogstar_428',['CatalogStar',['../classlost_1_1_catalog_star.html#af2f1fc27b7b16f497e652a1fd1caa00e',1,'lost::CatalogStar::CatalogStar()=default'],['../classlost_1_1_catalog_star.html#a01e0c6d1367a68757a13091c5287075f',1,'lost::CatalogStar::CatalogStar(decimal raj2000, decimal dej2000, int magnitude, int name)'],['../classlost_1_1_catalog_star.html#a8d74d0477614cda6ab24a4732b33227e',1,'lost::CatalogStar::CatalogStar(Vec3 spatial, int magnitude, int name)']]], + ['catalogstarmagnitudecompare_429',['CatalogStarMagnitudeCompare',['../namespacelost.html#a5c01d4154fbfefd3af1f3c081a372035',1,'lost']]], + ['catalogtopairdistances_430',['CatalogToPairDistances',['../namespacelost.html#a7df31f0f6e3ed20311231573630124dc',1,'lost']]], + ['centerofgravityalgorithm_431',['CenterOfGravityAlgorithm',['../classlost_1_1_center_of_gravity_algorithm.html#ad138e20f7ba0fe236847b1616219a49b',1,'lost::CenterOfGravityAlgorithm']]], + ['centroidcomparison_432',['CentroidComparison',['../classlost_1_1_centroid_comparison.html#ad46cc5ba0521e788511aac2bbdc2569d',1,'lost::CentroidComparison']]], + ['centroidcomparisonscombine_433',['CentroidComparisonsCombine',['../namespacelost.html#a0fe01051c958fa8ced02e772aefdc991',1,'lost']]], + ['centroidscompare_434',['CentroidsCompare',['../namespacelost.html#ae28fabb74b772e447140deee8de524f0',1,'lost']]], + ['clamp_435',['Clamp',['../namespacelost.html#ae06c1b87a560fb7d9de673b46ff60d9c',1,'lost']]], + ['coghelper_436',['CogHelper',['../namespacelost.html#ab27cb6dc471b1c682f9dc67f41097529',1,'lost']]], + ['column_437',['Column',['../classlost_1_1_mat3.html#a3975740eea4c1c33289feefb81453e6e',1,'lost::Mat3']]], + ['comparekvectorpairs_438',['CompareKVectorPairs',['../namespacelost.html#a68f14b0d645721125203e669cde68358',1,'lost']]], + ['conjugate_439',['Conjugate',['../classlost_1_1_quaternion.html#a6436279d8b3bc9a764c10877f810add9',1,'lost::Quaternion']]], + ['consumeinvolvingiterator_440',['ConsumeInvolvingIterator',['../namespacelost.html#a686a62724d40abe3ccef8aa0b2d77afe',1,'lost']]], + ['crossproduct_441',['CrossProduct',['../classlost_1_1_vec3.html#abe2b5a170b77a7b1e17008fa9dca20ba',1,'lost::Vec3']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index 12465e25..66ce4462 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,15 +1,16 @@ var searchData= [ - ['dcmtoquaternion_404',['DCMToQuaternion',['../namespacelost.html#a6bb9983e45dfa4b82b531ca96c397eed',1,'lost']]], - ['degtorad_405',['DegToRad',['../namespacelost.html#abf3a90819d379c9a4d0c48f385f52613',1,'lost']]], - ['deserializearray_406',['DeserializeArray',['../namespacelost.html#afeff6712fff1f0bfab088d35a25f52ab',1,'lost']]], - ['deserializecatalog_407',['DeserializeCatalog',['../namespacelost.html#a3d0e0e4b5dd7521775ee2d00143ab022',1,'lost']]], - ['deserializecatalogstar_408',['DeserializeCatalogStar',['../namespacelost.html#a7b5da8e7e7f7a91826c99bcc2be8f482',1,'lost']]], - ['deserializecontext_409',['DeserializeContext',['../classlost_1_1_deserialize_context.html#a0f626918d64ce584ea04407f544c79bc',1,'lost::DeserializeContext']]], - ['deserializepadding_410',['DeserializePadding',['../namespacelost.html#ac6dcbacca390790e2623b918f25a0ed2',1,'lost']]], - ['deserializeprimitive_411',['DeserializePrimitive',['../namespacelost.html#a808e750fa7f99bc945155638df303fb7',1,'lost']]], - ['deserializevec3_412',['DeserializeVec3',['../namespacelost.html#ab5201d0881b201c54c1a7b7c293523ba',1,'lost']]], - ['det_413',['Det',['../classlost_1_1_mat3.html#add91dc6b5fbc16af21c0467bbdb13ae2',1,'lost::Mat3']]], - ['distance_414',['Distance',['../namespacelost.html#a1a50ad86abfc9430d15d2f855311a1f0',1,'lost::Distance(const Vec2 &, const Vec2 &)'],['../namespacelost.html#a10f0dede807e0a46e2a09defd4270f51',1,'lost::Distance(const Vec3 &, const Vec3 &)']]], - ['dummycentroidalgorithm_415',['DummyCentroidAlgorithm',['../classlost_1_1_dummy_centroid_algorithm.html#a44a9170f01dd8fd411cd13156711787d',1,'lost::DummyCentroidAlgorithm']]] + ['dcmtoquaternion_442',['DCMToQuaternion',['../namespacelost.html#a6bb9983e45dfa4b82b531ca96c397eed',1,'lost']]], + ['decimalmodulo_443',['DecimalModulo',['../namespacelost.html#a8a1cf9ee7fb4af17e417110197dd813e',1,'lost']]], + ['degtorad_444',['DegToRad',['../namespacelost.html#a543c802e0faa7d19b8bfb148573309fe',1,'lost']]], + ['deserializearray_445',['DeserializeArray',['../namespacelost.html#afeff6712fff1f0bfab088d35a25f52ab',1,'lost']]], + ['deserializecatalog_446',['DeserializeCatalog',['../namespacelost.html#a3d0e0e4b5dd7521775ee2d00143ab022',1,'lost']]], + ['deserializecatalogstar_447',['DeserializeCatalogStar',['../namespacelost.html#a7b5da8e7e7f7a91826c99bcc2be8f482',1,'lost']]], + ['deserializecontext_448',['DeserializeContext',['../classlost_1_1_deserialize_context.html#a0f626918d64ce584ea04407f544c79bc',1,'lost::DeserializeContext']]], + ['deserializepadding_449',['DeserializePadding',['../namespacelost.html#ac6dcbacca390790e2623b918f25a0ed2',1,'lost']]], + ['deserializeprimitive_450',['DeserializePrimitive',['../namespacelost.html#a808e750fa7f99bc945155638df303fb7',1,'lost']]], + ['deserializevec3_451',['DeserializeVec3',['../namespacelost.html#ab5201d0881b201c54c1a7b7c293523ba',1,'lost']]], + ['det_452',['Det',['../classlost_1_1_mat3.html#a5a3c5d3bb1e90373f8ac1d2c16fca504',1,'lost::Mat3']]], + ['distance_453',['Distance',['../namespacelost.html#a36351539266df1a549d5e98ee01fc339',1,'lost::Distance(const Vec2 &, const Vec2 &)'],['../namespacelost.html#ae254d39e7932059a7b1e3024272d48a2',1,'lost::Distance(const Vec3 &, const Vec3 &)']]], + ['dummycentroidalgorithm_454',['DummyCentroidAlgorithm',['../classlost_1_1_dummy_centroid_algorithm.html#a44a9170f01dd8fd411cd13156711787d',1,'lost::DummyCentroidAlgorithm']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index 0c25c707..206634f9 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,7 +1,7 @@ var searchData= [ - ['eulerangles_416',['EulerAngles',['../classlost_1_1_euler_angles.html#a139701e558ffce8c4710ec55e5b37b75',1,'lost::EulerAngles']]], - ['expectedattitude_417',['ExpectedAttitude',['../classlost_1_1_pipeline_input.html#ade22c9a790a978c96383c6497e9567ec',1,'lost::PipelineInput']]], - ['expectedstarids_418',['ExpectedStarIds',['../classlost_1_1_pipeline_input.html#a9cdd08fecc4186dd3b9263c1a7de2047',1,'lost::PipelineInput::ExpectedStarIds()'],['../classlost_1_1_generated_pipeline_input.html#a9b4e6a0cea348568381061b6ebd1f926',1,'lost::GeneratedPipelineInput::ExpectedStarIds()']]], - ['expectedstars_419',['ExpectedStars',['../classlost_1_1_pipeline_input.html#a3d0edc6bfda801512627d6bb1bc39c4a',1,'lost::PipelineInput::ExpectedStars()'],['../classlost_1_1_generated_pipeline_input.html#a5bb4d8d26f136ff61250e6ab70437f15',1,'lost::GeneratedPipelineInput::ExpectedStars()']]] + ['eulerangles_455',['EulerAngles',['../classlost_1_1_euler_angles.html#a306c3cde2b3a84f2b546cbcef318ebdf',1,'lost::EulerAngles']]], + ['expectedattitude_456',['ExpectedAttitude',['../classlost_1_1_pipeline_input.html#ade22c9a790a978c96383c6497e9567ec',1,'lost::PipelineInput']]], + ['expectedstarids_457',['ExpectedStarIds',['../classlost_1_1_pipeline_input.html#a9cdd08fecc4186dd3b9263c1a7de2047',1,'lost::PipelineInput::ExpectedStarIds()'],['../classlost_1_1_generated_pipeline_input.html#a9b4e6a0cea348568381061b6ebd1f926',1,'lost::GeneratedPipelineInput::ExpectedStarIds()']]], + ['expectedstars_458',['ExpectedStars',['../classlost_1_1_pipeline_input.html#a3d0edc6bfda801512627d6bb1bc39c4a',1,'lost::PipelineInput::ExpectedStars()'],['../classlost_1_1_generated_pipeline_input.html#a5bb4d8d26f136ff61250e6ab70437f15',1,'lost::GeneratedPipelineInput::ExpectedStars()']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index 9683a24a..97ddedaa 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,13 +1,12 @@ var searchData= [ - ['findnamedstar_420',['FindNamedStar',['../namespacelost.html#ac722314f3b14385ade7e5f05699ef006',1,'lost']]], - ['findpairsexact_421',['FindPairsExact',['../classlost_1_1_pair_distance_k_vector_database.html#a892b10b967cbbad63625f807b8a73fa2',1,'lost::PairDistanceKVectorDatabase']]], - ['findpairsliberal_422',['FindPairsLiberal',['../classlost_1_1_pair_distance_k_vector_database.html#a8d2180c0b5a9900a967dfadac71e17b6',1,'lost::PairDistanceKVectorDatabase']]], - ['findunidentifiedcentroidsinrange_423',['FindUnidentifiedCentroidsInRange',['../namespacelost.html#a0f709f580bfbe3bd0196b50226f22683',1,'lost']]], - ['floatmodulo_424',['FloatModulo',['../namespacelost.html#a01c855b3690f601ec92a40471aa05ebd',1,'lost']]], - ['focallength_425',['FocalLength',['../classlost_1_1_camera.html#aa7df6f5d7ee2f6c26ecc34bd1e7f2e53',1,'lost::Camera']]], - ['focallengthfromoptions_426',['FocalLengthFromOptions',['../namespacelost.html#a9eaa81a9fc5f13a447e4209b5b230308',1,'lost']]], - ['focallengthtofov_427',['FocalLengthToFov',['../namespacelost.html#ae05e275818c57f3b736b70236d0e6703',1,'lost']]], - ['fov_428',['Fov',['../classlost_1_1_camera.html#a3830d04bcd953e27cc133944fb434f64',1,'lost::Camera']]], - ['fovtofocallength_429',['FovToFocalLength',['../namespacelost.html#a5e7d67bec758d4922935c84b8a0f8526',1,'lost']]] + ['findnamedstar_459',['FindNamedStar',['../namespacelost.html#ac722314f3b14385ade7e5f05699ef006',1,'lost']]], + ['findpairsexact_460',['FindPairsExact',['../classlost_1_1_pair_distance_k_vector_database.html#ad76a05c909ea68d6084f942f3623b8ed',1,'lost::PairDistanceKVectorDatabase']]], + ['findpairsliberal_461',['FindPairsLiberal',['../classlost_1_1_pair_distance_k_vector_database.html#ae88622306fc1b554a5c86476b0e815af',1,'lost::PairDistanceKVectorDatabase']]], + ['findunidentifiedcentroidsinrange_462',['FindUnidentifiedCentroidsInRange',['../namespacelost.html#a6ddca8ba6411ef602cc723abbbabbbdd',1,'lost']]], + ['focallength_463',['FocalLength',['../classlost_1_1_camera.html#af484e8b4890c20ca02d05f907ba958b8',1,'lost::Camera']]], + ['focallengthfromoptions_464',['FocalLengthFromOptions',['../namespacelost.html#a2788319f0c0f74fbd29f5249501482be',1,'lost']]], + ['focallengthtofov_465',['FocalLengthToFov',['../namespacelost.html#a96ba4670682e2bfdbe3fd350b0162e38',1,'lost']]], + ['fov_466',['Fov',['../classlost_1_1_camera.html#a8452608ad72efc8e93378f33eb981c0a',1,'lost::Camera']]], + ['fovtofocallength_467',['FovToFocalLength',['../namespacelost.html#a000f9bcbfc18aa202849ef43a455cb20',1,'lost']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index 7d881cb9..cd8254d5 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,17 +1,17 @@ var searchData= [ - ['generatedatabases_430',['GenerateDatabases',['../namespacelost.html#ac0ac19dd0e9f2f1ce471617d9c837949',1,'lost']]], - ['generatedpipelineinput_431',['GeneratedPipelineInput',['../classlost_1_1_generated_pipeline_input.html#a1b473186f7c725b5e59dcfe95be1f686',1,'lost::GeneratedPipelineInput']]], - ['generatedstar_432',['GeneratedStar',['../classlost_1_1_generated_star.html#ad8406a16bdfb31b731d923d67a5afe71',1,'lost::GeneratedStar']]], - ['geometricvotingstaridalgorithm_433',['GeometricVotingStarIdAlgorithm',['../classlost_1_1_geometric_voting_star_id_algorithm.html#a34789f103fe935cdd41a9f053ba0b349',1,'lost::GeometricVotingStarIdAlgorithm']]], - ['getcatalog_434',['GetCatalog',['../classlost_1_1_pipeline_input.html#a31278ee2b910cf3e8af25f71aefcf295',1,'lost::PipelineInput::GetCatalog()'],['../classlost_1_1_generated_pipeline_input.html#a6aa7ffe5170d43fe925fdf668a54cc9f',1,'lost::GeneratedPipelineInput::GetCatalog()'],['../classlost_1_1_png_pipeline_input.html#acf5c26f8f9ac954ec16bb46938e76672',1,'lost::PngPipelineInput::GetCatalog()']]], - ['getcursor_435',['GetCursor',['../classlost_1_1_deserialize_context.html#ace579278804e203fa3464460704cd8a5',1,'lost::DeserializeContext']]], - ['getdcm_436',['GetDCM',['../classlost_1_1_attitude.html#aa5d6bb136591695fb81279ee2d4b8394',1,'lost::Attitude']]], - ['getgeneratedpipelineinput_437',['GetGeneratedPipelineInput',['../namespacelost.html#aec3a2012bf028c749ba53a46a50ad172',1,'lost']]], - ['getoffset_438',['GetOffset',['../classlost_1_1_deserialize_context.html#a02edcd036deb10b5928ae6b94a57ae38',1,'lost::DeserializeContext']]], - ['getpipelineinput_439',['GetPipelineInput',['../namespacelost.html#ad01d904e4a6bf5aed4a1b8f97f1416c5',1,'lost']]], - ['getpngpipelineinput_440',['GetPngPipelineInput',['../namespacelost.html#a72e465adc8dcb532e46b956261bf93fe',1,'lost']]], - ['getquaternion_441',['GetQuaternion',['../classlost_1_1_attitude.html#adc1b3ee1876cf2212603eaa902dce055',1,'lost::Attitude']]], - ['go_442',['Go',['../classlost_1_1_centroid_algorithm.html#a4e7151f912b7d4df1ff05151cdd0856c',1,'lost::CentroidAlgorithm::Go()'],['../classlost_1_1_pyramid_star_id_algorithm.html#ac4d954f0b508e6b1818f416cbed5c67a',1,'lost::PyramidStarIdAlgorithm::Go()'],['../classlost_1_1_geometric_voting_star_id_algorithm.html#adea674f2fdf9d0715655eddbb749ecf0',1,'lost::GeometricVotingStarIdAlgorithm::Go()'],['../classlost_1_1_dummy_star_id_algorithm.html#a015bd32c8cfbd5a8709f1714aa023946',1,'lost::DummyStarIdAlgorithm::Go()'],['../classlost_1_1_star_id_algorithm.html#a303db15af0aecc9c4053a81429f8667c',1,'lost::StarIdAlgorithm::Go()'],['../classlost_1_1_pipeline.html#a880d560ff40f68a2bbdc2cacc943e09d',1,'lost::Pipeline::Go(const PipelineInputList &)'],['../classlost_1_1_pipeline.html#aea0fe125836ac0c6906886ad320f5210',1,'lost::Pipeline::Go(const PipelineInput &)'],['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#a79ba0874a9ad042d8c1df1fb4a56cbe6',1,'lost::IterativeWeightedCenterOfGravityAlgorithm::Go()'],['../classlost_1_1_center_of_gravity_algorithm.html#a47d588a30c71d8b61f1d7791f2d08ea3',1,'lost::CenterOfGravityAlgorithm::Go()'],['../classlost_1_1_dummy_centroid_algorithm.html#a13fdcd6246c81129765ab0fa803e3c0e',1,'lost::DummyCentroidAlgorithm::Go()'],['../classlost_1_1_quest_algorithm.html#acd9f32ebd3a0873346f752e04e477b23',1,'lost::QuestAlgorithm::Go()'],['../classlost_1_1_triad_algorithm.html#a7c47290a94c74458995f5307e2486fc9',1,'lost::TriadAlgorithm::Go()'],['../classlost_1_1_davenport_q_algorithm.html#abdceeef38f84143dd87eb19f8318fadf',1,'lost::DavenportQAlgorithm::Go()'],['../classlost_1_1_attitude_estimation_algorithm.html#a4ec6765403adace17271b469851dadf7',1,'lost::AttitudeEstimationAlgorithm::Go()']]], - ['grayscaleimagetosurface_443',['GrayscaleImageToSurface',['../namespacelost.html#af0b05482238f0a180d5906f0e43ac3e2',1,'lost']]] + ['generatedatabases_468',['GenerateDatabases',['../namespacelost.html#ac0ac19dd0e9f2f1ce471617d9c837949',1,'lost']]], + ['generatedpipelineinput_469',['GeneratedPipelineInput',['../classlost_1_1_generated_pipeline_input.html#a7e48b3e9c25cfd4fb36cd600f05f5098',1,'lost::GeneratedPipelineInput']]], + ['generatedstar_470',['GeneratedStar',['../classlost_1_1_generated_star.html#a53c8237a1eef1b7b80c211a82905d339',1,'lost::GeneratedStar']]], + ['geometricvotingstaridalgorithm_471',['GeometricVotingStarIdAlgorithm',['../classlost_1_1_geometric_voting_star_id_algorithm.html#aa846baf66d54b2dfc9212722d9be7518',1,'lost::GeometricVotingStarIdAlgorithm']]], + ['getcatalog_472',['GetCatalog',['../classlost_1_1_pipeline_input.html#a31278ee2b910cf3e8af25f71aefcf295',1,'lost::PipelineInput::GetCatalog()'],['../classlost_1_1_generated_pipeline_input.html#a6aa7ffe5170d43fe925fdf668a54cc9f',1,'lost::GeneratedPipelineInput::GetCatalog()'],['../classlost_1_1_png_pipeline_input.html#acf5c26f8f9ac954ec16bb46938e76672',1,'lost::PngPipelineInput::GetCatalog()']]], + ['getcursor_473',['GetCursor',['../classlost_1_1_deserialize_context.html#ace579278804e203fa3464460704cd8a5',1,'lost::DeserializeContext']]], + ['getdcm_474',['GetDCM',['../classlost_1_1_attitude.html#aa5d6bb136591695fb81279ee2d4b8394',1,'lost::Attitude']]], + ['getgeneratedpipelineinput_475',['GetGeneratedPipelineInput',['../namespacelost.html#aec3a2012bf028c749ba53a46a50ad172',1,'lost']]], + ['getoffset_476',['GetOffset',['../classlost_1_1_deserialize_context.html#a02edcd036deb10b5928ae6b94a57ae38',1,'lost::DeserializeContext']]], + ['getpipelineinput_477',['GetPipelineInput',['../namespacelost.html#ad01d904e4a6bf5aed4a1b8f97f1416c5',1,'lost']]], + ['getpngpipelineinput_478',['GetPngPipelineInput',['../namespacelost.html#a72e465adc8dcb532e46b956261bf93fe',1,'lost']]], + ['getquaternion_479',['GetQuaternion',['../classlost_1_1_attitude.html#adc1b3ee1876cf2212603eaa902dce055',1,'lost::Attitude']]], + ['go_480',['Go',['../classlost_1_1_centroid_algorithm.html#a4e7151f912b7d4df1ff05151cdd0856c',1,'lost::CentroidAlgorithm::Go()'],['../classlost_1_1_pyramid_star_id_algorithm.html#ac4d954f0b508e6b1818f416cbed5c67a',1,'lost::PyramidStarIdAlgorithm::Go()'],['../classlost_1_1_geometric_voting_star_id_algorithm.html#adea674f2fdf9d0715655eddbb749ecf0',1,'lost::GeometricVotingStarIdAlgorithm::Go()'],['../classlost_1_1_dummy_star_id_algorithm.html#a015bd32c8cfbd5a8709f1714aa023946',1,'lost::DummyStarIdAlgorithm::Go()'],['../classlost_1_1_star_id_algorithm.html#a303db15af0aecc9c4053a81429f8667c',1,'lost::StarIdAlgorithm::Go()'],['../classlost_1_1_pipeline.html#a880d560ff40f68a2bbdc2cacc943e09d',1,'lost::Pipeline::Go(const PipelineInputList &)'],['../classlost_1_1_pipeline.html#aea0fe125836ac0c6906886ad320f5210',1,'lost::Pipeline::Go(const PipelineInput &)'],['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#a79ba0874a9ad042d8c1df1fb4a56cbe6',1,'lost::IterativeWeightedCenterOfGravityAlgorithm::Go()'],['../classlost_1_1_center_of_gravity_algorithm.html#a47d588a30c71d8b61f1d7791f2d08ea3',1,'lost::CenterOfGravityAlgorithm::Go()'],['../classlost_1_1_dummy_centroid_algorithm.html#a13fdcd6246c81129765ab0fa803e3c0e',1,'lost::DummyCentroidAlgorithm::Go()'],['../classlost_1_1_quest_algorithm.html#acd9f32ebd3a0873346f752e04e477b23',1,'lost::QuestAlgorithm::Go()'],['../classlost_1_1_triad_algorithm.html#a7c47290a94c74458995f5307e2486fc9',1,'lost::TriadAlgorithm::Go()'],['../classlost_1_1_davenport_q_algorithm.html#abdceeef38f84143dd87eb19f8318fadf',1,'lost::DavenportQAlgorithm::Go()'],['../classlost_1_1_attitude_estimation_algorithm.html#a4ec6765403adace17271b469851dadf7',1,'lost::AttitudeEstimationAlgorithm::Go()']]], + ['grayscaleimagetosurface_481',['GrayscaleImageToSurface',['../namespacelost.html#af0b05482238f0a180d5906f0e43ac3e2',1,'lost']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index c381d3ee..cbfb28d3 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['hasvalue_444',['HasValue',['../classlost_1_1_pair_distance_involving_iterator.html#a955185950868d30fe8526d84ad4f7062',1,'lost::PairDistanceInvolvingIterator']]] + ['hasvalue_482',['HasValue',['../classlost_1_1_pair_distance_involving_iterator.html#a955185950868d30fe8526d84ad4f7062',1,'lost::PairDistanceInvolvingIterator']]] ]; diff --git a/search/functions_8.js b/search/functions_8.js index 5ecc1182..e21a4c66 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -1,19 +1,20 @@ var searchData= [ - ['identifyremainingstarspairdistance_445',['IdentifyRemainingStarsPairDistance',['../namespacelost.html#adb9048b631cf1af6c33af2b0dca53c41',1,'lost']]], - ['identifythirdstar_446',['IdentifyThirdStar',['../namespacelost.html#a6271e89ec246219f15d27942b98c8877',1,'lost']]], - ['inputattitude_447',['InputAttitude',['../classlost_1_1_generated_pipeline_input.html#a480955be5ecd314fd59d3c1f6595539a',1,'lost::GeneratedPipelineInput::InputAttitude()'],['../classlost_1_1_pipeline_input.html#a19bb4239a2e3b6622aa168959be70d98',1,'lost::PipelineInput::InputAttitude() const']]], - ['inputcamera_448',['InputCamera',['../classlost_1_1_pipeline_input.html#af88962a236353e511724a699dab7a785',1,'lost::PipelineInput::InputCamera()'],['../classlost_1_1_generated_pipeline_input.html#a7feccf083489e6ae34e943eb23ee237f',1,'lost::GeneratedPipelineInput::InputCamera()'],['../classlost_1_1_png_pipeline_input.html#a6d8945388e5607205ec0b37a398558b1',1,'lost::PngPipelineInput::InputCamera()']]], - ['inputimage_449',['InputImage',['../classlost_1_1_pipeline_input.html#a4df52c585005abf1154699cb89570db8',1,'lost::PipelineInput::InputImage()'],['../classlost_1_1_generated_pipeline_input.html#a0cbfa2300553ec4942d124e456d0ed4a',1,'lost::GeneratedPipelineInput::InputImage()'],['../classlost_1_1_png_pipeline_input.html#ac52da46b0047856721736cf776c19eff',1,'lost::PngPipelineInput::InputImage()']]], - ['inputimagesurface_450',['InputImageSurface',['../classlost_1_1_pipeline_input.html#a8707ebe081ca65531341eeb2b9d4ff7b',1,'lost::PipelineInput']]], - ['inputstarids_451',['InputStarIds',['../classlost_1_1_pipeline_input.html#a3942b6fcacd994b5d9f841a770d895bc',1,'lost::PipelineInput::InputStarIds()'],['../classlost_1_1_generated_pipeline_input.html#a07c1d15af1fee070bf7b143211f7297f',1,'lost::GeneratedPipelineInput::InputStarIds() const override']]], - ['inputstars_452',['InputStars',['../classlost_1_1_generated_pipeline_input.html#a46251e73597d285c1988fffd243185e0',1,'lost::GeneratedPipelineInput::InputStars()'],['../classlost_1_1_pipeline_input.html#aa6c9969bb4118ddf877a1000636f6486',1,'lost::PipelineInput::InputStars()']]], - ['insensor_453',['InSensor',['../classlost_1_1_camera.html#a4d940919d1247edd431de7643473f538',1,'lost::Camera']]], - ['inspectcatalog_454',['InspectCatalog',['../namespacelost.html#ada936d93de2f3661518d1215d73ade78',1,'lost']]], - ['inverse_455',['Inverse',['../classlost_1_1_mat3.html#a155df2c02f28acae5a3b59757eca0945',1,'lost::Mat3']]], - ['irunidentifiedcentroid_456',['IRUnidentifiedCentroid',['../classlost_1_1_i_r_unidentified_centroid.html#a88fc36b5c47e3f02662b9b3da4e236e0',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid(const Star &star, int16_t index)'],['../classlost_1_1_i_r_unidentified_centroid.html#a15948657fda95018c8c700369da3e95d',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid()']]], - ['isknown_457',['IsKnown',['../classlost_1_1_attitude.html#afb6f3d23d6884b94a43028f97cac92d5',1,'lost::Attitude']]], - ['isunit_458',['IsUnit',['../classlost_1_1_quaternion.html#ac11be6116bc0db43cb7b84ec01e73e33',1,'lost::Quaternion']]], - ['iterativeweightedcenterofgravityalgorithm_459',['IterativeWeightedCenterOfGravityAlgorithm',['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#acb0e63042d1bd77c6c2879315b3ee51c',1,'lost::IterativeWeightedCenterOfGravityAlgorithm']]], - ['iwcoghelper_460',['IWCoGHelper',['../namespacelost.html#a789d628bbeab011d5552a6dc551b77a2',1,'lost']]] + ['identifyremainingstarspairdistance_483',['IdentifyRemainingStarsPairDistance',['../namespacelost.html#a788b77a0d64ad007d1f71778cfc91a4e',1,'lost']]], + ['identifythirdstar_484',['IdentifyThirdStar',['../namespacelost.html#a95cb98b7b4a9224b281e8ebf8f83acd4',1,'lost']]], + ['inputattitude_485',['InputAttitude',['../classlost_1_1_generated_pipeline_input.html#a480955be5ecd314fd59d3c1f6595539a',1,'lost::GeneratedPipelineInput::InputAttitude()'],['../classlost_1_1_pipeline_input.html#a19bb4239a2e3b6622aa168959be70d98',1,'lost::PipelineInput::InputAttitude() const']]], + ['inputcamera_486',['InputCamera',['../classlost_1_1_pipeline_input.html#af88962a236353e511724a699dab7a785',1,'lost::PipelineInput::InputCamera()'],['../classlost_1_1_generated_pipeline_input.html#a7feccf083489e6ae34e943eb23ee237f',1,'lost::GeneratedPipelineInput::InputCamera()'],['../classlost_1_1_png_pipeline_input.html#a6d8945388e5607205ec0b37a398558b1',1,'lost::PngPipelineInput::InputCamera()']]], + ['inputimage_487',['InputImage',['../classlost_1_1_pipeline_input.html#a4df52c585005abf1154699cb89570db8',1,'lost::PipelineInput::InputImage()'],['../classlost_1_1_generated_pipeline_input.html#a0cbfa2300553ec4942d124e456d0ed4a',1,'lost::GeneratedPipelineInput::InputImage()'],['../classlost_1_1_png_pipeline_input.html#ac52da46b0047856721736cf776c19eff',1,'lost::PngPipelineInput::InputImage()']]], + ['inputimagesurface_488',['InputImageSurface',['../classlost_1_1_pipeline_input.html#a8707ebe081ca65531341eeb2b9d4ff7b',1,'lost::PipelineInput']]], + ['inputstarids_489',['InputStarIds',['../classlost_1_1_pipeline_input.html#a3942b6fcacd994b5d9f841a770d895bc',1,'lost::PipelineInput::InputStarIds()'],['../classlost_1_1_generated_pipeline_input.html#a07c1d15af1fee070bf7b143211f7297f',1,'lost::GeneratedPipelineInput::InputStarIds() const override']]], + ['inputstars_490',['InputStars',['../classlost_1_1_generated_pipeline_input.html#a46251e73597d285c1988fffd243185e0',1,'lost::GeneratedPipelineInput::InputStars()'],['../classlost_1_1_pipeline_input.html#aa6c9969bb4118ddf877a1000636f6486',1,'lost::PipelineInput::InputStars()']]], + ['insensor_491',['InSensor',['../classlost_1_1_camera.html#a4d940919d1247edd431de7643473f538',1,'lost::Camera']]], + ['inspectcatalog_492',['InspectCatalog',['../namespacelost.html#ada936d93de2f3661518d1215d73ade78',1,'lost']]], + ['inverse_493',['Inverse',['../classlost_1_1_mat3.html#a155df2c02f28acae5a3b59757eca0945',1,'lost::Mat3']]], + ['irunidentifiedcentroid_494',['IRUnidentifiedCentroid',['../classlost_1_1_i_r_unidentified_centroid.html#a88fc36b5c47e3f02662b9b3da4e236e0',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid(const Star &star, int16_t index)'],['../classlost_1_1_i_r_unidentified_centroid.html#a15948657fda95018c8c700369da3e95d',1,'lost::IRUnidentifiedCentroid::IRUnidentifiedCentroid()']]], + ['isflagset_495',['isFlagSet',['../namespacelost.html#a9a6ccd2f576c452a68db8152dc2edb24',1,'lost']]], + ['isknown_496',['IsKnown',['../classlost_1_1_attitude.html#afb6f3d23d6884b94a43028f97cac92d5',1,'lost::Attitude']]], + ['isunit_497',['IsUnit',['../classlost_1_1_quaternion.html#ac591d4b58b2890bd7f4bb0a331418001',1,'lost::Quaternion']]], + ['iterativeweightedcenterofgravityalgorithm_498',['IterativeWeightedCenterOfGravityAlgorithm',['../classlost_1_1_iterative_weighted_center_of_gravity_algorithm.html#acb0e63042d1bd77c6c2879315b3ee51c',1,'lost::IterativeWeightedCenterOfGravityAlgorithm']]], + ['iwcoghelper_499',['IWCoGHelper',['../namespacelost.html#a789d628bbeab011d5552a6dc551b77a2',1,'lost']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index b1d2eae6..496c120e 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['kvectorindex_461',['KVectorIndex',['../classlost_1_1_k_vector_index.html#a6cd151dd8a9224581c9fdeaa40831379',1,'lost::KVectorIndex']]] + ['kvectorindex_500',['KVectorIndex',['../classlost_1_1_k_vector_index.html#a6cd151dd8a9224581c9fdeaa40831379',1,'lost::KVectorIndex']]] ]; diff --git a/search/functions_a.js b/search/functions_a.js index 26925fc6..cf1d233a 100644 --- a/search/functions_a.js +++ b/search/functions_a.js @@ -1,14 +1,14 @@ var searchData= [ - ['magnitude_462',['Magnitude',['../structlost_1_1_vec2.html#a358e9b88c20e79e262eaa413b41a446e',1,'lost::Vec2::Magnitude()'],['../classlost_1_1_vec3.html#a0d3ab5c494dfd3538f1be078c3e3b19e',1,'lost::Vec3::Magnitude()']]], - ['magnitudesq_463',['MagnitudeSq',['../structlost_1_1_vec2.html#aff160839bdf98a18db114a9bd7baab72',1,'lost::Vec2::MagnitudeSq()'],['../classlost_1_1_vec3.html#a6ea27eb416b9c3475439a29b0e2bf82d',1,'lost::Vec3::MagnitudeSq()']]], - ['magtobrightness_464',['MagToBrightness',['../namespacelost.html#a90ef8f69cd7b77ba05701f833fdaa320',1,'lost']]], - ['main_465',['main',['../main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main.cpp']]], - ['max_466',['Max',['../classlost_1_1_k_vector_index.html#ac4ec31ab1bc698759601c24fb2c5672e',1,'lost::KVectorIndex']]], - ['maxdistance_467',['MaxDistance',['../classlost_1_1_pair_distance_k_vector_database.html#a74b37c794ec625196a5bed9326501332',1,'lost::PairDistanceKVectorDatabase']]], - ['min_468',['Min',['../classlost_1_1_k_vector_index.html#a0afd6bf562595807812c947d5a39fbfe',1,'lost::KVectorIndex']]], - ['mindistance_469',['MinDistance',['../classlost_1_1_pair_distance_k_vector_database.html#af7f18bf54bb9f86d7fc023f71b491178',1,'lost::PairDistanceKVectorDatabase']]], - ['moveforward_470',['MoveForward',['../classlost_1_1_deserialize_context.html#af6d1403910d8f856f408971103dc7d0b',1,'lost::DeserializeContext']]], - ['multidatabase_471',['MultiDatabase',['../classlost_1_1_multi_database.html#a51b6553e5466c57c9ff0ae9655e35639',1,'lost::MultiDatabase']]], - ['multidatabaseentry_472',['MultiDatabaseEntry',['../classlost_1_1_multi_database_entry.html#aaf297d5d21c88124667216df017679f4',1,'lost::MultiDatabaseEntry']]] + ['magnitude_501',['Magnitude',['../structlost_1_1_vec2.html#a8c0ffde8f19b509026b6a0d47ad2f5f3',1,'lost::Vec2::Magnitude()'],['../classlost_1_1_vec3.html#ad42993980fb53047751b5bb3d26a9f32',1,'lost::Vec3::Magnitude()']]], + ['magnitudesq_502',['MagnitudeSq',['../structlost_1_1_vec2.html#a3cb220d12e9a20f74f1afbad9d944e98',1,'lost::Vec2::MagnitudeSq()'],['../classlost_1_1_vec3.html#a4e5f7e17cafd3a1184962363f0ee123e',1,'lost::Vec3::MagnitudeSq()']]], + ['magtobrightness_503',['MagToBrightness',['../namespacelost.html#a433010bbab5f3763241a7aa3f87fbfc7',1,'lost']]], + ['main_504',['main',['../main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main.cpp']]], + ['max_505',['Max',['../classlost_1_1_k_vector_index.html#a98f4a93e0009038d0bb529412ac895d5',1,'lost::KVectorIndex']]], + ['maxdistance_506',['MaxDistance',['../classlost_1_1_pair_distance_k_vector_database.html#aec5c08310e5f796a9025300f9d8754e3',1,'lost::PairDistanceKVectorDatabase']]], + ['min_507',['Min',['../classlost_1_1_k_vector_index.html#a45a9b59e42bd033e9a12fda60da06b92',1,'lost::KVectorIndex']]], + ['mindistance_508',['MinDistance',['../classlost_1_1_pair_distance_k_vector_database.html#a4db3849497b621317addfb332fd743cc',1,'lost::PairDistanceKVectorDatabase']]], + ['moveforward_509',['MoveForward',['../classlost_1_1_deserialize_context.html#af6d1403910d8f856f408971103dc7d0b',1,'lost::DeserializeContext']]], + ['multidatabase_510',['MultiDatabase',['../classlost_1_1_multi_database.html#a51b6553e5466c57c9ff0ae9655e35639',1,'lost::MultiDatabase']]], + ['multidatabaseentry_511',['MultiDatabaseEntry',['../classlost_1_1_multi_database_entry.html#aaf297d5d21c88124667216df017679f4',1,'lost::MultiDatabaseEntry']]] ]; diff --git a/search/functions_b.js b/search/functions_b.js index ae5ee38c..41f29ce6 100644 --- a/search/functions_b.js +++ b/search/functions_b.js @@ -1,8 +1,8 @@ var searchData= [ - ['narrowcatalog_473',['NarrowCatalog',['../namespacelost.html#af37c1bfa9d31aeb6fcd705fffd13497c',1,'lost']]], - ['normalize_474',['Normalize',['../structlost_1_1_vec2.html#a031e09c0d302a0484fd250f0ef162cbf',1,'lost::Vec2::Normalize()'],['../classlost_1_1_vec3.html#a13c75aca8d96b36a1c004f770d3bf55e',1,'lost::Vec3::Normalize()']]], - ['numbins_475',['NumBins',['../classlost_1_1_k_vector_index.html#a6f3ee957485b41a9bf8500232a8033fe',1,'lost::KVectorIndex']]], - ['numpairs_476',['NumPairs',['../classlost_1_1_pair_distance_k_vector_database.html#a0b1b8bf73fa17c88abaf479fa79be96b',1,'lost::PairDistanceKVectorDatabase']]], - ['numvalues_477',['NumValues',['../classlost_1_1_k_vector_index.html#aeb86d1680f58d5a5709618d615ea7267',1,'lost::KVectorIndex']]] + ['narrowcatalog_512',['NarrowCatalog',['../namespacelost.html#a97bab24607652ec26c12d9a3d3aa52b2',1,'lost']]], + ['normalize_513',['Normalize',['../structlost_1_1_vec2.html#a031e09c0d302a0484fd250f0ef162cbf',1,'lost::Vec2::Normalize()'],['../classlost_1_1_vec3.html#a13c75aca8d96b36a1c004f770d3bf55e',1,'lost::Vec3::Normalize()']]], + ['numbins_514',['NumBins',['../classlost_1_1_k_vector_index.html#a6f3ee957485b41a9bf8500232a8033fe',1,'lost::KVectorIndex']]], + ['numpairs_515',['NumPairs',['../classlost_1_1_pair_distance_k_vector_database.html#a0b1b8bf73fa17c88abaf479fa79be96b',1,'lost::PairDistanceKVectorDatabase']]], + ['numvalues_516',['NumValues',['../classlost_1_1_k_vector_index.html#aeb86d1680f58d5a5709618d615ea7267',1,'lost::KVectorIndex']]] ]; diff --git a/search/functions_c.js b/search/functions_c.js index 4e1dcf5c..22917aba 100644 --- a/search/functions_c.js +++ b/search/functions_c.js @@ -1,11 +1,11 @@ var searchData= [ - ['operator_2a_478',['operator*',['../structlost_1_1_vec2.html#a660fd87b54326ba7f95bb72b0e6bb230',1,'lost::Vec2::operator*()'],['../classlost_1_1_pair_distance_involving_iterator.html#a662dd99588f341c15303363746c5a544',1,'lost::PairDistanceInvolvingIterator::operator*()'],['../classlost_1_1_quaternion.html#a8ebde5fe7f4422ba54775aa7e5d12756',1,'lost::Quaternion::operator*()'],['../classlost_1_1_mat3.html#ad44fc5a52d4ff6868ae9f42f4d43e191',1,'lost::Mat3::operator*(const float &) const'],['../classlost_1_1_mat3.html#a8d1bdbb7028cc2d8c861b18ef64d9e27',1,'lost::Mat3::operator*(const Vec3 &) const'],['../classlost_1_1_mat3.html#aec14b4e92d3d81ff52988e507aeb566d',1,'lost::Mat3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a80dad024720f0d4289abeca0e5e21c97',1,'lost::Vec3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a8725a72070e4f730e3c0b0ba8aea0c9a',1,'lost::Vec3::operator*(const float &) const'],['../classlost_1_1_vec3.html#a03931f54c9c605a7f2fbc4ba39fe8d61',1,'lost::Vec3::operator*(const Vec3 &) const'],['../structlost_1_1_vec2.html#ae6b4c9c8a5ba0f0b11b094ce48eb9a9a',1,'lost::Vec2::operator*(const Vec2 &) const']]], - ['operator_2b_479',['operator+',['../structlost_1_1_vec2.html#a764696131be64a986d12dd4492d5d6d5',1,'lost::Vec2::operator+()'],['../classlost_1_1_mat3.html#add619b56d0870d447c35921beafabd7d',1,'lost::Mat3::operator+()']]], - ['operator_2b_2b_480',['operator++',['../classlost_1_1_pair_distance_involving_iterator.html#a779ab2980f5df0714e8b760309d4edfd',1,'lost::PairDistanceInvolvingIterator']]], - ['operator_2d_481',['operator-',['../structlost_1_1_vec2.html#a5e324a16898723879d58f2fd2160fe28',1,'lost::Vec2::operator-()'],['../classlost_1_1_vec3.html#af2225f16a49cf3755816e22511e1b9a1',1,'lost::Vec3::operator-()']]], - ['operator_3c_3c_482',['operator<<',['../namespacelost.html#afd0ad3291fda13bb1bf50fb13906769c',1,'lost']]], - ['operator_3d_3d_483',['operator==',['../classlost_1_1_star_identifier.html#a643cda988c3a7e9e1dd79ec77e7bb2b2',1,'lost::StarIdentifier']]], - ['otsusthreshold_484',['OtsusThreshold',['../namespacelost.html#a1c383b038ea9376eacf4858247d765be',1,'lost']]], - ['outerproduct_485',['OuterProduct',['../classlost_1_1_vec3.html#a571a631a6bd21ff61f9111c98f751e5f',1,'lost::Vec3']]] + ['operator_2a_517',['operator*',['../structlost_1_1_vec2.html#aa16d8d8335e0d1c0816885340242100f',1,'lost::Vec2::operator*()'],['../classlost_1_1_pair_distance_involving_iterator.html#a662dd99588f341c15303363746c5a544',1,'lost::PairDistanceInvolvingIterator::operator*()'],['../classlost_1_1_quaternion.html#a8ebde5fe7f4422ba54775aa7e5d12756',1,'lost::Quaternion::operator*()'],['../classlost_1_1_mat3.html#ac8db5f06c33d2e3cb463c5d95f479939',1,'lost::Mat3::operator*(const decimal &) const'],['../classlost_1_1_mat3.html#a8d1bdbb7028cc2d8c861b18ef64d9e27',1,'lost::Mat3::operator*(const Vec3 &) const'],['../classlost_1_1_mat3.html#aec14b4e92d3d81ff52988e507aeb566d',1,'lost::Mat3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a80dad024720f0d4289abeca0e5e21c97',1,'lost::Vec3::operator*(const Mat3 &) const'],['../classlost_1_1_vec3.html#a429adb38ed953580c5d319c3405600b5',1,'lost::Vec3::operator*(const decimal &) const'],['../classlost_1_1_vec3.html#a5a66659f823e2cba96e764bfd8b77d3f',1,'lost::Vec3::operator*(const Vec3 &) const'],['../structlost_1_1_vec2.html#a736e460c2fa8d4a4cb013b376b6e2c8e',1,'lost::Vec2::operator*(const Vec2 &) const']]], + ['operator_2b_518',['operator+',['../structlost_1_1_vec2.html#a764696131be64a986d12dd4492d5d6d5',1,'lost::Vec2::operator+()'],['../classlost_1_1_mat3.html#add619b56d0870d447c35921beafabd7d',1,'lost::Mat3::operator+()']]], + ['operator_2b_2b_519',['operator++',['../classlost_1_1_pair_distance_involving_iterator.html#a779ab2980f5df0714e8b760309d4edfd',1,'lost::PairDistanceInvolvingIterator']]], + ['operator_2d_520',['operator-',['../structlost_1_1_vec2.html#a5e324a16898723879d58f2fd2160fe28',1,'lost::Vec2::operator-()'],['../classlost_1_1_vec3.html#af2225f16a49cf3755816e22511e1b9a1',1,'lost::Vec3::operator-()']]], + ['operator_3c_3c_521',['operator<<',['../namespacelost.html#afd0ad3291fda13bb1bf50fb13906769c',1,'lost']]], + ['operator_3d_3d_522',['operator==',['../classlost_1_1_star_identifier.html#a643cda988c3a7e9e1dd79ec77e7bb2b2',1,'lost::StarIdentifier']]], + ['otsusthreshold_523',['OtsusThreshold',['../namespacelost.html#a1c383b038ea9376eacf4858247d765be',1,'lost']]], + ['outerproduct_524',['OuterProduct',['../classlost_1_1_vec3.html#a571a631a6bd21ff61f9111c98f751e5f',1,'lost::Vec3']]] ]; diff --git a/search/functions_d.js b/search/functions_d.js index 7f0f54cc..de7ffad5 100644 --- a/search/functions_d.js +++ b/search/functions_d.js @@ -1,11 +1,11 @@ var searchData= [ - ['pairdistanceinvolvingiterator_486',['PairDistanceInvolvingIterator',['../classlost_1_1_pair_distance_involving_iterator.html#aab0b583ba5779f592913fe7d7cb90e4a',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator()'],['../classlost_1_1_pair_distance_involving_iterator.html#a192e6cf4441f25430f6e4c1a558f8b70',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator(const int16_t *pairs, const int16_t *end, int16_t involving)']]], - ['pairdistancekvectordatabase_487',['PairDistanceKVectorDatabase',['../classlost_1_1_pair_distance_k_vector_database.html#a63c9e16675f56b66cc3740fb96c55dfc',1,'lost::PairDistanceKVectorDatabase']]], - ['pairdistancequerytomap_488',['PairDistanceQueryToMap',['../namespacelost.html#acd73775fd6b5bb0f4c48bfab3bc1552c',1,'lost']]], - ['pipeline_489',['Pipeline',['../classlost_1_1_pipeline.html#ab99f650efd24207ed56ae9d52399cff2',1,'lost::Pipeline::Pipeline()=default'],['../classlost_1_1_pipeline.html#a3a135d2c7d1ab3ed8a05006fe5c7daa8',1,'lost::Pipeline::Pipeline(CentroidAlgorithm *, StarIdAlgorithm *, AttitudeEstimationAlgorithm *, unsigned char *)']]], - ['pipelinecomparatorplotcentroidindices_490',['PipelineComparatorPlotCentroidIndices',['../namespacelost.html#a69cfc1189a8f18fb6e6a6d400a8a1311',1,'lost']]], - ['pipelinecomparison_491',['PipelineComparison',['../namespacelost.html#ad2caa7f022ed5c5dba03ab479414dafc',1,'lost']]], - ['pngpipelineinput_492',['PngPipelineInput',['../classlost_1_1_png_pipeline_input.html#adee57652282fb256ea2deeb737b81afe',1,'lost::PngPipelineInput']]], - ['pyramidstaridalgorithm_493',['PyramidStarIdAlgorithm',['../classlost_1_1_pyramid_star_id_algorithm.html#af49d0a219e84d31fccdc927aa7476d50',1,'lost::PyramidStarIdAlgorithm']]] + ['pairdistanceinvolvingiterator_525',['PairDistanceInvolvingIterator',['../classlost_1_1_pair_distance_involving_iterator.html#aab0b583ba5779f592913fe7d7cb90e4a',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator()'],['../classlost_1_1_pair_distance_involving_iterator.html#a192e6cf4441f25430f6e4c1a558f8b70',1,'lost::PairDistanceInvolvingIterator::PairDistanceInvolvingIterator(const int16_t *pairs, const int16_t *end, int16_t involving)']]], + ['pairdistancekvectordatabase_526',['PairDistanceKVectorDatabase',['../classlost_1_1_pair_distance_k_vector_database.html#a63c9e16675f56b66cc3740fb96c55dfc',1,'lost::PairDistanceKVectorDatabase']]], + ['pairdistancequerytomap_527',['PairDistanceQueryToMap',['../namespacelost.html#acd73775fd6b5bb0f4c48bfab3bc1552c',1,'lost']]], + ['pipeline_528',['Pipeline',['../classlost_1_1_pipeline.html#ab99f650efd24207ed56ae9d52399cff2',1,'lost::Pipeline::Pipeline()=default'],['../classlost_1_1_pipeline.html#a3a135d2c7d1ab3ed8a05006fe5c7daa8',1,'lost::Pipeline::Pipeline(CentroidAlgorithm *, StarIdAlgorithm *, AttitudeEstimationAlgorithm *, unsigned char *)']]], + ['pipelinecomparatorplotcentroidindices_529',['PipelineComparatorPlotCentroidIndices',['../namespacelost.html#a69cfc1189a8f18fb6e6a6d400a8a1311',1,'lost']]], + ['pipelinecomparison_530',['PipelineComparison',['../namespacelost.html#ad2caa7f022ed5c5dba03ab479414dafc',1,'lost']]], + ['pngpipelineinput_531',['PngPipelineInput',['../classlost_1_1_png_pipeline_input.html#adee57652282fb256ea2deeb737b81afe',1,'lost::PngPipelineInput']]], + ['pyramidstaridalgorithm_532',['PyramidStarIdAlgorithm',['../classlost_1_1_pyramid_star_id_algorithm.html#a558b3037bf30cd916ce7c2236999912c',1,'lost::PyramidStarIdAlgorithm']]] ]; diff --git a/search/functions_e.js b/search/functions_e.js index 2f9593c1..6bd7f987 100644 --- a/search/functions_e.js +++ b/search/functions_e.js @@ -1,9 +1,9 @@ var searchData= [ - ['quaternion_494',['Quaternion',['../classlost_1_1_quaternion.html#a6ff95b8ae5599c94d585bd9842dfa873',1,'lost::Quaternion::Quaternion()=default'],['../classlost_1_1_quaternion.html#aaf73dff6f30d740ded0ea2be0449b3b2',1,'lost::Quaternion::Quaternion(const Vec3 &)'],['../classlost_1_1_quaternion.html#adcebe15481e86e3908caff22865b6742',1,'lost::Quaternion::Quaternion(const Vec3 &, float)'],['../classlost_1_1_quaternion.html#aef18b43911c9bc9ca7bb1590efec9bff',1,'lost::Quaternion::Quaternion(float real, float i, float j, float k)']]], - ['quaterniontodcm_495',['QuaternionToDCM',['../namespacelost.html#a08209cdf2c6b9415866d576343c35bf2',1,'lost']]], - ['queryliberal_496',['QueryLiberal',['../classlost_1_1_k_vector_index.html#a36e6030ff35142ccbe2010fd0130a02c',1,'lost::KVectorIndex']]], - ['questcharpoly_497',['QuestCharPoly',['../namespacelost.html#ab1a9beb3699da6901d13dcebcb0e987b',1,'lost']]], - ['questcharpolyprime_498',['QuestCharPolyPrime',['../namespacelost.html#aecb22b335d98f9abefb94e377afa3bdb',1,'lost']]], - ['questeigenvalueestimator_499',['QuestEigenvalueEstimator',['../namespacelost.html#aa3cff2017989bf09b8b4111c1a0bfdf5',1,'lost']]] + ['quaternion_533',['Quaternion',['../classlost_1_1_quaternion.html#a6ff95b8ae5599c94d585bd9842dfa873',1,'lost::Quaternion::Quaternion()=default'],['../classlost_1_1_quaternion.html#aaf73dff6f30d740ded0ea2be0449b3b2',1,'lost::Quaternion::Quaternion(const Vec3 &)'],['../classlost_1_1_quaternion.html#a017e02bf5ca5630d4469755e3fed0b54',1,'lost::Quaternion::Quaternion(const Vec3 &, decimal)'],['../classlost_1_1_quaternion.html#a6128486aac9faa766c2605f54dfc3647',1,'lost::Quaternion::Quaternion(decimal real, decimal i, decimal j, decimal k)']]], + ['quaterniontodcm_534',['QuaternionToDCM',['../namespacelost.html#a08209cdf2c6b9415866d576343c35bf2',1,'lost']]], + ['queryliberal_535',['QueryLiberal',['../classlost_1_1_k_vector_index.html#a6f3c702412e3a12501bfabb5d7936b05',1,'lost::KVectorIndex']]], + ['questcharpoly_536',['QuestCharPoly',['../namespacelost.html#a94bdddcfa030dfce3201661f42cc7d01',1,'lost']]], + ['questcharpolyprime_537',['QuestCharPolyPrime',['../namespacelost.html#ae543ffda8031beff6f8015261f1c495c',1,'lost']]], + ['questeigenvalueestimator_538',['QuestEigenvalueEstimator',['../namespacelost.html#a4c5445cb888227769955b2cdda5ee93a',1,'lost']]] ]; diff --git a/search/functions_f.js b/search/functions_f.js index 05f814f4..8b4f8154 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -1,7 +1,7 @@ var searchData= [ - ['radtoarcsec_500',['RadToArcSec',['../namespacelost.html#a86999ae9a82ae57b98cb14dd1654c3f3',1,'lost']]], - ['radtodeg_501',['RadToDeg',['../namespacelost.html#adc5108f643b7657a835838c7f6411aa7',1,'lost']]], - ['rotate_502',['Rotate',['../classlost_1_1_quaternion.html#a570198dc9f0669cb34d715fbf9e62578',1,'lost::Quaternion::Rotate()'],['../classlost_1_1_attitude.html#a4c7ac3eb32e2e6dc8c576c9ad7134aaf',1,'lost::Attitude::Rotate()']]], - ['row_503',['Row',['../classlost_1_1_mat3.html#a4357c0052a4a3f4af9b4acfcc2de5622',1,'lost::Mat3']]] + ['radtoarcsec_539',['RadToArcSec',['../namespacelost.html#a0b4575c6e2f6eb0bc7faebf429fb9b7d',1,'lost']]], + ['radtodeg_540',['RadToDeg',['../namespacelost.html#a65410f365157111a72350076d9c434c0',1,'lost']]], + ['rotate_541',['Rotate',['../classlost_1_1_quaternion.html#a570198dc9f0669cb34d715fbf9e62578',1,'lost::Quaternion::Rotate()'],['../classlost_1_1_attitude.html#a4c7ac3eb32e2e6dc8c576c9ad7134aaf',1,'lost::Attitude::Rotate()']]], + ['row_542',['Row',['../classlost_1_1_mat3.html#a4357c0052a4a3f4af9b4acfcc2de5622',1,'lost::Mat3']]] ]; diff --git a/search/namespaces_0.js b/search/namespaces_0.js index e71f24e6..a60e4982 100644 --- a/search/namespaces_0.js +++ b/search/namespaces_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['lost_351',['lost',['../namespacelost.html',1,'']]] + ['lost_388',['lost',['../namespacelost.html',1,'']]] ]; diff --git a/search/pages_0.js b/search/pages_0.js index e827baa3..1d5c9a71 100644 --- a/search/pages_0.js +++ b/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['lost_20code_20documentation_636',['LOST Code Documentation',['../index.html',1,'']]] + ['lost_20code_20documentation_710',['LOST Code Documentation',['../index.html',1,'']]] ]; diff --git a/search/pages_1.js b/search/pages_1.js index 9b28ea2f..7ae558c7 100644 --- a/search/pages_1.js +++ b/search/pages_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['todo_20list_637',['Todo List',['../todo.html',1,'']]] + ['todo_20list_711',['Todo List',['../todo.html',1,'']]] ]; diff --git a/search/related_0.js b/search/related_0.js index 8655f655..c110006e 100644 --- a/search/related_0.js +++ b/search/related_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['setpipeline_628',['SetPipeline',['../classlost_1_1_pipeline.html#a680908f5f23f826f938acd07074775cb',1,'lost::Pipeline']]] + ['setpipeline_668',['SetPipeline',['../classlost_1_1_pipeline.html#a680908f5f23f826f938acd07074775cb',1,'lost::Pipeline']]] ]; diff --git a/search/searchdata.js b/search/searchdata.js index 0739a238..22212f1a 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -5,10 +5,10 @@ var indexSectionsWithContent = 2: "l", 3: "acdimps", 4: "abcdefghikmnopqrstuvxy~", - 5: "abcdghijkmnprswxyz", - 6: "acmps", + 5: "abcdfghijkmnprswxyz", + 6: "acdmps", 7: "s", - 8: "_del", + 8: "_delms", 9: "lt" }; diff --git a/search/typedefs_0.js b/search/typedefs_0.js index 040de628..814cb014 100644 --- a/search/typedefs_0.js +++ b/search/typedefs_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['attitudeestimationalgorithmfactory_618',['AttitudeEstimationAlgorithmFactory',['../namespacelost.html#a21ee58ad60e736a58c95394ae5f799f4',1,'lost']]] + ['attitudeestimationalgorithmfactory_657',['AttitudeEstimationAlgorithmFactory',['../namespacelost.html#a21ee58ad60e736a58c95394ae5f799f4',1,'lost']]] ]; diff --git a/search/typedefs_1.js b/search/typedefs_1.js index 0cd60f49..a2c199b9 100644 --- a/search/typedefs_1.js +++ b/search/typedefs_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['catalog_619',['Catalog',['../namespacelost.html#aef1a1d4dd4620ebdc2197877569a44f6',1,'lost']]], - ['centroidalgorithmfactory_620',['CentroidAlgorithmFactory',['../namespacelost.html#a92e491a9e204a882bc0635b7d943e085',1,'lost']]] + ['catalog_658',['Catalog',['../namespacelost.html#aef1a1d4dd4620ebdc2197877569a44f6',1,'lost']]], + ['centroidalgorithmfactory_659',['CentroidAlgorithmFactory',['../namespacelost.html#a92e491a9e204a882bc0635b7d943e085',1,'lost']]] ]; diff --git a/search/typedefs_2.js b/search/typedefs_2.js index 81b39b1f..a0f3144a 100644 --- a/search/typedefs_2.js +++ b/search/typedefs_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['multidatabasedescriptor_621',['MultiDatabaseDescriptor',['../namespacelost.html#aaa2e81369410c8a787ec643333d1a7a8',1,'lost']]] + ['decimal_660',['decimal',['../decimal_8hpp.html#a0450d7258362349ee7654cefb54aaf57',1,'decimal.hpp']]] ]; diff --git a/search/typedefs_3.js b/search/typedefs_3.js index 8e2c73fa..7d2c74b3 100644 --- a/search/typedefs_3.js +++ b/search/typedefs_3.js @@ -1,6 +1,4 @@ var searchData= [ - ['pipelinecomparator_622',['PipelineComparator',['../namespacelost.html#ab001adf3b7887c7b7a72d308893c48b2',1,'lost']]], - ['pipelineinputfactory_623',['PipelineInputFactory',['../namespacelost.html#a5552f98af725481dee70b9b39e12e064',1,'lost']]], - ['pipelineinputlist_624',['PipelineInputList',['../namespacelost.html#acbd12c57a0797b6b786ebfc87aae0c84',1,'lost']]] + ['multidatabasedescriptor_661',['MultiDatabaseDescriptor',['../namespacelost.html#aaa2e81369410c8a787ec643333d1a7a8',1,'lost']]] ]; diff --git a/search/typedefs_4.js b/search/typedefs_4.js index 077c9e86..290953fa 100644 --- a/search/typedefs_4.js +++ b/search/typedefs_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['staridalgorithmfactory_625',['StarIdAlgorithmFactory',['../namespacelost.html#a106f3da2d75b2af268f5e9abfc7ea681',1,'lost']]], - ['staridentifiers_626',['StarIdentifiers',['../namespacelost.html#a288b872531de219e9cfc87beb8d8bada',1,'lost']]], - ['stars_627',['Stars',['../namespacelost.html#a4bd359d9c09dbecb81c3a3e536f0b5c5',1,'lost']]] + ['pipelinecomparator_662',['PipelineComparator',['../namespacelost.html#ab001adf3b7887c7b7a72d308893c48b2',1,'lost']]], + ['pipelineinputfactory_663',['PipelineInputFactory',['../namespacelost.html#a5552f98af725481dee70b9b39e12e064',1,'lost']]], + ['pipelineinputlist_664',['PipelineInputList',['../namespacelost.html#acbd12c57a0797b6b786ebfc87aae0c84',1,'lost']]] ]; diff --git a/search/typedefs_5.html b/search/typedefs_5.html new file mode 100644 index 00000000..43fbec1f --- /dev/null +++ b/search/typedefs_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            Loading...
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            Searching...
                                                                                                                                                                            +
                                                                                                                                                                            No Matches
                                                                                                                                                                            + +
                                                                                                                                                                            + + diff --git a/search/typedefs_5.js b/search/typedefs_5.js new file mode 100644 index 00000000..5132759a --- /dev/null +++ b/search/typedefs_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['staridalgorithmfactory_665',['StarIdAlgorithmFactory',['../namespacelost.html#a106f3da2d75b2af268f5e9abfc7ea681',1,'lost']]], + ['staridentifiers_666',['StarIdentifiers',['../namespacelost.html#a288b872531de219e9cfc87beb8d8bada',1,'lost']]], + ['stars_667',['Stars',['../namespacelost.html#a4bd359d9c09dbecb81c3a3e536f0b5c5',1,'lost']]] +]; diff --git a/search/variables_0.js b/search/variables_0.js index 9c660799..c9fdfa95 100644 --- a/search/variables_0.js +++ b/search/variables_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['attitude_549',['attitude',['../structlost_1_1_pipeline_output.html#ad2be75247ab893fb920ece9f2eb800f8',1,'lost::PipelineOutput']]], - ['attitudeestimationtimens_550',['attitudeEstimationTimeNs',['../structlost_1_1_pipeline_output.html#aa8e8e553d151f56f587d7906fd4a9229',1,'lost::PipelineOutput']]] + ['attitude_587',['attitude',['../structlost_1_1_pipeline_output.html#ad2be75247ab893fb920ece9f2eb800f8',1,'lost::PipelineOutput']]], + ['attitudeestimationtimens_588',['attitudeEstimationTimeNs',['../structlost_1_1_pipeline_output.html#aa8e8e553d151f56f587d7906fd4a9229',1,'lost::PipelineOutput']]] ]; diff --git a/search/variables_1.js b/search/variables_1.js index 545c976d..bccf5969 100644 --- a/search/variables_1.js +++ b/search/variables_1.js @@ -1,8 +1,8 @@ var searchData= [ - ['bestanglefrom90_551',['bestAngleFrom90',['../classlost_1_1_i_r_unidentified_centroid.html#aff8ec14ca85a2721d117906ffe3d2ac0',1,'lost::IRUnidentifiedCentroid']]], - ['beststar1_552',['bestStar1',['../classlost_1_1_i_r_unidentified_centroid.html#aab377ad525cebf57723091ad9e4a4ee1',1,'lost::IRUnidentifiedCentroid']]], - ['beststar2_553',['bestStar2',['../classlost_1_1_i_r_unidentified_centroid.html#adfabd54617aebb510f629878d3cc8ae6',1,'lost::IRUnidentifiedCentroid']]], - ['buffer_554',['buffer',['../classlost_1_1_serialize_context.html#a927e0e4500eb707c30bf17a67f9128c7',1,'lost::SerializeContext']]], - ['bytes_555',['bytes',['../classlost_1_1_multi_database_entry.html#a4a8d44f79bc1acdbba0aae5ad21c3cbb',1,'lost::MultiDatabaseEntry']]] + ['bestanglefrom90_589',['bestAngleFrom90',['../classlost_1_1_i_r_unidentified_centroid.html#af7d40149f6387faa1aa0c8e54d2f0381',1,'lost::IRUnidentifiedCentroid']]], + ['beststar1_590',['bestStar1',['../classlost_1_1_i_r_unidentified_centroid.html#aab377ad525cebf57723091ad9e4a4ee1',1,'lost::IRUnidentifiedCentroid']]], + ['beststar2_591',['bestStar2',['../classlost_1_1_i_r_unidentified_centroid.html#adfabd54617aebb510f629878d3cc8ae6',1,'lost::IRUnidentifiedCentroid']]], + ['buffer_592',['buffer',['../classlost_1_1_serialize_context.html#a927e0e4500eb707c30bf17a67f9128c7',1,'lost::SerializeContext']]], + ['bytes_593',['bytes',['../classlost_1_1_multi_database_entry.html#a4a8d44f79bc1acdbba0aae5ad21c3cbb',1,'lost::MultiDatabaseEntry']]] ]; diff --git a/search/variables_10.js b/search/variables_10.js index 9ff3f0b0..62168bfb 100644 --- a/search/variables_10.js +++ b/search/variables_10.js @@ -1,7 +1,7 @@ var searchData= [ - ['y_613',['y',['../structlost_1_1_vec2.html#a3a23d5b38c5873b4b870ace85fd30d05',1,'lost::Vec2::y()'],['../classlost_1_1_vec3.html#a50ebc2fd588a7ecc8653166d74b4f4b9',1,'lost::Vec3::y()']]], - ['ycoordmagsum_614',['yCoordMagSum',['../structlost_1_1_centroid_params.html#a421ee37e9ef2ac330acaf8ea5bca733d',1,'lost::CentroidParams']]], - ['ymax_615',['yMax',['../structlost_1_1_centroid_params.html#a94c747c963ad41ffed83a98e09061175',1,'lost::CentroidParams::yMax()'],['../structlost_1_1_i_w_co_g_params.html#a2d97ec092c041d89f12faae885542ea2',1,'lost::IWCoGParams::yMax()']]], - ['ymin_616',['yMin',['../structlost_1_1_centroid_params.html#ace328e1aca0f0a9c707e00bc6d8f7e05',1,'lost::CentroidParams::yMin()'],['../structlost_1_1_i_w_co_g_params.html#af2c1113648b480bf8d495773a76abc55',1,'lost::IWCoGParams::yMin()']]] + ['x_648',['x',['../structlost_1_1_vec2.html#a46a5e51d9689b023106896d4968ace02',1,'lost::Vec2::x()'],['../classlost_1_1_vec3.html#adad32f6805cf76e283bfffc7060ea805',1,'lost::Vec3::x()'],['../classlost_1_1_mat3.html#ae38b2d47fb32bb2f8b8bf13dc8ce3b41',1,'lost::Mat3::x()']]], + ['xcoordmagsum_649',['xCoordMagSum',['../structlost_1_1_centroid_params.html#afb3a3d1f3cabc2a77eac59b5abf3f273',1,'lost::CentroidParams']]], + ['xmax_650',['xMax',['../structlost_1_1_centroid_params.html#acb5e6b2f74543a8d99c79820a5a3fae5',1,'lost::CentroidParams::xMax()'],['../structlost_1_1_i_w_co_g_params.html#a11bd1f88de67d8009ab086d92eb154e1',1,'lost::IWCoGParams::xMax()']]], + ['xmin_651',['xMin',['../structlost_1_1_centroid_params.html#a1ad1a1cdb476e0a0be922b01306c4f01',1,'lost::CentroidParams::xMin()'],['../structlost_1_1_i_w_co_g_params.html#a2b90aeb4c5fe0b2569692b18114bb6d7',1,'lost::IWCoGParams::xMin()']]] ]; diff --git a/search/variables_11.js b/search/variables_11.js index 1d8b482f..ab1089e2 100644 --- a/search/variables_11.js +++ b/search/variables_11.js @@ -1,4 +1,7 @@ var searchData= [ - ['z_617',['z',['../classlost_1_1_vec3.html#a2840bbc8330dd9838f938bf15a2b3c04',1,'lost::Vec3']]] + ['y_652',['y',['../structlost_1_1_vec2.html#ab0daa57fd5f54435248f36e736411750',1,'lost::Vec2::y()'],['../classlost_1_1_vec3.html#a71a736ddded55f18df2e169851e0e130',1,'lost::Vec3::y()']]], + ['ycoordmagsum_653',['yCoordMagSum',['../structlost_1_1_centroid_params.html#af28e2f57440cb866fbab13d9e9be10ad',1,'lost::CentroidParams']]], + ['ymax_654',['yMax',['../structlost_1_1_centroid_params.html#a94c747c963ad41ffed83a98e09061175',1,'lost::CentroidParams::yMax()'],['../structlost_1_1_i_w_co_g_params.html#a2d97ec092c041d89f12faae885542ea2',1,'lost::IWCoGParams::yMax()']]], + ['ymin_655',['yMin',['../structlost_1_1_centroid_params.html#ace328e1aca0f0a9c707e00bc6d8f7e05',1,'lost::CentroidParams::yMin()'],['../structlost_1_1_i_w_co_g_params.html#af2c1113648b480bf8d495773a76abc55',1,'lost::IWCoGParams::yMin()']]] ]; diff --git a/search/variables_12.html b/search/variables_12.html new file mode 100644 index 00000000..a3a32eb8 --- /dev/null +++ b/search/variables_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            Loading...
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            Searching...
                                                                                                                                                                            +
                                                                                                                                                                            No Matches
                                                                                                                                                                            + +
                                                                                                                                                                            + + diff --git a/search/variables_12.js b/search/variables_12.js new file mode 100644 index 00000000..2e103f03 --- /dev/null +++ b/search/variables_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z_656',['z',['../classlost_1_1_vec3.html#a69d1b9c2a70b2d46ab94f7fea631d9ad',1,'lost::Vec3']]] +]; diff --git a/search/variables_2.js b/search/variables_2.js index e3445896..2066e1eb 100644 --- a/search/variables_2.js +++ b/search/variables_2.js @@ -1,8 +1,8 @@ var searchData= [ - ['catalog_556',['catalog',['../structlost_1_1_pipeline_output.html#a18bcd3f7aa001bd26cbc67a2ae3ffcca',1,'lost::PipelineOutput']]], - ['catalogindex_557',['catalogIndex',['../classlost_1_1_star_identifier.html#a9743c39504a863334c5cfb62263f22c8',1,'lost::StarIdentifier']]], - ['centroidingtimens_558',['centroidingTimeNs',['../structlost_1_1_pipeline_output.html#a36786786f6025272fc7befd01924d0d9',1,'lost::PipelineOutput']]], - ['checkedindices_559',['checkedIndices',['../structlost_1_1_centroid_params.html#ae13910601515db040c7f164b8b1730f2',1,'lost::CentroidParams::checkedIndices()'],['../structlost_1_1_i_w_co_g_params.html#a95fa4a77be6b192d6d114f9d520cb061',1,'lost::IWCoGParams::checkedIndices()']]], - ['cutoff_560',['cutoff',['../structlost_1_1_centroid_params.html#a6cfd4e00ebf2a42f650c0fb3dc3e9786',1,'lost::CentroidParams::cutoff()'],['../structlost_1_1_i_w_co_g_params.html#acfe4b324c5b6ab473243fe552c7f80bf',1,'lost::IWCoGParams::cutoff()']]] + ['catalog_594',['catalog',['../structlost_1_1_pipeline_output.html#a18bcd3f7aa001bd26cbc67a2ae3ffcca',1,'lost::PipelineOutput']]], + ['catalogindex_595',['catalogIndex',['../classlost_1_1_star_identifier.html#a9743c39504a863334c5cfb62263f22c8',1,'lost::StarIdentifier']]], + ['centroidingtimens_596',['centroidingTimeNs',['../structlost_1_1_pipeline_output.html#a36786786f6025272fc7befd01924d0d9',1,'lost::PipelineOutput']]], + ['checkedindices_597',['checkedIndices',['../structlost_1_1_centroid_params.html#ae13910601515db040c7f164b8b1730f2',1,'lost::CentroidParams::checkedIndices()'],['../structlost_1_1_i_w_co_g_params.html#a95fa4a77be6b192d6d114f9d520cb061',1,'lost::IWCoGParams::checkedIndices()']]], + ['cutoff_598',['cutoff',['../structlost_1_1_centroid_params.html#a6cfd4e00ebf2a42f650c0fb3dc3e9786',1,'lost::CentroidParams::cutoff()'],['../structlost_1_1_i_w_co_g_params.html#acfe4b324c5b6ab473243fe552c7f80bf',1,'lost::IWCoGParams::cutoff()']]] ]; diff --git a/search/variables_3.js b/search/variables_3.js index c2823233..494f52ab 100644 --- a/search/variables_3.js +++ b/search/variables_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['de_561',['de',['../classlost_1_1_euler_angles.html#acce7640ab1aa3431e04cc39037e538fe',1,'lost::EulerAngles']]], - ['delta_562',['delta',['../classlost_1_1_generated_star.html#a75214eb4d1e17681b3e3a116a88af29a',1,'lost::GeneratedStar']]], - ['distance_563',['distance',['../structlost_1_1_k_vector_pair.html#af099ea7e016e1e192592f9170a100453',1,'lost::KVectorPair']]] + ['de_599',['de',['../classlost_1_1_euler_angles.html#aa1f13c91bb698e674c2152a481dcb109',1,'lost::EulerAngles']]], + ['delta_600',['delta',['../classlost_1_1_generated_star.html#a75214eb4d1e17681b3e3a116a88af29a',1,'lost::GeneratedStar']]], + ['distance_601',['distance',['../structlost_1_1_k_vector_pair.html#a59e7fb46e41e1365b35b99c8ef9656ae',1,'lost::KVectorPair']]] ]; diff --git a/search/variables_4.js b/search/variables_4.js index 3d816a74..c9638b70 100644 --- a/search/variables_4.js +++ b/search/variables_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['guess_564',['guess',['../structlost_1_1_i_w_co_g_params.html#ac76a11e21cf5252a2077908357540ad7',1,'lost::IWCoGParams']]] + ['flags_602',['flags',['../classlost_1_1_multi_database_entry.html#ace2cf20a17ec8c58e40965438df8df06',1,'lost::MultiDatabaseEntry']]] ]; diff --git a/search/variables_5.js b/search/variables_5.js index cffef2ef..a1102834 100644 --- a/search/variables_5.js +++ b/search/variables_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['height_565',['height',['../classlost_1_1_image.html#a705ef08de937ac85cf4a5c5e1084475e',1,'lost::Image']]] + ['guess_603',['guess',['../structlost_1_1_i_w_co_g_params.html#ac76a11e21cf5252a2077908357540ad7',1,'lost::IWCoGParams']]] ]; diff --git a/search/variables_6.js b/search/variables_6.js index cdfc1052..f2766a06 100644 --- a/search/variables_6.js +++ b/search/variables_6.js @@ -1,10 +1,4 @@ var searchData= [ - ['i_566',['i',['../classlost_1_1_quaternion.html#af91fd942679a1445421c93c4db9628b2',1,'lost::Quaternion']]], - ['image_567',['image',['../classlost_1_1_image.html#a1cf1464da2a2b11d9983ed1f022da26b',1,'lost::Image']]], - ['index_568',['index',['../classlost_1_1_i_r_unidentified_centroid.html#ae2439bce89692ce79d65232aa76fd539',1,'lost::IRUnidentifiedCentroid']]], - ['index1_569',['index1',['../structlost_1_1_k_vector_pair.html#a9ebe0e523a60fa47f885becad718ffea',1,'lost::KVectorPair']]], - ['index2_570',['index2',['../structlost_1_1_k_vector_pair.html#ae2cfc4c6e1a7f49c465a4ae548838fb4',1,'lost::KVectorPair']]], - ['isvalid_571',['isValid',['../structlost_1_1_centroid_params.html#aa10ded620c3bbe4a1b60408e9cf90502',1,'lost::CentroidParams::isValid()'],['../structlost_1_1_i_w_co_g_params.html#add92d3af1d8df7729ece6bacb53891f3',1,'lost::IWCoGParams::isValid()']]], - ['iwcogminchange_572',['iWCoGMinChange',['../namespacelost.html#adb169fa5f416a7acc9c7a9c52b2c86a6',1,'lost']]] + ['height_604',['height',['../classlost_1_1_image.html#a705ef08de937ac85cf4a5c5e1084475e',1,'lost::Image']]] ]; diff --git a/search/variables_7.js b/search/variables_7.js index 81422135..99fc1f7d 100644 --- a/search/variables_7.js +++ b/search/variables_7.js @@ -1,4 +1,10 @@ var searchData= [ - ['j_573',['j',['../classlost_1_1_quaternion.html#a815259d4abdb84d5b3edbededb0764a8',1,'lost::Quaternion']]] + ['i_605',['i',['../classlost_1_1_quaternion.html#a29cfd61187f0b99d589d8b7cc46747e1',1,'lost::Quaternion']]], + ['image_606',['image',['../classlost_1_1_image.html#a1cf1464da2a2b11d9983ed1f022da26b',1,'lost::Image']]], + ['index_607',['index',['../classlost_1_1_i_r_unidentified_centroid.html#ae2439bce89692ce79d65232aa76fd539',1,'lost::IRUnidentifiedCentroid']]], + ['index1_608',['index1',['../structlost_1_1_k_vector_pair.html#a9ebe0e523a60fa47f885becad718ffea',1,'lost::KVectorPair']]], + ['index2_609',['index2',['../structlost_1_1_k_vector_pair.html#ae2cfc4c6e1a7f49c465a4ae548838fb4',1,'lost::KVectorPair']]], + ['isvalid_610',['isValid',['../structlost_1_1_centroid_params.html#aa10ded620c3bbe4a1b60408e9cf90502',1,'lost::CentroidParams::isValid()'],['../structlost_1_1_i_w_co_g_params.html#add92d3af1d8df7729ece6bacb53891f3',1,'lost::IWCoGParams::isValid()']]], + ['iwcogminchange_611',['iWCoGMinChange',['../namespacelost.html#aad95264f15efbc0e15b439142007354c',1,'lost']]] ]; diff --git a/search/variables_8.js b/search/variables_8.js index 92cc4d44..9288902d 100644 --- a/search/variables_8.js +++ b/search/variables_8.js @@ -1,10 +1,4 @@ var searchData= [ - ['k_574',['k',['../classlost_1_1_quaternion.html#a94914610eb3c0ef3b32962505585130c',1,'lost::Quaternion']]], - ['kanglefrom90softthreshold_575',['kAngleFrom90SoftThreshold',['../namespacelost.html#a63a44b3abbcb5580d3ed71f1294f7bcd',1,'lost']]], - ['kcatalogmagicvalue_576',['kCatalogMagicValue',['../namespacelost.html#a280b11c878f729f878b2968037ccbc3d',1,'lost']]], - ['kidentitymat3_577',['kIdentityMat3',['../namespacelost.html#a66abb8e44054268322b5ccba535bb975',1,'lost']]], - ['kmagicvalue_578',['kMagicValue',['../classlost_1_1_pair_distance_k_vector_database.html#a6d5d477e5e2d9557f0e284e917361a54',1,'lost::PairDistanceKVectorDatabase']]], - ['kmaxbrightness_579',['kMaxBrightness',['../namespacelost.html#a9b3311f3ebda1282ad7bf650de30cf45',1,'lost']]], - ['knodefaultargument_580',['kNoDefaultArgument',['../namespacelost.html#adbeb358ec7311bc89886a09aa017388c',1,'lost']]] + ['j_612',['j',['../classlost_1_1_quaternion.html#a8955013a6ea860afd03c4f7b6c1f7e90',1,'lost::Quaternion']]] ]; diff --git a/search/variables_9.js b/search/variables_9.js index 0906395d..2c92d844 100644 --- a/search/variables_9.js +++ b/search/variables_9.js @@ -1,8 +1,10 @@ var searchData= [ - ['magicvalue_581',['magicValue',['../classlost_1_1_multi_database_entry.html#aeede63708b59ea0086338286eef438c8',1,'lost::MultiDatabaseEntry']]], - ['magnitude_582',['magnitude',['../classlost_1_1_catalog_star.html#aac362b166dd1a5cfe95e33a7e2d18e3a',1,'lost::CatalogStar::magnitude()'],['../classlost_1_1_star.html#aa39328327649f570b9008f08951af7bf',1,'lost::Star::magnitude()']]], - ['magsum_583',['magSum',['../structlost_1_1_centroid_params.html#aedcfd69a00c255c1e9166508ee5e58ff',1,'lost::CentroidParams']]], - ['maxintensity_584',['maxIntensity',['../structlost_1_1_i_w_co_g_params.html#a0b8ea8754acc0d8d48f6ef9cb1cc326c',1,'lost::IWCoGParams']]], - ['meanerror_585',['meanError',['../classlost_1_1_centroid_comparison.html#ac1e005780ebb245a3baafde37654aafa',1,'lost::CentroidComparison']]] + ['k_613',['k',['../classlost_1_1_quaternion.html#a5b3471fa3003bd2cfa1ec40dfe75bcca',1,'lost::Quaternion']]], + ['kanglefrom90softthreshold_614',['kAngleFrom90SoftThreshold',['../namespacelost.html#a10f83f3109f16381af2ee6b56e586271',1,'lost']]], + ['kcatalogmagicvalue_615',['kCatalogMagicValue',['../namespacelost.html#a280b11c878f729f878b2968037ccbc3d',1,'lost']]], + ['kidentitymat3_616',['kIdentityMat3',['../namespacelost.html#a66abb8e44054268322b5ccba535bb975',1,'lost']]], + ['kmagicvalue_617',['kMagicValue',['../classlost_1_1_pair_distance_k_vector_database.html#a6d5d477e5e2d9557f0e284e917361a54',1,'lost::PairDistanceKVectorDatabase']]], + ['kmaxbrightness_618',['kMaxBrightness',['../namespacelost.html#a9b3311f3ebda1282ad7bf650de30cf45',1,'lost']]], + ['knodefaultargument_619',['kNoDefaultArgument',['../namespacelost.html#adbeb358ec7311bc89886a09aa017388c',1,'lost']]] ]; diff --git a/search/variables_a.js b/search/variables_a.js index 23cdc159..f249e38a 100644 --- a/search/variables_a.js +++ b/search/variables_a.js @@ -1,9 +1,8 @@ var searchData= [ - ['name_586',['name',['../classlost_1_1_catalog_star.html#a72d3cdf9c85caa2fc2819644862e26ee',1,'lost::CatalogStar']]], - ['numcorrect_587',['numCorrect',['../structlost_1_1_star_id_comparison.html#a188f3594728b5cf2ebf8a74c2e6ba01d',1,'lost::StarIdComparison']]], - ['numcorrectcentroids_588',['numCorrectCentroids',['../classlost_1_1_centroid_comparison.html#a69b42b7776ce7d288d15bf0ab1fceb55',1,'lost::CentroidComparison']]], - ['numextracentroids_589',['numExtraCentroids',['../classlost_1_1_centroid_comparison.html#a4105577ec96bf66b9a5003dcde18d557',1,'lost::CentroidComparison']]], - ['numincorrect_590',['numIncorrect',['../structlost_1_1_star_id_comparison.html#aba82ab6b00ac56a4536f9ac204639567',1,'lost::StarIdComparison']]], - ['numtotal_591',['numTotal',['../structlost_1_1_star_id_comparison.html#a8534ab9d04bf422ea323c1e65008dc10',1,'lost::StarIdComparison']]] + ['magicvalue_620',['magicValue',['../classlost_1_1_multi_database_entry.html#aeede63708b59ea0086338286eef438c8',1,'lost::MultiDatabaseEntry']]], + ['magnitude_621',['magnitude',['../classlost_1_1_catalog_star.html#aac362b166dd1a5cfe95e33a7e2d18e3a',1,'lost::CatalogStar::magnitude()'],['../classlost_1_1_star.html#aa39328327649f570b9008f08951af7bf',1,'lost::Star::magnitude()']]], + ['magsum_622',['magSum',['../structlost_1_1_centroid_params.html#aedcfd69a00c255c1e9166508ee5e58ff',1,'lost::CentroidParams']]], + ['maxintensity_623',['maxIntensity',['../structlost_1_1_i_w_co_g_params.html#a0b8ea8754acc0d8d48f6ef9cb1cc326c',1,'lost::IWCoGParams']]], + ['meanerror_624',['meanError',['../classlost_1_1_centroid_comparison.html#abf8602cb33542eb054672deafccfdde8',1,'lost::CentroidComparison']]] ]; diff --git a/search/variables_b.js b/search/variables_b.js index 108ae681..9f038f0e 100644 --- a/search/variables_b.js +++ b/search/variables_b.js @@ -1,5 +1,9 @@ var searchData= [ - ['peakbrightness_592',['peakBrightness',['../classlost_1_1_generated_star.html#aadcacbb1bf27616e20db9b86cde2e691',1,'lost::GeneratedStar']]], - ['position_593',['position',['../classlost_1_1_star.html#a8e9b2320d742fb5324397ac406c859ea',1,'lost::Star']]] + ['name_625',['name',['../classlost_1_1_catalog_star.html#a72d3cdf9c85caa2fc2819644862e26ee',1,'lost::CatalogStar']]], + ['numcorrect_626',['numCorrect',['../structlost_1_1_star_id_comparison.html#a188f3594728b5cf2ebf8a74c2e6ba01d',1,'lost::StarIdComparison']]], + ['numcorrectcentroids_627',['numCorrectCentroids',['../classlost_1_1_centroid_comparison.html#ab42870c8914b81b5ff27f8c8b6b5ec2b',1,'lost::CentroidComparison']]], + ['numextracentroids_628',['numExtraCentroids',['../classlost_1_1_centroid_comparison.html#a4083504bf6d2b92b060a614ecf203f1a',1,'lost::CentroidComparison']]], + ['numincorrect_629',['numIncorrect',['../structlost_1_1_star_id_comparison.html#aba82ab6b00ac56a4536f9ac204639567',1,'lost::StarIdComparison']]], + ['numtotal_630',['numTotal',['../structlost_1_1_star_id_comparison.html#a8534ab9d04bf422ea323c1e65008dc10',1,'lost::StarIdComparison']]] ]; diff --git a/search/variables_c.js b/search/variables_c.js index 801e18e5..2f91bff3 100644 --- a/search/variables_c.js +++ b/search/variables_c.js @@ -1,8 +1,5 @@ var searchData= [ - ['ra_594',['ra',['../classlost_1_1_euler_angles.html#a86cffd1e68a380145e5b684c7d7c2406',1,'lost::EulerAngles']]], - ['radiusx_595',['radiusX',['../classlost_1_1_star.html#ad7bcae53e6ad611b8fb436eeb159da98',1,'lost::Star']]], - ['radiusy_596',['radiusY',['../classlost_1_1_star.html#abb1ed64c90d4f6508fdd1e75923175d6',1,'lost::Star']]], - ['real_597',['real',['../classlost_1_1_quaternion.html#a93956549b0172d3a198a3100949c5b70',1,'lost::Quaternion']]], - ['roll_598',['roll',['../classlost_1_1_euler_angles.html#a224cfa3989b86edc65d0e6e96bc7b3ca',1,'lost::EulerAngles']]] + ['peakbrightness_631',['peakBrightness',['../classlost_1_1_generated_star.html#a1640005bdfe74569fe753009465524f8',1,'lost::GeneratedStar']]], + ['position_632',['position',['../classlost_1_1_star.html#a8e9b2320d742fb5324397ac406c859ea',1,'lost::Star']]] ]; diff --git a/search/variables_d.js b/search/variables_d.js index ea573222..02d1b4c7 100644 --- a/search/variables_d.js +++ b/search/variables_d.js @@ -1,11 +1,8 @@ var searchData= [ - ['spatial_599',['spatial',['../classlost_1_1_catalog_star.html#abd0b2df829476183297af1ac072c0802',1,'lost::CatalogStar']]], - ['star_600',['star',['../classlost_1_1_i_r_unidentified_centroid.html#a60b94d7e80d7e60c5a2d94d746f0362b',1,'lost::IRUnidentifiedCentroid']]], - ['starids_601',['starIds',['../structlost_1_1_pipeline_output.html#af5fb349aaee63e4e932069bc01743042',1,'lost::PipelineOutput']]], - ['staridtimens_602',['starIdTimeNs',['../structlost_1_1_pipeline_output.html#a7b5b37d2654b51a1c859866165481ce7',1,'lost::PipelineOutput']]], - ['starindex_603',['starIndex',['../classlost_1_1_star_identifier.html#afb04c9b116a8a67e31083d50e28cdce2',1,'lost::StarIdentifier']]], - ['stars_604',['stars',['../structlost_1_1_pipeline_output.html#a7743f8496f64299c8af36ac0ec080699',1,'lost::PipelineOutput']]], - ['swapfloatendianness_605',['swapFloatEndianness',['../classlost_1_1_serialize_context.html#ae3fb3b0e7864f28aed9403532f676d24',1,'lost::SerializeContext']]], - ['swapintegerendianness_606',['swapIntegerEndianness',['../classlost_1_1_serialize_context.html#a93856379ded65d82189d464c8a384596',1,'lost::SerializeContext']]] + ['ra_633',['ra',['../classlost_1_1_euler_angles.html#ae52017b1b9cc1063704bcc2b25500783',1,'lost::EulerAngles']]], + ['radiusx_634',['radiusX',['../classlost_1_1_star.html#a9cb9dd9f12c0e538eb55c0775505158a',1,'lost::Star']]], + ['radiusy_635',['radiusY',['../classlost_1_1_star.html#a1773623d5ae06132be712c11eaff2844',1,'lost::Star']]], + ['real_636',['real',['../classlost_1_1_quaternion.html#aba059c6fa2c2f4df17eecf36d12050d7',1,'lost::Quaternion']]], + ['roll_637',['roll',['../classlost_1_1_euler_angles.html#a7965e0a2c260109c23c85f120b9db75f',1,'lost::EulerAngles']]] ]; diff --git a/search/variables_e.js b/search/variables_e.js index 7ef71340..242f67da 100644 --- a/search/variables_e.js +++ b/search/variables_e.js @@ -1,5 +1,11 @@ var searchData= [ - ['weight_607',['weight',['../classlost_1_1_star_identifier.html#afaace9db445eee4b7ff239fbb71bba57',1,'lost::StarIdentifier']]], - ['width_608',['width',['../classlost_1_1_image.html#af450eb35614041beeb2bec120aac739e',1,'lost::Image']]] + ['spatial_638',['spatial',['../classlost_1_1_catalog_star.html#abd0b2df829476183297af1ac072c0802',1,'lost::CatalogStar']]], + ['star_639',['star',['../classlost_1_1_i_r_unidentified_centroid.html#a60b94d7e80d7e60c5a2d94d746f0362b',1,'lost::IRUnidentifiedCentroid']]], + ['starids_640',['starIds',['../structlost_1_1_pipeline_output.html#af5fb349aaee63e4e932069bc01743042',1,'lost::PipelineOutput']]], + ['staridtimens_641',['starIdTimeNs',['../structlost_1_1_pipeline_output.html#a7b5b37d2654b51a1c859866165481ce7',1,'lost::PipelineOutput']]], + ['starindex_642',['starIndex',['../classlost_1_1_star_identifier.html#afb04c9b116a8a67e31083d50e28cdce2',1,'lost::StarIdentifier']]], + ['stars_643',['stars',['../structlost_1_1_pipeline_output.html#a7743f8496f64299c8af36ac0ec080699',1,'lost::PipelineOutput']]], + ['swapdecimalendianness_644',['swapDecimalEndianness',['../classlost_1_1_serialize_context.html#a336ba4abc0106fd590f9eae9dbb16f04',1,'lost::SerializeContext']]], + ['swapintegerendianness_645',['swapIntegerEndianness',['../classlost_1_1_serialize_context.html#a93856379ded65d82189d464c8a384596',1,'lost::SerializeContext']]] ]; diff --git a/search/variables_f.js b/search/variables_f.js index 0cfcd6d9..5558b759 100644 --- a/search/variables_f.js +++ b/search/variables_f.js @@ -1,7 +1,5 @@ var searchData= [ - ['x_609',['x',['../structlost_1_1_vec2.html#a9a9c151101dbb57060873e8af18927af',1,'lost::Vec2::x()'],['../classlost_1_1_vec3.html#a97adb523973ae539a5d8963d78569618',1,'lost::Vec3::x()'],['../classlost_1_1_mat3.html#a4c1fc3f0ab4ec06bc0dab5585eca306b',1,'lost::Mat3::x()']]], - ['xcoordmagsum_610',['xCoordMagSum',['../structlost_1_1_centroid_params.html#ac340f612012e1f6b172cb40fcfa9ae08',1,'lost::CentroidParams']]], - ['xmax_611',['xMax',['../structlost_1_1_centroid_params.html#acb5e6b2f74543a8d99c79820a5a3fae5',1,'lost::CentroidParams::xMax()'],['../structlost_1_1_i_w_co_g_params.html#a11bd1f88de67d8009ab086d92eb154e1',1,'lost::IWCoGParams::xMax()']]], - ['xmin_612',['xMin',['../structlost_1_1_centroid_params.html#a1ad1a1cdb476e0a0be922b01306c4f01',1,'lost::CentroidParams::xMin()'],['../structlost_1_1_i_w_co_g_params.html#a2b90aeb4c5fe0b2569692b18114bb6d7',1,'lost::IWCoGParams::xMin()']]] + ['weight_646',['weight',['../classlost_1_1_star_identifier.html#a09370ad7bc81de5a82c049d6cc64f0d3',1,'lost::StarIdentifier']]], + ['width_647',['width',['../classlost_1_1_image.html#af450eb35614041beeb2bec120aac739e',1,'lost::Image']]] ]; diff --git a/serialize-helpers_8hpp.html b/serialize-helpers_8hpp.html index a840bd76..39f7b53e 100644 --- a/serialize-helpers_8hpp.html +++ b/serialize-helpers_8hpp.html @@ -95,16 +95,20 @@ #include <utility>
                                                                                                                                                                            #include <vector>
                                                                                                                                                                            #include <algorithm>
                                                                                                                                                                            +#include "decimal.hpp"

                                                                                                                                                                          Include dependency graph for serialize-helpers.hpp:
                                                                                                                                                                          - + + + +
                                                                                                                                                                          @@ -159,12 +163,9 @@ void lost::SwapEndiannessIfNecessary (unsigned char *buffer, SerializeContext *ser)  Swap the endianness of a value if necessary. More...
                                                                                                                                                                            -template<> -void lost::SwapEndiannessIfNecessary< float > (unsigned char *buffer, SerializeContext *ser) -  -template<> -void lost::SwapEndiannessIfNecessary< double > (unsigned char *buffer, SerializeContext *ser) -  +template<> +void lost::SwapEndiannessIfNecessary< decimal > (unsigned char *buffer, SerializeContext *ser) +  template<typename T > void lost::DeserializePadding (DeserializeContext *des)  Move the cursor forward past any padding that would appear before a value of type T. More...
                                                                                                                                                                          @@ -189,7 +190,7 @@ diff --git a/serialize-helpers_8hpp.js b/serialize-helpers_8hpp.js index 027a1119..7b53a070 100644 --- a/serialize-helpers_8hpp.js +++ b/serialize-helpers_8hpp.js @@ -9,6 +9,5 @@ var serialize_helpers_8hpp = [ "SerializePrimitive", "serialize-helpers_8hpp.html#a9af0427ae10a3db5529f2f8c74497347", null ], [ "SwapEndianness", "serialize-helpers_8hpp.html#aaa3aa9350f84fa1b7725b5e3de8483ba", null ], [ "SwapEndiannessIfNecessary", "serialize-helpers_8hpp.html#a9704a9fb2cf67873155e69407a976074", null ], - [ "SwapEndiannessIfNecessary< double >", "serialize-helpers_8hpp.html#a716dcaf4d1704aa422252fcbc182e259", null ], - [ "SwapEndiannessIfNecessary< float >", "serialize-helpers_8hpp.html#a86727674f19d3158cb894b4518433477", null ] + [ "SwapEndiannessIfNecessary< decimal >", "serialize-helpers_8hpp.html#a3493422e7893b68e566182e4e2372a6e", null ] ]; \ No newline at end of file diff --git a/serialize-helpers_8hpp__incl.map b/serialize-helpers_8hpp__incl.map index 71a4003e..bd35393b 100644 --- a/serialize-helpers_8hpp__incl.map +++ b/serialize-helpers_8hpp__incl.map @@ -1,7 +1,10 @@ - + + + + diff --git a/serialize-helpers_8hpp__incl.md5 b/serialize-helpers_8hpp__incl.md5 index ce156e1c..419c3c75 100644 --- a/serialize-helpers_8hpp__incl.md5 +++ b/serialize-helpers_8hpp__incl.md5 @@ -1 +1 @@ -9f89364d03e722f27c98553471c71506 \ No newline at end of file +8ad35875ec86d1cf5c61abec84e5c8cb \ No newline at end of file diff --git a/serialize-helpers_8hpp__incl.png b/serialize-helpers_8hpp__incl.png index 9cef6752..a468a20b 100644 Binary files a/serialize-helpers_8hpp__incl.png and b/serialize-helpers_8hpp__incl.png differ diff --git a/serialize-helpers_8hpp_source.html b/serialize-helpers_8hpp_source.html index e0f1988e..22e5ee9f 100644 --- a/serialize-helpers_8hpp_source.html +++ b/serialize-helpers_8hpp_source.html @@ -97,139 +97,134 @@
                                                                                                                                                                          23 #include <vector>
                                                                                                                                                                          24 #include <algorithm>
                                                                                                                                                                          25 
                                                                                                                                                                          -
                                                                                                                                                                          26 namespace lost {
                                                                                                                                                                          +
                                                                                                                                                                          26 #include "decimal.hpp"
                                                                                                                                                                          27 
                                                                                                                                                                          - -
                                                                                                                                                                          29 public:
                                                                                                                                                                          - - -
                                                                                                                                                                          32  SerializeContext() : SerializeContext(false, false) { }
                                                                                                                                                                          -
                                                                                                                                                                          33 
                                                                                                                                                                          - - -
                                                                                                                                                                          36  std::vector<unsigned char> buffer;
                                                                                                                                                                          -
                                                                                                                                                                          37 };
                                                                                                                                                                          -
                                                                                                                                                                          38 
                                                                                                                                                                          - -
                                                                                                                                                                          40 public:
                                                                                                                                                                          -
                                                                                                                                                                          41  explicit DeserializeContext(const unsigned char *buffer) : buffer(buffer), cursor(buffer) { }
                                                                                                                                                                          -
                                                                                                                                                                          42 
                                                                                                                                                                          -
                                                                                                                                                                          43  size_t GetOffset() const {
                                                                                                                                                                          -
                                                                                                                                                                          44  return cursor - buffer;
                                                                                                                                                                          -
                                                                                                                                                                          45  }
                                                                                                                                                                          -
                                                                                                                                                                          46 
                                                                                                                                                                          -
                                                                                                                                                                          47  void MoveForward(size_t howMuch) {
                                                                                                                                                                          -
                                                                                                                                                                          48  cursor += howMuch;
                                                                                                                                                                          -
                                                                                                                                                                          49  }
                                                                                                                                                                          -
                                                                                                                                                                          50 
                                                                                                                                                                          -
                                                                                                                                                                          51  const unsigned char *GetCursor() {
                                                                                                                                                                          -
                                                                                                                                                                          52  return cursor;
                                                                                                                                                                          -
                                                                                                                                                                          53  }
                                                                                                                                                                          -
                                                                                                                                                                          54 
                                                                                                                                                                          -
                                                                                                                                                                          55 private:
                                                                                                                                                                          -
                                                                                                                                                                          56  const unsigned char *buffer;
                                                                                                                                                                          -
                                                                                                                                                                          57  const unsigned char *cursor;
                                                                                                                                                                          -
                                                                                                                                                                          58 };
                                                                                                                                                                          -
                                                                                                                                                                          59 
                                                                                                                                                                          -
                                                                                                                                                                          61 template <typename T>
                                                                                                                                                                          -
                                                                                                                                                                          62 void SwapEndianness(unsigned char *buffer) {
                                                                                                                                                                          -
                                                                                                                                                                          63  for (int i = 0; i < (int)(sizeof(T)/2); i++) {
                                                                                                                                                                          -
                                                                                                                                                                          64  std::swap(buffer[i], buffer[sizeof(T)-1-i]);
                                                                                                                                                                          -
                                                                                                                                                                          65  }
                                                                                                                                                                          -
                                                                                                                                                                          66 }
                                                                                                                                                                          -
                                                                                                                                                                          67 
                                                                                                                                                                          -
                                                                                                                                                                          71 template <typename T>
                                                                                                                                                                          -
                                                                                                                                                                          72 void SwapEndiannessIfNecessary(unsigned char *buffer, SerializeContext *ser) {
                                                                                                                                                                          -
                                                                                                                                                                          73  if (ser->swapIntegerEndianness) {
                                                                                                                                                                          -
                                                                                                                                                                          74  SwapEndianness<T>(buffer);
                                                                                                                                                                          -
                                                                                                                                                                          75  }
                                                                                                                                                                          -
                                                                                                                                                                          76 }
                                                                                                                                                                          -
                                                                                                                                                                          77 
                                                                                                                                                                          -
                                                                                                                                                                          78 // template specializations
                                                                                                                                                                          +
                                                                                                                                                                          28 namespace lost {
                                                                                                                                                                          +
                                                                                                                                                                          29 
                                                                                                                                                                          + +
                                                                                                                                                                          31 public:
                                                                                                                                                                          + + +
                                                                                                                                                                          34  SerializeContext() : SerializeContext(false, false) { }
                                                                                                                                                                          +
                                                                                                                                                                          35 
                                                                                                                                                                          + + +
                                                                                                                                                                          38  std::vector<unsigned char> buffer;
                                                                                                                                                                          +
                                                                                                                                                                          39 };
                                                                                                                                                                          +
                                                                                                                                                                          40 
                                                                                                                                                                          + +
                                                                                                                                                                          42 public:
                                                                                                                                                                          +
                                                                                                                                                                          43  explicit DeserializeContext(const unsigned char *buffer) : buffer(buffer), cursor(buffer) { }
                                                                                                                                                                          +
                                                                                                                                                                          44 
                                                                                                                                                                          +
                                                                                                                                                                          45  size_t GetOffset() const {
                                                                                                                                                                          +
                                                                                                                                                                          46  return cursor - buffer;
                                                                                                                                                                          +
                                                                                                                                                                          47  }
                                                                                                                                                                          +
                                                                                                                                                                          48 
                                                                                                                                                                          +
                                                                                                                                                                          49  void MoveForward(size_t howMuch) {
                                                                                                                                                                          +
                                                                                                                                                                          50  cursor += howMuch;
                                                                                                                                                                          +
                                                                                                                                                                          51  }
                                                                                                                                                                          +
                                                                                                                                                                          52 
                                                                                                                                                                          +
                                                                                                                                                                          53  const unsigned char *GetCursor() {
                                                                                                                                                                          +
                                                                                                                                                                          54  return cursor;
                                                                                                                                                                          +
                                                                                                                                                                          55  }
                                                                                                                                                                          +
                                                                                                                                                                          56 
                                                                                                                                                                          +
                                                                                                                                                                          57 private:
                                                                                                                                                                          +
                                                                                                                                                                          58  const unsigned char *buffer;
                                                                                                                                                                          +
                                                                                                                                                                          59  const unsigned char *cursor;
                                                                                                                                                                          +
                                                                                                                                                                          60 };
                                                                                                                                                                          +
                                                                                                                                                                          61 
                                                                                                                                                                          +
                                                                                                                                                                          63 template <typename T>
                                                                                                                                                                          +
                                                                                                                                                                          64 void SwapEndianness(unsigned char *buffer) {
                                                                                                                                                                          +
                                                                                                                                                                          65  for (int i = 0; i < (int)(sizeof(T)/2); i++) {
                                                                                                                                                                          +
                                                                                                                                                                          66  std::swap(buffer[i], buffer[sizeof(T)-1-i]);
                                                                                                                                                                          +
                                                                                                                                                                          67  }
                                                                                                                                                                          +
                                                                                                                                                                          68 }
                                                                                                                                                                          +
                                                                                                                                                                          69 
                                                                                                                                                                          +
                                                                                                                                                                          73 template <typename T>
                                                                                                                                                                          +
                                                                                                                                                                          74 void SwapEndiannessIfNecessary(unsigned char *buffer, SerializeContext *ser) {
                                                                                                                                                                          +
                                                                                                                                                                          75  if (ser->swapIntegerEndianness) {
                                                                                                                                                                          +
                                                                                                                                                                          76  SwapEndianness<T>(buffer);
                                                                                                                                                                          +
                                                                                                                                                                          77  }
                                                                                                                                                                          +
                                                                                                                                                                          78 }
                                                                                                                                                                          79 
                                                                                                                                                                          -
                                                                                                                                                                          80 template <>
                                                                                                                                                                          -
                                                                                                                                                                          81 inline void SwapEndiannessIfNecessary<float>(unsigned char *buffer, SerializeContext *ser) {
                                                                                                                                                                          -
                                                                                                                                                                          82  if (ser->swapFloatEndianness) {
                                                                                                                                                                          -
                                                                                                                                                                          83  SwapEndianness<float>(buffer);
                                                                                                                                                                          -
                                                                                                                                                                          84  }
                                                                                                                                                                          -
                                                                                                                                                                          85 }
                                                                                                                                                                          -
                                                                                                                                                                          86 
                                                                                                                                                                          -
                                                                                                                                                                          87 template <>
                                                                                                                                                                          -
                                                                                                                                                                          88 inline void SwapEndiannessIfNecessary<double>(unsigned char *buffer, SerializeContext *ser) {
                                                                                                                                                                          -
                                                                                                                                                                          89  if (ser->swapFloatEndianness) {
                                                                                                                                                                          -
                                                                                                                                                                          90  SwapEndianness<double>(buffer);
                                                                                                                                                                          -
                                                                                                                                                                          91  }
                                                                                                                                                                          -
                                                                                                                                                                          92 }
                                                                                                                                                                          -
                                                                                                                                                                          93 
                                                                                                                                                                          +
                                                                                                                                                                          80 // template specializations
                                                                                                                                                                          +
                                                                                                                                                                          81 
                                                                                                                                                                          +
                                                                                                                                                                          82 template <>
                                                                                                                                                                          +
                                                                                                                                                                          83 inline void SwapEndiannessIfNecessary<decimal>(unsigned char *buffer, SerializeContext *ser) {
                                                                                                                                                                          +
                                                                                                                                                                          84  if (ser->swapDecimalEndianness) {
                                                                                                                                                                          +
                                                                                                                                                                          85  SwapEndianness<decimal>(buffer);
                                                                                                                                                                          +
                                                                                                                                                                          86  }
                                                                                                                                                                          +
                                                                                                                                                                          87 }
                                                                                                                                                                          +
                                                                                                                                                                          88 
                                                                                                                                                                          +
                                                                                                                                                                          90 template <typename T>
                                                                                                                                                                          + +
                                                                                                                                                                          92  des->MoveForward((sizeof(T) - des->GetOffset()%sizeof(T))%sizeof(T));
                                                                                                                                                                          +
                                                                                                                                                                          93 }
                                                                                                                                                                          +
                                                                                                                                                                          94 
                                                                                                                                                                          95 template <typename T>
                                                                                                                                                                          - -
                                                                                                                                                                          97  des->MoveForward((sizeof(T) - des->GetOffset()%sizeof(T))%sizeof(T));
                                                                                                                                                                          -
                                                                                                                                                                          98 }
                                                                                                                                                                          -
                                                                                                                                                                          99 
                                                                                                                                                                          -
                                                                                                                                                                          100 template <typename T>
                                                                                                                                                                          - -
                                                                                                                                                                          102  DeserializePadding<T>(des);
                                                                                                                                                                          -
                                                                                                                                                                          103  const T *result = (T *)des->GetCursor(); // endianness should have been taken care of during serialization
                                                                                                                                                                          -
                                                                                                                                                                          104  des->MoveForward(sizeof(T));
                                                                                                                                                                          -
                                                                                                                                                                          105  return *result;
                                                                                                                                                                          -
                                                                                                                                                                          106 }
                                                                                                                                                                          -
                                                                                                                                                                          107 
                                                                                                                                                                          -
                                                                                                                                                                          109 template <typename T>
                                                                                                                                                                          -
                                                                                                                                                                          110 const T *DeserializeArray(DeserializeContext *des, long arrLength) {
                                                                                                                                                                          -
                                                                                                                                                                          111  DeserializePadding<T>(des); // Perhaps we should always 8-align arrays? Does that possibly make
                                                                                                                                                                          -
                                                                                                                                                                          112  // any offset calculation or accesses faster?
                                                                                                                                                                          -
                                                                                                                                                                          113  const T *result = (T *)des->GetCursor();
                                                                                                                                                                          -
                                                                                                                                                                          114  des->MoveForward(sizeof(T)*arrLength);
                                                                                                                                                                          -
                                                                                                                                                                          115  return result;
                                                                                                                                                                          -
                                                                                                                                                                          116 }
                                                                                                                                                                          -
                                                                                                                                                                          117 
                                                                                                                                                                          -
                                                                                                                                                                          118 template <typename T>
                                                                                                                                                                          - -
                                                                                                                                                                          120  for (int i = ser->buffer.size(); i%sizeof(T) != 0; i++) {
                                                                                                                                                                          -
                                                                                                                                                                          121  ser->buffer.push_back(0);
                                                                                                                                                                          -
                                                                                                                                                                          122  }
                                                                                                                                                                          -
                                                                                                                                                                          123 }
                                                                                                                                                                          -
                                                                                                                                                                          124 
                                                                                                                                                                          -
                                                                                                                                                                          125 template <typename T>
                                                                                                                                                                          -
                                                                                                                                                                          126 void SerializePrimitive(SerializeContext *ser, const T &val) {
                                                                                                                                                                          -
                                                                                                                                                                          127  unsigned char buf[sizeof(T)];
                                                                                                                                                                          -
                                                                                                                                                                          128  memcpy(&buf, &val, sizeof(T));
                                                                                                                                                                          -
                                                                                                                                                                          129  SwapEndiannessIfNecessary<T>(buf, ser);
                                                                                                                                                                          -
                                                                                                                                                                          130  SerializePadding<T>(ser);
                                                                                                                                                                          -
                                                                                                                                                                          131  std::copy(buf, buf+sizeof(T), std::back_inserter(ser->buffer));
                                                                                                                                                                          -
                                                                                                                                                                          132 }
                                                                                                                                                                          -
                                                                                                                                                                          133 
                                                                                                                                                                          -
                                                                                                                                                                          134 }
                                                                                                                                                                          -
                                                                                                                                                                          135 
                                                                                                                                                                          -
                                                                                                                                                                          136 #endif
                                                                                                                                                                          - - -
                                                                                                                                                                          DeserializeContext(const unsigned char *buffer)
                                                                                                                                                                          -
                                                                                                                                                                          const unsigned char * GetCursor()
                                                                                                                                                                          -
                                                                                                                                                                          void MoveForward(size_t howMuch)
                                                                                                                                                                          - - -
                                                                                                                                                                          SerializeContext(bool swapIntegerEndianness, bool swapFloatEndianness)
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< unsigned char > buffer
                                                                                                                                                                          - - -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          -
                                                                                                                                                                          void SerializePadding(SerializeContext *ser)
                                                                                                                                                                          -
                                                                                                                                                                          void SwapEndiannessIfNecessary< double >(unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                          -
                                                                                                                                                                          T DeserializePrimitive(DeserializeContext *des)
                                                                                                                                                                          -
                                                                                                                                                                          void SwapEndiannessIfNecessary< float >(unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                          -
                                                                                                                                                                          void SwapEndiannessIfNecessary(unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                          Swap the endianness of a value if necessary.
                                                                                                                                                                          -
                                                                                                                                                                          void SerializePrimitive(SerializeContext *ser, const T &val)
                                                                                                                                                                          -
                                                                                                                                                                          void SwapEndianness(unsigned char *buffer)
                                                                                                                                                                          Unconditionally swap the endianness of a value (uses sizeof T).
                                                                                                                                                                          -
                                                                                                                                                                          void DeserializePadding(DeserializeContext *des)
                                                                                                                                                                          Move the cursor forward past any padding that would appear before a value of type T.
                                                                                                                                                                          -
                                                                                                                                                                          const T * DeserializeArray(DeserializeContext *des, long arrLength)
                                                                                                                                                                          return an array of items as a pointer. Will point into the buffer (mmap style).
                                                                                                                                                                          + +
                                                                                                                                                                          97  DeserializePadding<T>(des);
                                                                                                                                                                          +
                                                                                                                                                                          98  const T *result = (T *)des->GetCursor(); // endianness should have been taken care of during serialization
                                                                                                                                                                          +
                                                                                                                                                                          99  des->MoveForward(sizeof(T));
                                                                                                                                                                          +
                                                                                                                                                                          100  return *result;
                                                                                                                                                                          +
                                                                                                                                                                          101 }
                                                                                                                                                                          +
                                                                                                                                                                          102 
                                                                                                                                                                          +
                                                                                                                                                                          104 template <typename T>
                                                                                                                                                                          +
                                                                                                                                                                          105 const T *DeserializeArray(DeserializeContext *des, long arrLength) {
                                                                                                                                                                          +
                                                                                                                                                                          106  DeserializePadding<T>(des); // Perhaps we should always 8-align arrays? Does that possibly make
                                                                                                                                                                          +
                                                                                                                                                                          107  // any offset calculation or accesses faster?
                                                                                                                                                                          +
                                                                                                                                                                          108  const T *result = (T *)des->GetCursor();
                                                                                                                                                                          +
                                                                                                                                                                          109  des->MoveForward(sizeof(T)*arrLength);
                                                                                                                                                                          +
                                                                                                                                                                          110  return result;
                                                                                                                                                                          +
                                                                                                                                                                          111 }
                                                                                                                                                                          +
                                                                                                                                                                          112 
                                                                                                                                                                          +
                                                                                                                                                                          113 template <typename T>
                                                                                                                                                                          + +
                                                                                                                                                                          115  for (int i = ser->buffer.size(); i%sizeof(T) != 0; i++) {
                                                                                                                                                                          +
                                                                                                                                                                          116  ser->buffer.push_back(0);
                                                                                                                                                                          +
                                                                                                                                                                          117  }
                                                                                                                                                                          +
                                                                                                                                                                          118 }
                                                                                                                                                                          +
                                                                                                                                                                          119 
                                                                                                                                                                          +
                                                                                                                                                                          120 template <typename T>
                                                                                                                                                                          +
                                                                                                                                                                          121 void SerializePrimitive(SerializeContext *ser, const T &val) {
                                                                                                                                                                          +
                                                                                                                                                                          122  unsigned char buf[sizeof(T)];
                                                                                                                                                                          +
                                                                                                                                                                          123  memcpy(&buf, &val, sizeof(T));
                                                                                                                                                                          +
                                                                                                                                                                          124  SwapEndiannessIfNecessary<T>(buf, ser);
                                                                                                                                                                          +
                                                                                                                                                                          125  SerializePadding<T>(ser);
                                                                                                                                                                          +
                                                                                                                                                                          126  std::copy(buf, buf+sizeof(T), std::back_inserter(ser->buffer));
                                                                                                                                                                          +
                                                                                                                                                                          127 }
                                                                                                                                                                          +
                                                                                                                                                                          128 
                                                                                                                                                                          +
                                                                                                                                                                          129 }
                                                                                                                                                                          +
                                                                                                                                                                          130 
                                                                                                                                                                          +
                                                                                                                                                                          131 #endif
                                                                                                                                                                          + + +
                                                                                                                                                                          DeserializeContext(const unsigned char *buffer)
                                                                                                                                                                          +
                                                                                                                                                                          const unsigned char * GetCursor()
                                                                                                                                                                          +
                                                                                                                                                                          void MoveForward(size_t howMuch)
                                                                                                                                                                          + + + +
                                                                                                                                                                          std::vector< unsigned char > buffer
                                                                                                                                                                          + +
                                                                                                                                                                          SerializeContext(bool swapIntegerEndianness, bool swapDecimalEndianness)
                                                                                                                                                                          + +
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          void SerializePadding(SerializeContext *ser)
                                                                                                                                                                          +
                                                                                                                                                                          void SwapEndiannessIfNecessary< decimal >(unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                          +
                                                                                                                                                                          T DeserializePrimitive(DeserializeContext *des)
                                                                                                                                                                          +
                                                                                                                                                                          void SwapEndiannessIfNecessary(unsigned char *buffer, SerializeContext *ser)
                                                                                                                                                                          Swap the endianness of a value if necessary.
                                                                                                                                                                          +
                                                                                                                                                                          void SerializePrimitive(SerializeContext *ser, const T &val)
                                                                                                                                                                          +
                                                                                                                                                                          void SwapEndianness(unsigned char *buffer)
                                                                                                                                                                          Unconditionally swap the endianness of a value (uses sizeof T).
                                                                                                                                                                          +
                                                                                                                                                                          void DeserializePadding(DeserializeContext *des)
                                                                                                                                                                          Move the cursor forward past any padding that would appear before a value of type T.
                                                                                                                                                                          +
                                                                                                                                                                          const T * DeserializeArray(DeserializeContext *des, long arrLength)
                                                                                                                                                                          return an array of items as a pointer. Will point into the buffer (mmap style).

                                                                                                                                                                          diff --git a/star-id-private_8hpp.html b/star-id-private_8hpp.html index ca74cf38..6e8ae42a 100644 --- a/star-id-private_8hpp.html +++ b/star-id-private_8hpp.html @@ -101,23 +101,26 @@
                                                                                                                                                                          - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
                                                                                                                                                                          @@ -146,12 +149,12 @@ - - - - - - + + + + + +

                                                                                                                                                                          Functions

                                                                                                                                                                          std::vector< int16_t > lost::IdentifyThirdStar (const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, float distance1, float distance2, float tolerance)
                                                                                                                                                                           Given two already-identified centroids, and the distance from each to an as-yet unidentified third centroid, return a list of candidate catalog stars that could be the third centroid. More...
                                                                                                                                                                           
                                                                                                                                                                          int lost::IdentifyRemainingStarsPairDistance (StarIdentifiers *identifiers, const Stars &stars, const PairDistanceKVectorDatabase &db, const Catalog &catalog, const Camera &camera, float tolerance)
                                                                                                                                                                           Given some identified stars, attempt to identify the rest. More...
                                                                                                                                                                           
                                                                                                                                                                          std::vector< int16_t > lost::IdentifyThirdStar (const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, decimal distance1, decimal distance2, decimal tolerance)
                                                                                                                                                                           Given two already-identified centroids, and the distance from each to an as-yet unidentified third centroid, return a list of candidate catalog stars that could be the third centroid. More...
                                                                                                                                                                           
                                                                                                                                                                          int lost::IdentifyRemainingStarsPairDistance (StarIdentifiers *identifiers, const Stars &stars, const PairDistanceKVectorDatabase &db, const Catalog &catalog, const Camera &camera, decimal tolerance)
                                                                                                                                                                           Given some identified stars, attempt to identify the rest. More...
                                                                                                                                                                           
                                                                                                                                                                          @@ -159,7 +162,7 @@ diff --git a/star-id-private_8hpp.js b/star-id-private_8hpp.js index bc638caf..26276b4e 100644 --- a/star-id-private_8hpp.js +++ b/star-id-private_8hpp.js @@ -1,6 +1,6 @@ var star_id_private_8hpp = [ [ "IRUnidentifiedCentroid", "classlost_1_1_i_r_unidentified_centroid.html", "classlost_1_1_i_r_unidentified_centroid" ], - [ "IdentifyRemainingStarsPairDistance", "star-id-private_8hpp.html#adb9048b631cf1af6c33af2b0dca53c41", null ], - [ "IdentifyThirdStar", "star-id-private_8hpp.html#a6271e89ec246219f15d27942b98c8877", null ] + [ "IdentifyRemainingStarsPairDistance", "star-id-private_8hpp.html#a788b77a0d64ad007d1f71778cfc91a4e", null ], + [ "IdentifyThirdStar", "star-id-private_8hpp.html#a95cb98b7b4a9224b281e8ebf8f83acd4", null ] ]; \ No newline at end of file diff --git a/star-id-private_8hpp__incl.map b/star-id-private_8hpp__incl.map index 7beeef3e..724a0bfb 100644 --- a/star-id-private_8hpp__incl.map +++ b/star-id-private_8hpp__incl.map @@ -1,19 +1,22 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/star-id-private_8hpp__incl.md5 b/star-id-private_8hpp__incl.md5 index 0fda9eb2..56470edc 100644 --- a/star-id-private_8hpp__incl.md5 +++ b/star-id-private_8hpp__incl.md5 @@ -1 +1 @@ -4216a86158b03a428e21610a0ce1bd5e \ No newline at end of file +8b3dc2bb88396585c58792b33313c184 \ No newline at end of file diff --git a/star-id-private_8hpp__incl.png b/star-id-private_8hpp__incl.png index 7b0a4dd5..bdc95346 100644 Binary files a/star-id-private_8hpp__incl.png and b/star-id-private_8hpp__incl.png differ diff --git a/star-id-private_8hpp_source.html b/star-id-private_8hpp_source.html index 4796deac..ba7fc540 100644 --- a/star-id-private_8hpp_source.html +++ b/star-id-private_8hpp_source.html @@ -104,7 +104,7 @@
                                                                                                                                                                          18 public:
                                                                                                                                                                          -
                                                                                                                                                                          20  : bestAngleFrom90(std::numeric_limits<float>::max()), // should be infinity
                                                                                                                                                                          +
                                                                                                                                                                          20  : bestAngleFrom90(std::numeric_limits<decimal>::max()), // should be infinity
                                                                                                                                                                          21  bestStar1(0,0), bestStar2(0,0),
                                                                                                                                                                          22  index(index),
                                                                                                                                                                          23  star(&star) {
                                                                                                                                                                          @@ -116,7 +116,7 @@
                                                                                                                                                                          29  : bestStar1(0,0), bestStar2(0,0),
                                                                                                                                                                          30  index(-1) { }
                                                                                                                                                                          31 
                                                                                                                                                                          - +
                                                                                                                                                                          35  int16_t index;
                                                                                                                                                                          @@ -124,27 +124,27 @@
                                                                                                                                                                          37 
                                                                                                                                                                          38 private:
                                                                                                                                                                          39  // possible improvement: Use a tree map here to allow binary search
                                                                                                                                                                          -
                                                                                                                                                                          40  std::vector<std::pair<float, StarIdentifier>> identifiedStarsInRange;
                                                                                                                                                                          +
                                                                                                                                                                          40  std::vector<std::pair<decimal, StarIdentifier>> identifiedStarsInRange;
                                                                                                                                                                          41 
                                                                                                                                                                          42 private:
                                                                                                                                                                          -
                                                                                                                                                                          43  float VerticalAnglesToAngleFrom90(float v1, float v2);
                                                                                                                                                                          +
                                                                                                                                                                          43  decimal VerticalAnglesToAngleFrom90(decimal v1, decimal v2);
                                                                                                                                                                          44 
                                                                                                                                                                          45 public:
                                                                                                                                                                          46  void AddIdentifiedStar(const StarIdentifier &starId, const Stars &stars);
                                                                                                                                                                          47 };
                                                                                                                                                                          48 
                                                                                                                                                                          -
                                                                                                                                                                          49 std::vector<int16_t> IdentifyThirdStar(const PairDistanceKVectorDatabase &db,
                                                                                                                                                                          +
                                                                                                                                                                          49 std::vector<int16_t> IdentifyThirdStar(const PairDistanceKVectorDatabase &db,
                                                                                                                                                                          50  const Catalog &catalog,
                                                                                                                                                                          51  int16_t catalogIndex1, int16_t catalogIndex2,
                                                                                                                                                                          -
                                                                                                                                                                          52  float distance1, float distance2,
                                                                                                                                                                          -
                                                                                                                                                                          53  float tolerance);
                                                                                                                                                                          +
                                                                                                                                                                          52  decimal distance1, decimal distance2,
                                                                                                                                                                          +
                                                                                                                                                                          53  decimal tolerance);
                                                                                                                                                                          54 
                                                                                                                                                                          - +
                                                                                                                                                                          56  const Stars &,
                                                                                                                                                                          58  const Catalog &,
                                                                                                                                                                          59  const Camera &,
                                                                                                                                                                          -
                                                                                                                                                                          60  float tolerance);
                                                                                                                                                                          +
                                                                                                                                                                          60  decimal tolerance);
                                                                                                                                                                          61 
                                                                                                                                                                          62 }
                                                                                                                                                                          63 
                                                                                                                                                                          @@ -158,16 +158,17 @@
                                                                                                                                                                          void AddIdentifiedStar(const StarIdentifier &starId, const Stars &stars)
                                                                                                                                                                          When a centroid within range of this centroid is identified, call this function.
                                                                                                                                                                          Definition: star-id.cpp:276
                                                                                                                                                                          StarIdentifier bestStar2
                                                                                                                                                                          One star corresponding to bestAngleFrom90.
                                                                                                                                                                          int16_t index
                                                                                                                                                                          The other star corresponding to bestAngleFrom90.
                                                                                                                                                                          - -
                                                                                                                                                                          A database storing distances between pairs of stars.
                                                                                                                                                                          Definition: databases.hpp:52
                                                                                                                                                                          + +
                                                                                                                                                                          A database storing distances between pairs of stars.
                                                                                                                                                                          Definition: databases.hpp:54
                                                                                                                                                                          A "centroid" detected in an image.
                                                                                                                                                                          Definition: star-utils.hpp:49
                                                                                                                                                                          Records that a certain Star (detected in the image) corresponds to a certain CatalogStar.
                                                                                                                                                                          Definition: star-utils.hpp:78
                                                                                                                                                                          -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          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< int16_t > IdentifyThirdStar(const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, float distance1, float distance2, float tolerance)
                                                                                                                                                                          Given two already-identified centroids, and the distance from each to an as-yet unidentified third ce...
                                                                                                                                                                          Definition: star-id.cpp:384
                                                                                                                                                                          -
                                                                                                                                                                          int IdentifyRemainingStarsPairDistance(StarIdentifiers *, const Stars &, const PairDistanceKVectorDatabase &, const Catalog &, const Camera &, float tolerance)
                                                                                                                                                                          Given some identified stars, attempt to identify the rest.
                                                                                                                                                                          Definition: star-id.cpp:461
                                                                                                                                                                          +
                                                                                                                                                                          int IdentifyRemainingStarsPairDistance(StarIdentifiers *, const Stars &, const PairDistanceKVectorDatabase &, const Catalog &, const Camera &, decimal tolerance)
                                                                                                                                                                          Given some identified stars, attempt to identify the rest.
                                                                                                                                                                          Definition: star-id.cpp:461
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< int16_t > IdentifyThirdStar(const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, decimal distance1, decimal distance2, decimal tolerance)
                                                                                                                                                                          Given two already-identified centroids, and the distance from each to an as-yet unidentified third ce...
                                                                                                                                                                          Definition: star-id.cpp:384
                                                                                                                                                                          std::vector< CatalogStar > Catalog
                                                                                                                                                                          Definition: star-utils.hpp:100
                                                                                                                                                                          @@ -176,7 +177,7 @@ diff --git a/star-id_8cpp.html b/star-id_8cpp.html index 6183cc0b..858212bd 100644 --- a/star-id_8cpp.html +++ b/star-id_8cpp.html @@ -113,22 +113,25 @@ - + - + - - + + + + + @@ -160,25 +163,25 @@ std::unordered_multimap< int16_t, int16_t > lost::PairDistanceQueryToMap (const int16_t *pairs, const int16_t *end)  Given the result of a pair-distance kvector query, build a hashmultimap of stars to other stars that appeared with it in the query. More...
                                                                                                                                                                            -std::vector< std::vector< IRUnidentifiedCentroid * >::iterator > lost::FindUnidentifiedCentroidsInRange (std::vector< IRUnidentifiedCentroid * > *centroids, const Star &star, const Camera &camera, float minDistance, float maxDistance) - Return all the unidentified centroids within the requested distance bounds from star More...
                                                                                                                                                                          -  -void lost::AddToAllUnidentifiedCentroids (const StarIdentifier &starId, const Stars &stars, std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids, float minDistance, float maxDistance, float angleFrom90Threshold, const Camera &camera) - Given a list of unidentified centroids not yet at the soft threshold, and a list of unidentified centroids already below the soft threshold, appropriately add the given centroid to all the unidentified centroids still above the threshold, and perhaps move them to the below threshold list. More...
                                                                                                                                                                          -  -std::vector< int16_t > lost::IdentifyThirdStar (const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, float distance1, float distance2, float tolerance) - Given two already-identified centroids, and the distance from each to an as-yet unidentified third centroid, return a list of candidate catalog stars that could be the third centroid. More...
                                                                                                                                                                          -  +std::vector< std::vector< IRUnidentifiedCentroid * >::iterator > lost::FindUnidentifiedCentroidsInRange (std::vector< IRUnidentifiedCentroid * > *centroids, const Star &star, const Camera &camera, decimal minDistance, decimal maxDistance) + Return all the unidentified centroids within the requested distance bounds from star More...
                                                                                                                                                                          +  +void lost::AddToAllUnidentifiedCentroids (const StarIdentifier &starId, const Stars &stars, std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids, decimal minDistance, decimal maxDistance, decimal angleFrom90Threshold, const Camera &camera) + Given a list of unidentified centroids not yet at the soft threshold, and a list of unidentified centroids already below the soft threshold, appropriately add the given centroid to all the unidentified centroids still above the threshold, and perhaps move them to the below threshold list. More...
                                                                                                                                                                          +  +std::vector< int16_t > lost::IdentifyThirdStar (const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, decimal distance1, decimal distance2, decimal tolerance) + Given two already-identified centroids, and the distance from each to an as-yet unidentified third centroid, return a list of candidate catalog stars that could be the third centroid. More...
                                                                                                                                                                          +  IRUnidentifiedCentroid * lost::SelectNextUnidentifiedCentroid (std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids)   -int lost::IdentifyRemainingStarsPairDistance (StarIdentifiers *identifiers, const Stars &stars, const PairDistanceKVectorDatabase &db, const Catalog &catalog, const Camera &camera, float tolerance) - Given some identified stars, attempt to identify the rest. More...
                                                                                                                                                                          -  +int lost::IdentifyRemainingStarsPairDistance (StarIdentifiers *identifiers, const Stars &stars, const PairDistanceKVectorDatabase &db, const Catalog &catalog, const Camera &camera, decimal tolerance) + Given some identified stars, attempt to identify the rest. More...
                                                                                                                                                                          +  - - + +

                                                                                                                                                                          Variables

                                                                                                                                                                          const float lost::kAngleFrom90SoftThreshold = M_PI_4
                                                                                                                                                                           
                                                                                                                                                                          const decimal lost::kAngleFrom90SoftThreshold = DECIMAL_M_PI_4
                                                                                                                                                                           

                                                                                                                                                                          Macro Definition Documentation

                                                                                                                                                                          @@ -205,7 +208,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/star-id_8cpp.js b/star-id_8cpp.js index b2ddb0ce..3ea7812f 100644 --- a/star-id_8cpp.js +++ b/star-id_8cpp.js @@ -2,12 +2,12 @@ var star_id_8cpp = [ [ "PairDistanceInvolvingIterator", "classlost_1_1_pair_distance_involving_iterator.html", "classlost_1_1_pair_distance_involving_iterator" ], [ "_CHECK_DISTANCE", "star-id_8cpp.html#a969aaf4a776c8d744d94c1c6972b7a77", null ], - [ "AddToAllUnidentifiedCentroids", "star-id_8cpp.html#a1e9642f2c2d486db201514b9ff579811", null ], + [ "AddToAllUnidentifiedCentroids", "star-id_8cpp.html#af9b934e077b49bfc0b7eca88188013fe", null ], [ "ConsumeInvolvingIterator", "star-id_8cpp.html#a686a62724d40abe3ccef8aa0b2d77afe", null ], - [ "FindUnidentifiedCentroidsInRange", "star-id_8cpp.html#a0f709f580bfbe3bd0196b50226f22683", null ], - [ "IdentifyRemainingStarsPairDistance", "star-id_8cpp.html#adb9048b631cf1af6c33af2b0dca53c41", null ], - [ "IdentifyThirdStar", "star-id_8cpp.html#a6271e89ec246219f15d27942b98c8877", null ], + [ "FindUnidentifiedCentroidsInRange", "star-id_8cpp.html#a6ddca8ba6411ef602cc723abbbabbbdd", null ], + [ "IdentifyRemainingStarsPairDistance", "star-id_8cpp.html#a788b77a0d64ad007d1f71778cfc91a4e", null ], + [ "IdentifyThirdStar", "star-id_8cpp.html#a95cb98b7b4a9224b281e8ebf8f83acd4", null ], [ "PairDistanceQueryToMap", "star-id_8cpp.html#acd73775fd6b5bb0f4c48bfab3bc1552c", null ], [ "SelectNextUnidentifiedCentroid", "star-id_8cpp.html#af4b38998ddebb02241ed73fec6af8f4f", null ], - [ "kAngleFrom90SoftThreshold", "star-id_8cpp.html#a63a44b3abbcb5580d3ed71f1294f7bcd", null ] + [ "kAngleFrom90SoftThreshold", "star-id_8cpp.html#a10f83f3109f16381af2ee6b56e586271", null ] ]; \ No newline at end of file diff --git a/star-id_8cpp__incl.map b/star-id_8cpp__incl.map index a2699049..4e8c9f25 100644 --- a/star-id_8cpp__incl.map +++ b/star-id_8cpp__incl.map @@ -3,22 +3,25 @@ - + - - - + + + - + - - + + + - - + + + + diff --git a/star-id_8cpp__incl.md5 b/star-id_8cpp__incl.md5 index 37657909..7b1ed876 100644 --- a/star-id_8cpp__incl.md5 +++ b/star-id_8cpp__incl.md5 @@ -1 +1 @@ -6d3d4a09f7eafea69bf2415b0b961093 \ No newline at end of file +2873927267ebfbf2b1703a6a726c1a1e \ No newline at end of file diff --git a/star-id_8cpp__incl.png b/star-id_8cpp__incl.png index 5c69090d..3ba206fa 100644 Binary files a/star-id_8cpp__incl.png and b/star-id_8cpp__incl.png differ diff --git a/star-id_8cpp_source.html b/star-id_8cpp_source.html index 0bfa33e4..07fef05d 100644 --- a/star-id_8cpp_source.html +++ b/star-id_8cpp_source.html @@ -135,17 +135,17 @@
                                                                                                                                                                          46  // TODO: find a faster way to do this:
                                                                                                                                                                          47  std::vector<bool> votedInPair(catalog.size(), false);
                                                                                                                                                                          48  Vec3 jSpatial = camera.CameraToSpatial(stars[j].position).Normalize();
                                                                                                                                                                          -
                                                                                                                                                                          49  float greatCircleDistance = AngleUnit(iSpatial, jSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          49  decimal greatCircleDistance = AngleUnit(iSpatial, jSpatial);
                                                                                                                                                                          50  //give a greater range for min-max Query for bigger radius (GreatCircleDistance)
                                                                                                                                                                          -
                                                                                                                                                                          51  float lowerBoundRange = greatCircleDistance - tolerance;
                                                                                                                                                                          -
                                                                                                                                                                          52  float upperBoundRange = greatCircleDistance + tolerance;
                                                                                                                                                                          +
                                                                                                                                                                          51  decimal lowerBoundRange = greatCircleDistance - tolerance;
                                                                                                                                                                          +
                                                                                                                                                                          52  decimal upperBoundRange = greatCircleDistance + tolerance;
                                                                                                                                                                          53  const int16_t *upperBoundSearch;
                                                                                                                                                                          -
                                                                                                                                                                          54  const int16_t *lowerBoundSearch = vectorDatabase.FindPairsLiberal(
                                                                                                                                                                          +
                                                                                                                                                                          54  const int16_t *lowerBoundSearch = vectorDatabase.FindPairsLiberal(
                                                                                                                                                                          55  lowerBoundRange, upperBoundRange, &upperBoundSearch);
                                                                                                                                                                          56  //loop from lowerBoundSearch till numReturnedPairs, add one vote to each star in the pairs in the datastructure
                                                                                                                                                                          57  for (const int16_t *k = lowerBoundSearch; k != upperBoundSearch; k++) {
                                                                                                                                                                          58  if ((k - lowerBoundSearch) % 2 == 0) {
                                                                                                                                                                          -
                                                                                                                                                                          59  float actualAngle = AngleUnit(catalog[*k].spatial, catalog[*(k+1)].spatial);
                                                                                                                                                                          +
                                                                                                                                                                          59  decimal actualAngle = AngleUnit(catalog[*k].spatial, catalog[*(k+1)].spatial);
                                                                                                                                                                          60  assert(actualAngle <= greatCircleDistance + tolerance * 2);
                                                                                                                                                                          61  assert(actualAngle >= greatCircleDistance - tolerance * 2);
                                                                                                                                                                          62  }
                                                                                                                                                                          @@ -171,7 +171,7 @@
                                                                                                                                                                          82  }
                                                                                                                                                                          83  }
                                                                                                                                                                          84  // if (i == 542) {
                                                                                                                                                                          -
                                                                                                                                                                          85  // for (float dist : vectorDatabase.StarDistances(9085, catalog)) {
                                                                                                                                                                          +
                                                                                                                                                                          85  // for (decimal dist : vectorDatabase.StarDistances(9085, catalog)) {
                                                                                                                                                                          86  // printf("Actual 9085 distance: %f\n", dist);
                                                                                                                                                                          87  // }
                                                                                                                                                                          88  // puts("Debug star.");
                                                                                                                                                                          @@ -201,17 +201,17 @@
                                                                                                                                                                          112  // Calculate distance between catalog stars
                                                                                                                                                                          113  CatalogStar first = catalog[identified[i].catalogIndex];
                                                                                                                                                                          114  CatalogStar second = catalog[identified[j].catalogIndex];
                                                                                                                                                                          -
                                                                                                                                                                          115  float cDist = AngleUnit(first.spatial, second.spatial);
                                                                                                                                                                          +
                                                                                                                                                                          115  decimal cDist = AngleUnit(first.spatial, second.spatial);
                                                                                                                                                                          116 
                                                                                                                                                                          117  Star firstIdentified = stars[identified[i].starIndex];
                                                                                                                                                                          118  Star secondIdentified = stars[identified[j].starIndex];
                                                                                                                                                                          119  Vec3 firstSpatial = camera.CameraToSpatial(firstIdentified.position);
                                                                                                                                                                          120  Vec3 secondSpatial = camera.CameraToSpatial(secondIdentified.position);
                                                                                                                                                                          -
                                                                                                                                                                          121  float sDist = Angle(firstSpatial, secondSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          121  decimal sDist = Angle(firstSpatial, secondSpatial);
                                                                                                                                                                          122 
                                                                                                                                                                          123  //if sDist is in the range of (distance between stars in the image +- R)
                                                                                                                                                                          124  //add a vote for the match
                                                                                                                                                                          -
                                                                                                                                                                          125  if (abs(sDist - cDist) < tolerance) {
                                                                                                                                                                          +
                                                                                                                                                                          125  if (DECIMAL_ABS(sDist - cDist) < tolerance) {
                                                                                                                                                                          126  verificationVotes[i]++;
                                                                                                                                                                          127  verificationVotes[j]++;
                                                                                                                                                                          128  }
                                                                                                                                                                          @@ -329,19 +329,19 @@
                                                                                                                                                                          265  return result;
                                                                                                                                                                          266 }
                                                                                                                                                                          267 
                                                                                                                                                                          -
                                                                                                                                                                          268 float IRUnidentifiedCentroid::VerticalAnglesToAngleFrom90(float v1, float v2) {
                                                                                                                                                                          -
                                                                                                                                                                          269  return abs(FloatModulo(v1-v2, M_PI) - M_PI_2);
                                                                                                                                                                          +
                                                                                                                                                                          268 decimal IRUnidentifiedCentroid::VerticalAnglesToAngleFrom90(decimal v1, decimal v2) {
                                                                                                                                                                          +
                                                                                                                                                                          270 }
                                                                                                                                                                          271 
                                                                                                                                                                          277  const Star &otherStar = stars[starId.starIndex];
                                                                                                                                                                          278  Vec2 positionDifference = otherStar.position - star->position;
                                                                                                                                                                          -
                                                                                                                                                                          279  float angleFromVertical = atan2(positionDifference.y, positionDifference.x);
                                                                                                                                                                          +
                                                                                                                                                                          279  decimal angleFromVertical = DECIMAL_ATAN2(positionDifference.y, positionDifference.x);
                                                                                                                                                                          280 
                                                                                                                                                                          281  for (const auto &otherPair : identifiedStarsInRange) {
                                                                                                                                                                          -
                                                                                                                                                                          282  float curAngleFrom90 = VerticalAnglesToAngleFrom90(otherPair.first, angleFromVertical);
                                                                                                                                                                          -
                                                                                                                                                                          283  if (curAngleFrom90 < bestAngleFrom90) {
                                                                                                                                                                          -
                                                                                                                                                                          284  bestAngleFrom90 = curAngleFrom90;
                                                                                                                                                                          +
                                                                                                                                                                          282  decimal curAngleFrom90 = VerticalAnglesToAngleFrom90(otherPair.first, angleFromVertical);
                                                                                                                                                                          +
                                                                                                                                                                          283  if (curAngleFrom90 < bestAngleFrom90) {
                                                                                                                                                                          +
                                                                                                                                                                          284  bestAngleFrom90 = curAngleFrom90;
                                                                                                                                                                          285  bestStar1 = starId;
                                                                                                                                                                          286  bestStar2 = otherPair.second;
                                                                                                                                                                          287  }
                                                                                                                                                                          @@ -350,19 +350,19 @@
                                                                                                                                                                          290  identifiedStarsInRange.emplace_back(angleFromVertical, starId);
                                                                                                                                                                          291 }
                                                                                                                                                                          292 
                                                                                                                                                                          -
                                                                                                                                                                          299 std::vector<std::vector<IRUnidentifiedCentroid *>::iterator> FindUnidentifiedCentroidsInRange(
                                                                                                                                                                          +
                                                                                                                                                                          299 std::vector<std::vector<IRUnidentifiedCentroid *>::iterator> FindUnidentifiedCentroidsInRange(
                                                                                                                                                                          300  std::vector<IRUnidentifiedCentroid *> *centroids, const Star &star, const Camera &camera,
                                                                                                                                                                          -
                                                                                                                                                                          301  float minDistance, float maxDistance) {
                                                                                                                                                                          +
                                                                                                                                                                          301  decimal minDistance, decimal maxDistance) {
                                                                                                                                                                          302 
                                                                                                                                                                          303  Vec3 ourSpatial = camera.CameraToSpatial(star.position).Normalize();
                                                                                                                                                                          304 
                                                                                                                                                                          -
                                                                                                                                                                          305  float minCos = cos(maxDistance);
                                                                                                                                                                          -
                                                                                                                                                                          306  float maxCos = cos(minDistance);
                                                                                                                                                                          +
                                                                                                                                                                          305  decimal minCos = DECIMAL_COS(maxDistance);
                                                                                                                                                                          +
                                                                                                                                                                          306  decimal maxCos = DECIMAL_COS(minDistance);
                                                                                                                                                                          307 
                                                                                                                                                                          308  std::vector<std::vector<IRUnidentifiedCentroid *>::iterator> result;
                                                                                                                                                                          309  for (auto it = centroids->begin(); it != centroids->end(); ++it) {
                                                                                                                                                                          310  Vec3 theirSpatial = camera.CameraToSpatial((*it)->star->position).Normalize();
                                                                                                                                                                          -
                                                                                                                                                                          311  float angleCos = ourSpatial * theirSpatial;
                                                                                                                                                                          +
                                                                                                                                                                          311  decimal angleCos = ourSpatial * theirSpatial;
                                                                                                                                                                          312  if (angleCos >= minCos && angleCos <= maxCos) {
                                                                                                                                                                          313  result.push_back(it);
                                                                                                                                                                          314  }
                                                                                                                                                                          @@ -374,35 +374,35 @@
                                                                                                                                                                          320 
                                                                                                                                                                          321  // // Find the first centroid that is within range of the given centroid.
                                                                                                                                                                          322  // auto firstInRange = std::lower_bound(centroids->begin(), centroids->end(), star.position.x - maxDistance,
                                                                                                                                                                          -
                                                                                                                                                                          323  // [](const IRUnidentifiedCentroid &centroid, float x) {
                                                                                                                                                                          +
                                                                                                                                                                          323  // [](const IRUnidentifiedCentroid &centroid, decimal x) {
                                                                                                                                                                          324  // return centroid.star.position.x < x;
                                                                                                                                                                          325  // });
                                                                                                                                                                          326 
                                                                                                                                                                          327  // // Find the first centroid that is not within range of the given centroid.
                                                                                                                                                                          328  // auto firstNotInRange = std::lower_bound(firstInRange, centroids->end(), star.position.x + maxDistance,
                                                                                                                                                                          -
                                                                                                                                                                          329  // [](const IRUnidentifiedCentroid &centroid, float x) {
                                                                                                                                                                          +
                                                                                                                                                                          329  // [](const IRUnidentifiedCentroid &centroid, decimal x) {
                                                                                                                                                                          330  // return centroid.star.position.x <= x;
                                                                                                                                                                          331  // });
                                                                                                                                                                          332 
                                                                                                                                                                          333  // // Copy the pointers to the stars into the result vector.
                                                                                                                                                                          334  // for (auto it = firstInRange; it != firstNotInRange; ++it) {
                                                                                                                                                                          -
                                                                                                                                                                          335  // float distance = Distance(star.position, it->star.position);
                                                                                                                                                                          +
                                                                                                                                                                          335  // decimal distance = Distance(star.position, it->star.position);
                                                                                                                                                                          336  // if (distance >= minDistance && distance <= maxDistance) {
                                                                                                                                                                          337  // result.push_back(&*it);
                                                                                                                                                                          338  // }
                                                                                                                                                                          339  // }
                                                                                                                                                                          340 }
                                                                                                                                                                          341 
                                                                                                                                                                          -
                                                                                                                                                                          350 void AddToAllUnidentifiedCentroids(const StarIdentifier &starId, const Stars &stars,
                                                                                                                                                                          +
                                                                                                                                                                          350 void AddToAllUnidentifiedCentroids(const StarIdentifier &starId, const Stars &stars,
                                                                                                                                                                          351  std::vector<IRUnidentifiedCentroid *> *aboveThresholdCentroids,
                                                                                                                                                                          352  std::vector<IRUnidentifiedCentroid *> *belowThresholdCentroids,
                                                                                                                                                                          -
                                                                                                                                                                          353  float minDistance, float maxDistance,
                                                                                                                                                                          -
                                                                                                                                                                          354  float angleFrom90Threshold,
                                                                                                                                                                          +
                                                                                                                                                                          353  decimal minDistance, decimal maxDistance,
                                                                                                                                                                          +
                                                                                                                                                                          354  decimal angleFrom90Threshold,
                                                                                                                                                                          355  const Camera &camera) {
                                                                                                                                                                          356 
                                                                                                                                                                          357  std::vector<int16_t> nowBelowThreshold; // centroid indices newly moved above the threshold
                                                                                                                                                                          358  // don't need to iterate through the centroids that are already below the threshold, for performance.
                                                                                                                                                                          -
                                                                                                                                                                          359  for (auto centroidIt : FindUnidentifiedCentroidsInRange(aboveThresholdCentroids, stars[starId.starIndex], camera, minDistance, maxDistance)) {
                                                                                                                                                                          +
                                                                                                                                                                          359  for (auto centroidIt : FindUnidentifiedCentroidsInRange(aboveThresholdCentroids, stars[starId.starIndex], camera, minDistance, maxDistance)) {
                                                                                                                                                                          360  (*centroidIt)->AddIdentifiedStar(starId, stars);
                                                                                                                                                                          361  if ((*centroidIt)->bestAngleFrom90 <= angleFrom90Threshold) {
                                                                                                                                                                          362  belowThresholdCentroids->push_back(*centroidIt);
                                                                                                                                                                          @@ -416,14 +416,14 @@
                                                                                                                                                                          370  }), aboveThresholdCentroids->end());
                                                                                                                                                                          371 }
                                                                                                                                                                          372 
                                                                                                                                                                          -
                                                                                                                                                                          384 std::vector<int16_t> IdentifyThirdStar(const PairDistanceKVectorDatabase &db,
                                                                                                                                                                          +
                                                                                                                                                                          384 std::vector<int16_t> IdentifyThirdStar(const PairDistanceKVectorDatabase &db,
                                                                                                                                                                          385  const Catalog &catalog,
                                                                                                                                                                          386  int16_t catalogIndex1, int16_t catalogIndex2,
                                                                                                                                                                          -
                                                                                                                                                                          387  float distance1, float distance2,
                                                                                                                                                                          -
                                                                                                                                                                          388  float tolerance) {
                                                                                                                                                                          +
                                                                                                                                                                          387  decimal distance1, decimal distance2,
                                                                                                                                                                          +
                                                                                                                                                                          388  decimal tolerance) {
                                                                                                                                                                          389 
                                                                                                                                                                          390  const int16_t *query1End;
                                                                                                                                                                          -
                                                                                                                                                                          391  const int16_t *query1 = db.FindPairsExact(catalog, distance1-tolerance, distance1+tolerance, &query1End);
                                                                                                                                                                          +
                                                                                                                                                                          391  const int16_t *query1 = db.FindPairsExact(catalog, distance1-tolerance, distance1+tolerance, &query1End);
                                                                                                                                                                          392 
                                                                                                                                                                          393  const Vec3 &spatial1 = catalog[catalogIndex1].spatial;
                                                                                                                                                                          394  const Vec3 &spatial2 = catalog[catalogIndex2].spatial;
                                                                                                                                                                          @@ -439,7 +439,7 @@
                                                                                                                                                                          404 
                                                                                                                                                                          405  Vec3 candidateSpatial = catalog[*candidateIt].spatial;
                                                                                                                                                                          406 
                                                                                                                                                                          -
                                                                                                                                                                          407  float angle2 = AngleUnit(candidateSpatial, spatial2);
                                                                                                                                                                          +
                                                                                                                                                                          407  decimal angle2 = AngleUnit(candidateSpatial, spatial2);
                                                                                                                                                                          408 
                                                                                                                                                                          409  // check distance to second star
                                                                                                                                                                          410  if (!(angle2 >= distance2-tolerance && angle2 <= distance2+tolerance)) {
                                                                                                                                                                          @@ -447,7 +447,7 @@
                                                                                                                                                                          412  }
                                                                                                                                                                          413 
                                                                                                                                                                          414  // check spectrality
                                                                                                                                                                          -
                                                                                                                                                                          415  float spectralTorch = cross * candidateSpatial;
                                                                                                                                                                          +
                                                                                                                                                                          415  decimal spectralTorch = cross * candidateSpatial;
                                                                                                                                                                          416  // if they are nearly coplanar, don't need to check spectrality
                                                                                                                                                                          417  // TODO: Implement ^^. Not high priority, since always checking spectrality is conservative.
                                                                                                                                                                          418  if (spectralTorch <= 0) {
                                                                                                                                                                          @@ -475,7 +475,7 @@
                                                                                                                                                                          440  return a->bestAngleFrom90 < b->bestAngleFrom90;
                                                                                                                                                                          441  });
                                                                                                                                                                          442 
                                                                                                                                                                          -
                                                                                                                                                                          443  // 10 is arbitrary; but really it should be less than M_PI_2 when set
                                                                                                                                                                          +
                                                                                                                                                                          443  // 10 is arbitrary; but really it should be less than DECIMAL_M_PI_2 when set
                                                                                                                                                                          444  if (bestAboveThreshold != aboveThresholdCentroids->end() && (*bestAboveThreshold)->bestAngleFrom90 < 10) {
                                                                                                                                                                          445  auto result = *bestAboveThreshold;
                                                                                                                                                                          446  aboveThresholdCentroids->erase(bestAboveThreshold);
                                                                                                                                                                          @@ -485,14 +485,14 @@
                                                                                                                                                                          450  return NULL;
                                                                                                                                                                          451 }
                                                                                                                                                                          452 
                                                                                                                                                                          -
                                                                                                                                                                          453 const float kAngleFrom90SoftThreshold = M_PI_4; // TODO: tune this
                                                                                                                                                                          +
                                                                                                                                                                          454 
                                                                                                                                                                          - +
                                                                                                                                                                          462  const Stars &stars,
                                                                                                                                                                          463  const PairDistanceKVectorDatabase &db,
                                                                                                                                                                          464  const Catalog &catalog,
                                                                                                                                                                          465  const Camera &camera,
                                                                                                                                                                          -
                                                                                                                                                                          466  float tolerance) {
                                                                                                                                                                          +
                                                                                                                                                                          466  decimal tolerance) {
                                                                                                                                                                          467 #ifdef LOST_DEBUG_PERFORMANCE
                                                                                                                                                                          468  auto startTimestamp = std::chrono::steady_clock::now();
                                                                                                                                                                          469 #endif
                                                                                                                                                                          @@ -526,10 +526,10 @@
                                                                                                                                                                          497 
                                                                                                                                                                          498  // for each identified star, add it to the list of identified stars for each unidentified centroid within range
                                                                                                                                                                          499  for (const auto &starId : *identifiers) {
                                                                                                                                                                          -
                                                                                                                                                                          500  AddToAllUnidentifiedCentroids(starId, stars,
                                                                                                                                                                          +
                                                                                                                                                                          500  AddToAllUnidentifiedCentroids(starId, stars,
                                                                                                                                                                          501  &aboveThresholdUnidentifiedCentroids, &belowThresholdUnidentifiedCentroids,
                                                                                                                                                                          -
                                                                                                                                                                          502  db.MinDistance(), db.MaxDistance(),
                                                                                                                                                                          - +
                                                                                                                                                                          502  db.MinDistance(), db.MaxDistance(),
                                                                                                                                                                          +
                                                                                                                                                                          504  camera);
                                                                                                                                                                          505  }
                                                                                                                                                                          506 
                                                                                                                                                                          @@ -547,20 +547,20 @@
                                                                                                                                                                          518  Vec3 unidentifiedSpatial = camera.CameraToSpatial(nextUnidentifiedCentroid->star->position);
                                                                                                                                                                          519  Vec3 spatial1 = camera.CameraToSpatial(stars[nextUnidentifiedCentroid->bestStar1.starIndex].position);
                                                                                                                                                                          520  Vec3 spatial2 = camera.CameraToSpatial(stars[nextUnidentifiedCentroid->bestStar2.starIndex].position);
                                                                                                                                                                          -
                                                                                                                                                                          521  float d1 = Angle(spatial1, unidentifiedSpatial);
                                                                                                                                                                          -
                                                                                                                                                                          522  float d2 = Angle(spatial2, unidentifiedSpatial);
                                                                                                                                                                          -
                                                                                                                                                                          523  float spectralTorch = spatial1.CrossProduct(spatial2) * unidentifiedSpatial;
                                                                                                                                                                          +
                                                                                                                                                                          521  decimal d1 = Angle(spatial1, unidentifiedSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          522  decimal d2 = Angle(spatial2, unidentifiedSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          523  decimal spectralTorch = spatial1.CrossProduct(spatial2) * unidentifiedSpatial;
                                                                                                                                                                          524 
                                                                                                                                                                          525  // find all the catalog stars that are in both annuli
                                                                                                                                                                          526  // flip arguments for appropriate spectrality.
                                                                                                                                                                          527  std::vector<int16_t> candidates =
                                                                                                                                                                          528  spectralTorch > 0
                                                                                                                                                                          -
                                                                                                                                                                          529  ? IdentifyThirdStar(db,
                                                                                                                                                                          +
                                                                                                                                                                          529  ? IdentifyThirdStar(db,
                                                                                                                                                                          530  catalog,
                                                                                                                                                                          531  nextUnidentifiedCentroid->bestStar1.catalogIndex,
                                                                                                                                                                          532  nextUnidentifiedCentroid->bestStar2.catalogIndex,
                                                                                                                                                                          533  d1, d2, tolerance)
                                                                                                                                                                          -
                                                                                                                                                                          534  : IdentifyThirdStar(db,
                                                                                                                                                                          +
                                                                                                                                                                          534  : IdentifyThirdStar(db,
                                                                                                                                                                          535  catalog,
                                                                                                                                                                          536  nextUnidentifiedCentroid->bestStar2.catalogIndex,
                                                                                                                                                                          537  nextUnidentifiedCentroid->bestStar1.catalogIndex,
                                                                                                                                                                          @@ -575,11 +575,11 @@
                                                                                                                                                                          546  identifiers->emplace_back(nextUnidentifiedCentroid->index, candidates[0]);
                                                                                                                                                                          547 
                                                                                                                                                                          548  // update nearby unidentified centroids with the new identified star
                                                                                                                                                                          -
                                                                                                                                                                          549  AddToAllUnidentifiedCentroids(identifiers->back(), stars,
                                                                                                                                                                          +
                                                                                                                                                                          549  AddToAllUnidentifiedCentroids(identifiers->back(), stars,
                                                                                                                                                                          550  &aboveThresholdUnidentifiedCentroids, &belowThresholdUnidentifiedCentroids,
                                                                                                                                                                          -
                                                                                                                                                                          551  db.MinDistance(), db.MaxDistance(),
                                                                                                                                                                          +
                                                                                                                                                                          551  db.MinDistance(), db.MaxDistance(),
                                                                                                                                                                          552  // TODO should probably tune this:
                                                                                                                                                                          - +
                                                                                                                                                                          554  camera);
                                                                                                                                                                          555 
                                                                                                                                                                          556  ++numExtraIdentifiedStars;
                                                                                                                                                                          @@ -610,9 +610,9 @@
                                                                                                                                                                          581  DeserializeContext des(databaseBuffer);
                                                                                                                                                                          582  PairDistanceKVectorDatabase vectorDatabase(&des);
                                                                                                                                                                          583 
                                                                                                                                                                          -
                                                                                                                                                                          584  // smallest normal single-precision float is around 10^-38 so we should be all good. See
                                                                                                                                                                          +
                                                                                                                                                                          584  // smallest normal single-precision decimal is around 10^-38 so we should be all good. See
                                                                                                                                                                          585  // Analytic_Star_Pattern_Probability on the HSL wiki for details.
                                                                                                                                                                          -
                                                                                                                                                                          586  float expectedMismatchesConstant = pow(numFalseStars, 4) * pow(tolerance, 5) / 2 / pow(M_PI, 2);
                                                                                                                                                                          +
                                                                                                                                                                          586  decimal expectedMismatchesConstant = DECIMAL_POW(numFalseStars, 4) * DECIMAL_POW(tolerance, 5) / 2 / DECIMAL_POW(DECIMAL_M_PI, 2);
                                                                                                                                                                          587 
                                                                                                                                                                          588  // this iteration technique is described in the Pyramid paper. Briefly: i will always be the
                                                                                                                                                                          589  // lowest index, then dj and dk are how many indexes ahead the j-th star is from the i-th, and
                                                                                                                                                                          @@ -657,17 +657,17 @@
                                                                                                                                                                          628  Vec3 jSpatial = camera.CameraToSpatial(stars[j].position).Normalize();
                                                                                                                                                                          629  Vec3 kSpatial = camera.CameraToSpatial(stars[k].position).Normalize();
                                                                                                                                                                          630 
                                                                                                                                                                          -
                                                                                                                                                                          631  float ijDist = AngleUnit(iSpatial, jSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          631  decimal ijDist = AngleUnit(iSpatial, jSpatial);
                                                                                                                                                                          632 
                                                                                                                                                                          -
                                                                                                                                                                          633  float iSinInner = sin(Angle(jSpatial - iSpatial, kSpatial - iSpatial));
                                                                                                                                                                          -
                                                                                                                                                                          634  float jSinInner = sin(Angle(iSpatial - jSpatial, kSpatial - jSpatial));
                                                                                                                                                                          -
                                                                                                                                                                          635  float kSinInner = sin(Angle(iSpatial - kSpatial, jSpatial - kSpatial));
                                                                                                                                                                          +
                                                                                                                                                                          633  decimal iSinInner = DECIMAL_SIN(Angle(jSpatial - iSpatial, kSpatial - iSpatial));
                                                                                                                                                                          +
                                                                                                                                                                          634  decimal jSinInner = DECIMAL_SIN(Angle(iSpatial - jSpatial, kSpatial - jSpatial));
                                                                                                                                                                          +
                                                                                                                                                                          635  decimal kSinInner = DECIMAL_SIN(Angle(iSpatial - kSpatial, jSpatial - kSpatial));
                                                                                                                                                                          636 
                                                                                                                                                                          637  // if we made it this far, all 6 angles are confirmed! Now check
                                                                                                                                                                          638  // that this match would not often occur due to chance.
                                                                                                                                                                          639  // See Analytic_Star_Pattern_Probability on the HSL wiki for details
                                                                                                                                                                          -
                                                                                                                                                                          640  float expectedMismatches = expectedMismatchesConstant
                                                                                                                                                                          -
                                                                                                                                                                          641  * sin(ijDist)
                                                                                                                                                                          +
                                                                                                                                                                          640  decimal expectedMismatches = expectedMismatchesConstant
                                                                                                                                                                          +
                                                                                                                                                                          641  * DECIMAL_SIN(ijDist)
                                                                                                                                                                          642  / kSinInner
                                                                                                                                                                          643  / std::max(std::max(iSinInner, jSinInner), kSinInner);
                                                                                                                                                                          644 
                                                                                                                                                                          @@ -681,11 +681,11 @@
                                                                                                                                                                          652  // sign of determinant, to detect flipped patterns
                                                                                                                                                                          653  bool spectralTorch = iSpatial.CrossProduct(jSpatial)*kSpatial > 0;
                                                                                                                                                                          654 
                                                                                                                                                                          -
                                                                                                                                                                          655  float ikDist = AngleUnit(iSpatial, kSpatial);
                                                                                                                                                                          -
                                                                                                                                                                          656  float irDist = AngleUnit(iSpatial, rSpatial);
                                                                                                                                                                          -
                                                                                                                                                                          657  float jkDist = AngleUnit(jSpatial, kSpatial);
                                                                                                                                                                          -
                                                                                                                                                                          658  float jrDist = AngleUnit(jSpatial, rSpatial);
                                                                                                                                                                          -
                                                                                                                                                                          659  float krDist = AngleUnit(kSpatial, rSpatial); // TODO: we don't really need to
                                                                                                                                                                          +
                                                                                                                                                                          655  decimal ikDist = AngleUnit(iSpatial, kSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          656  decimal irDist = AngleUnit(iSpatial, rSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          657  decimal jkDist = AngleUnit(jSpatial, kSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          658  decimal jrDist = AngleUnit(jSpatial, rSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          659  decimal krDist = AngleUnit(kSpatial, rSpatial); // TODO: we don't really need to
                                                                                                                                                                          660  // check krDist, if k has been
                                                                                                                                                                          661  // verified by i and j it's fine.
                                                                                                                                                                          662 
                                                                                                                                                                          @@ -702,9 +702,9 @@
                                                                                                                                                                          673 #undef _CHECK_DISTANCE
                                                                                                                                                                          674 
                                                                                                                                                                          675  const int16_t *ijEnd, *ikEnd, *irEnd;
                                                                                                                                                                          -
                                                                                                                                                                          676  const int16_t *const ijQuery = vectorDatabase.FindPairsLiberal(ijDist - tolerance, ijDist + tolerance, &ijEnd);
                                                                                                                                                                          -
                                                                                                                                                                          677  const int16_t *const ikQuery = vectorDatabase.FindPairsLiberal(ikDist - tolerance, ikDist + tolerance, &ikEnd);
                                                                                                                                                                          -
                                                                                                                                                                          678  const int16_t *const irQuery = vectorDatabase.FindPairsLiberal(irDist - tolerance, irDist + tolerance, &irEnd);
                                                                                                                                                                          +
                                                                                                                                                                          676  const int16_t *const ijQuery = vectorDatabase.FindPairsLiberal(ijDist - tolerance, ijDist + tolerance, &ijEnd);
                                                                                                                                                                          +
                                                                                                                                                                          677  const int16_t *const ikQuery = vectorDatabase.FindPairsLiberal(ikDist - tolerance, ikDist + tolerance, &ikEnd);
                                                                                                                                                                          +
                                                                                                                                                                          678  const int16_t *const irQuery = vectorDatabase.FindPairsLiberal(irDist - tolerance, irDist + tolerance, &irEnd);
                                                                                                                                                                          679 
                                                                                                                                                                          680  std::unordered_multimap<int16_t, int16_t> ikMap = PairDistanceQueryToMap(ikQuery, ikEnd);
                                                                                                                                                                          681  std::unordered_multimap<int16_t, int16_t> irMap = PairDistanceQueryToMap(irQuery, irEnd);
                                                                                                                                                                          @@ -733,7 +733,7 @@
                                                                                                                                                                          704  }
                                                                                                                                                                          705 
                                                                                                                                                                          706  // small optimization: We can calculate jk before iterating through r, so we will!
                                                                                                                                                                          -
                                                                                                                                                                          707  float jkCandidateDist = AngleUnit(jCandidateSpatial, kCandidateSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          707  decimal jkCandidateDist = AngleUnit(jCandidateSpatial, kCandidateSpatial);
                                                                                                                                                                          708  if (jkCandidateDist < jkDist - tolerance || jkCandidateDist > jkDist + tolerance) {
                                                                                                                                                                          709  continue;
                                                                                                                                                                          710  }
                                                                                                                                                                          @@ -744,12 +744,12 @@
                                                                                                                                                                          715  for (auto rCandidateIt = irMap.equal_range(iCandidate); rCandidateIt.first != rCandidateIt.second; rCandidateIt.first++) {
                                                                                                                                                                          716  int rCandidate = rCandidateIt.first->second;
                                                                                                                                                                          717  const Vec3 &rCandidateSpatial = catalog[rCandidate].spatial;
                                                                                                                                                                          -
                                                                                                                                                                          718  float jrCandidateDist = AngleUnit(jCandidateSpatial, rCandidateSpatial);
                                                                                                                                                                          -
                                                                                                                                                                          719  float krCandidateDist;
                                                                                                                                                                          +
                                                                                                                                                                          718  decimal jrCandidateDist = AngleUnit(jCandidateSpatial, rCandidateSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          719  decimal krCandidateDist;
                                                                                                                                                                          720  if (jrCandidateDist < jrDist - tolerance || jrCandidateDist > jrDist + tolerance) {
                                                                                                                                                                          721  continue;
                                                                                                                                                                          722  }
                                                                                                                                                                          -
                                                                                                                                                                          723  krCandidateDist = AngleUnit(kCandidateSpatial, rCandidateSpatial);
                                                                                                                                                                          +
                                                                                                                                                                          723  krCandidateDist = AngleUnit(kCandidateSpatial, rCandidateSpatial);
                                                                                                                                                                          724  if (krCandidateDist < krDist - tolerance || krCandidateDist > krDist + tolerance) {
                                                                                                                                                                          725  continue;
                                                                                                                                                                          726  }
                                                                                                                                                                          @@ -774,36 +774,37 @@
                                                                                                                                                                          745  }
                                                                                                                                                                          746 
                                                                                                                                                                          747  if (iMatch != -1) {
                                                                                                                                                                          -
                                                                                                                                                                          748  printf("Matched unique pyramid!\nExpected mismatches: %e\n", expectedMismatches);
                                                                                                                                                                          -
                                                                                                                                                                          749  identified.push_back(StarIdentifier(i, iMatch));
                                                                                                                                                                          -
                                                                                                                                                                          750  identified.push_back(StarIdentifier(j, jMatch));
                                                                                                                                                                          -
                                                                                                                                                                          751  identified.push_back(StarIdentifier(k, kMatch));
                                                                                                                                                                          -
                                                                                                                                                                          752  identified.push_back(StarIdentifier(r, rMatch));
                                                                                                                                                                          -
                                                                                                                                                                          753 
                                                                                                                                                                          -
                                                                                                                                                                          754  int numAdditionallyIdentified = IdentifyRemainingStarsPairDistance(&identified, stars, vectorDatabase, catalog, camera, tolerance);
                                                                                                                                                                          -
                                                                                                                                                                          755  printf("Identified an additional %d stars.\n", numAdditionallyIdentified);
                                                                                                                                                                          -
                                                                                                                                                                          756  assert(numAdditionallyIdentified == (int)identified.size()-4);
                                                                                                                                                                          -
                                                                                                                                                                          757 
                                                                                                                                                                          -
                                                                                                                                                                          758  return identified;
                                                                                                                                                                          -
                                                                                                                                                                          759  }
                                                                                                                                                                          -
                                                                                                                                                                          760 
                                                                                                                                                                          -
                                                                                                                                                                          761  sensorContinue:;
                                                                                                                                                                          -
                                                                                                                                                                          762  }
                                                                                                                                                                          -
                                                                                                                                                                          763  }
                                                                                                                                                                          -
                                                                                                                                                                          764  }
                                                                                                                                                                          -
                                                                                                                                                                          765  }
                                                                                                                                                                          -
                                                                                                                                                                          766 
                                                                                                                                                                          -
                                                                                                                                                                          767  std::cerr << "Tried all pyramids; none matched." << std::endl;
                                                                                                                                                                          -
                                                                                                                                                                          768  return identified;
                                                                                                                                                                          -
                                                                                                                                                                          769 }
                                                                                                                                                                          -
                                                                                                                                                                          770 
                                                                                                                                                                          -
                                                                                                                                                                          771 }
                                                                                                                                                                          +
                                                                                                                                                                          748  std::cout.precision(6);
                                                                                                                                                                          +
                                                                                                                                                                          749  std::cout << "Matched unique pyramid!" << std::endl << "Expected mismatches: " << std::scientific << expectedMismatches << std::endl << std::fixed;
                                                                                                                                                                          +
                                                                                                                                                                          750  identified.push_back(StarIdentifier(i, iMatch));
                                                                                                                                                                          +
                                                                                                                                                                          751  identified.push_back(StarIdentifier(j, jMatch));
                                                                                                                                                                          +
                                                                                                                                                                          752  identified.push_back(StarIdentifier(k, kMatch));
                                                                                                                                                                          +
                                                                                                                                                                          753  identified.push_back(StarIdentifier(r, rMatch));
                                                                                                                                                                          +
                                                                                                                                                                          754 
                                                                                                                                                                          +
                                                                                                                                                                          755  int numAdditionallyIdentified = IdentifyRemainingStarsPairDistance(&identified, stars, vectorDatabase, catalog, camera, tolerance);
                                                                                                                                                                          +
                                                                                                                                                                          756  printf("Identified an additional %d stars.\n", numAdditionallyIdentified);
                                                                                                                                                                          +
                                                                                                                                                                          757  assert(numAdditionallyIdentified == (int)identified.size()-4);
                                                                                                                                                                          +
                                                                                                                                                                          758 
                                                                                                                                                                          +
                                                                                                                                                                          759  return identified;
                                                                                                                                                                          +
                                                                                                                                                                          760  }
                                                                                                                                                                          +
                                                                                                                                                                          761 
                                                                                                                                                                          +
                                                                                                                                                                          762  sensorContinue:;
                                                                                                                                                                          +
                                                                                                                                                                          763  }
                                                                                                                                                                          +
                                                                                                                                                                          764  }
                                                                                                                                                                          +
                                                                                                                                                                          765  }
                                                                                                                                                                          +
                                                                                                                                                                          766  }
                                                                                                                                                                          +
                                                                                                                                                                          767 
                                                                                                                                                                          +
                                                                                                                                                                          768  std::cerr << "Tried all pyramids; none matched." << std::endl;
                                                                                                                                                                          +
                                                                                                                                                                          769  return identified;
                                                                                                                                                                          +
                                                                                                                                                                          770 }
                                                                                                                                                                          +
                                                                                                                                                                          771 
                                                                                                                                                                          +
                                                                                                                                                                          772 }
                                                                                                                                                                          A full description of a camera. Enough information to reconstruct the camera matrix and then some.
                                                                                                                                                                          Definition: camera.hpp:9
                                                                                                                                                                          -
                                                                                                                                                                          Vec3 CameraToSpatial(const Vec2 &) const
                                                                                                                                                                          Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
                                                                                                                                                                          Definition: camera.cpp:34
                                                                                                                                                                          +
                                                                                                                                                                          Vec3 CameraToSpatial(const Vec2 &) const
                                                                                                                                                                          Gives a point in 3d space that could correspond to the given vector, using the same coordinate system...
                                                                                                                                                                          Definition: camera.cpp:35
                                                                                                                                                                          A star from the Bright Star Catalog.
                                                                                                                                                                          Definition: star-utils.hpp:12
                                                                                                                                                                          Vec3 spatial
                                                                                                                                                                          The point on the unit sphere where the star lies.
                                                                                                                                                                          Definition: star-utils.hpp:32
                                                                                                                                                                          - +
                                                                                                                                                                          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
                                                                                                                                                                          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
                                                                                                                                                                          unidentified centroid used in IdentifyRemainingStarsPairDistance The "angles" through here are "trian...
                                                                                                                                                                          @@ -812,59 +813,68 @@
                                                                                                                                                                          void AddIdentifiedStar(const StarIdentifier &starId, const Stars &stars)
                                                                                                                                                                          When a centroid within range of this centroid is identified, call this function.
                                                                                                                                                                          Definition: star-id.cpp:276
                                                                                                                                                                          StarIdentifier bestStar2
                                                                                                                                                                          One star corresponding to bestAngleFrom90.
                                                                                                                                                                          int16_t index
                                                                                                                                                                          The other star corresponding to bestAngleFrom90.
                                                                                                                                                                          - -
                                                                                                                                                                          A database that contains multiple databases This is almost always the database that is actually passe...
                                                                                                                                                                          Definition: databases.hpp:99
                                                                                                                                                                          -
                                                                                                                                                                          const unsigned char * SubDatabasePointer(int32_t magicValue) const
                                                                                                                                                                          MultiDatabase memory layout:
                                                                                                                                                                          Definition: databases.cpp:311
                                                                                                                                                                          + + +
                                                                                                                                                                          const unsigned char * SubDatabasePointer(int32_t magicValue) const
                                                                                                                                                                          MultiDatabase memory layout:
                                                                                                                                                                          Definition: databases.cpp:316
                                                                                                                                                                          Given a list of star pairs, finds all those pairs which involve a certain star.
                                                                                                                                                                          Definition: star-id.cpp:169
                                                                                                                                                                          PairDistanceInvolvingIterator(const int16_t *pairs, const int16_t *end, int16_t involving)
                                                                                                                                                                          The main constructor.
                                                                                                                                                                          Definition: star-id.cpp:184
                                                                                                                                                                          int16_t operator*() const
                                                                                                                                                                          Access the curent pair.
                                                                                                                                                                          Definition: star-id.cpp:206
                                                                                                                                                                          PairDistanceInvolvingIterator & operator++()
                                                                                                                                                                          Move to the next matching pair.
                                                                                                                                                                          Definition: star-id.cpp:198
                                                                                                                                                                          bool HasValue()
                                                                                                                                                                          Whether the iterator is currently on a value. (false if iteration is complete)
                                                                                                                                                                          Definition: star-id.cpp:211
                                                                                                                                                                          PairDistanceInvolvingIterator()
                                                                                                                                                                          Create a "past-the-end" iterator.
                                                                                                                                                                          Definition: star-id.cpp:175
                                                                                                                                                                          -
                                                                                                                                                                          A database storing distances between pairs of stars.
                                                                                                                                                                          Definition: databases.hpp:52
                                                                                                                                                                          -
                                                                                                                                                                          static const int32_t kMagicValue
                                                                                                                                                                          Magic value to use when storing inside a MultiDatabase.
                                                                                                                                                                          Definition: databases.hpp:68
                                                                                                                                                                          -
                                                                                                                                                                          float MaxDistance() const
                                                                                                                                                                          Upper bound on stored star pair distances.
                                                                                                                                                                          Definition: databases.hpp:61
                                                                                                                                                                          -
                                                                                                                                                                          const int16_t * FindPairsExact(const Catalog &, float min, float max, const int16_t **end) const
                                                                                                                                                                          Definition: databases.cpp:244
                                                                                                                                                                          -
                                                                                                                                                                          const int16_t * FindPairsLiberal(float min, float max, const int16_t **end) const
                                                                                                                                                                          Return at least all the star pairs whose inter-star distance is between min and max.
                                                                                                                                                                          Definition: databases.cpp:233
                                                                                                                                                                          -
                                                                                                                                                                          float MinDistance() const
                                                                                                                                                                          Lower bound on stored star pair distances.
                                                                                                                                                                          Definition: databases.hpp:63
                                                                                                                                                                          +
                                                                                                                                                                          A database storing distances between pairs of stars.
                                                                                                                                                                          Definition: databases.hpp:54
                                                                                                                                                                          +
                                                                                                                                                                          decimal MinDistance() const
                                                                                                                                                                          Lower bound on stored star pair distances.
                                                                                                                                                                          Definition: databases.hpp:65
                                                                                                                                                                          +
                                                                                                                                                                          static const int32_t kMagicValue
                                                                                                                                                                          Magic value to use when storing inside a MultiDatabase.
                                                                                                                                                                          Definition: databases.hpp:70
                                                                                                                                                                          +
                                                                                                                                                                          const int16_t * FindPairsExact(const Catalog &, decimal min, decimal max, const int16_t **end) const
                                                                                                                                                                          Definition: databases.cpp:248
                                                                                                                                                                          +
                                                                                                                                                                          const int16_t * FindPairsLiberal(decimal min, decimal max, const int16_t **end) const
                                                                                                                                                                          Return at least all the star pairs whose inter-star distance is between min and max.
                                                                                                                                                                          Definition: databases.cpp:237
                                                                                                                                                                          +
                                                                                                                                                                          decimal MaxDistance() const
                                                                                                                                                                          Upper bound on stored star pair distances.
                                                                                                                                                                          Definition: databases.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 "centroid" detected in an image.
                                                                                                                                                                          Definition: star-utils.hpp:49
                                                                                                                                                                          Vec2 position
                                                                                                                                                                          The (x,y) pixel coordinates in the image (top left is 0,0)
                                                                                                                                                                          Definition: star-utils.hpp:58
                                                                                                                                                                          Records that a certain Star (detected in the image) corresponds to a certain CatalogStar.
                                                                                                                                                                          Definition: star-utils.hpp:78
                                                                                                                                                                          int catalogIndex
                                                                                                                                                                          An index into an array of CatalogStar objects.
                                                                                                                                                                          Definition: star-utils.hpp:95
                                                                                                                                                                          int starIndex
                                                                                                                                                                          An index into an array of Star objects.
                                                                                                                                                                          Definition: star-utils.hpp:93
                                                                                                                                                                          -
                                                                                                                                                                          Three dimensional vector with floating point components.
                                                                                                                                                                          -
                                                                                                                                                                          Vec3 Normalize() const
                                                                                                                                                                          Create a vector pointing in the same direction with magnitude 1.
                                                                                                                                                                          -
                                                                                                                                                                          Vec3 CrossProduct(const Vec3 &) const
                                                                                                                                                                          Usual vector cross product.
                                                                                                                                                                          +
                                                                                                                                                                          Three dimensional vector with decimaling point components.
                                                                                                                                                                          +
                                                                                                                                                                          Vec3 Normalize() const
                                                                                                                                                                          Create a vector pointing in the same direction with magnitude 1.
                                                                                                                                                                          +
                                                                                                                                                                          Vec3 CrossProduct(const Vec3 &) const
                                                                                                                                                                          Usual vector cross product.
                                                                                                                                                                          -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          -
                                                                                                                                                                          float FloatModulo(float x, float mod)
                                                                                                                                                                          Given a float, find it "modulo" another float, in the true mathematical sense (not remainder).
                                                                                                                                                                          -
                                                                                                                                                                          float AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                          Calculate the inner angle, in radians, between two /unit/ vectors.
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< std::vector< IRUnidentifiedCentroid * >::iterator > FindUnidentifiedCentroidsInRange(std::vector< IRUnidentifiedCentroid * > *centroids, const Star &star, const Camera &camera, float minDistance, float maxDistance)
                                                                                                                                                                          Return all the unidentified centroids within the requested distance bounds from star
                                                                                                                                                                          Definition: star-id.cpp:299
                                                                                                                                                                          -
                                                                                                                                                                          void AddToAllUnidentifiedCentroids(const StarIdentifier &starId, const Stars &stars, std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids, float minDistance, float maxDistance, float angleFrom90Threshold, const Camera &camera)
                                                                                                                                                                          Given a list of unidentified centroids not yet at the soft threshold, and a list of unidentified cent...
                                                                                                                                                                          Definition: star-id.cpp:350
                                                                                                                                                                          +
                                                                                                                                                                          double decimal
                                                                                                                                                                          Definition: decimal.hpp:11
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_POW(base, power)
                                                                                                                                                                          Definition: decimal.hpp:39
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_M_PI
                                                                                                                                                                          Definition: decimal.hpp:29
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_M_PI_4
                                                                                                                                                                          Definition: decimal.hpp:31
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_SIN(x)
                                                                                                                                                                          Definition: decimal.hpp:52
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_ABS(x)
                                                                                                                                                                          Definition: decimal.hpp:49
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_M_PI_2
                                                                                                                                                                          Definition: decimal.hpp:30
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_ATAN2(x, y)
                                                                                                                                                                          Definition: decimal.hpp:58
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_COS(x)
                                                                                                                                                                          Definition: decimal.hpp:53
                                                                                                                                                                          +
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          const decimal kAngleFrom90SoftThreshold
                                                                                                                                                                          Definition: star-id.cpp:453
                                                                                                                                                                          std::vector< StarIdentifier > StarIdentifiers
                                                                                                                                                                          Definition: star-utils.hpp:102
                                                                                                                                                                          std::vector< Star > Stars
                                                                                                                                                                          Definition: star-utils.hpp:101
                                                                                                                                                                          -
                                                                                                                                                                          std::vector< int16_t > IdentifyThirdStar(const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, float distance1, float distance2, float tolerance)
                                                                                                                                                                          Given two already-identified centroids, and the distance from each to an as-yet unidentified third ce...
                                                                                                                                                                          Definition: star-id.cpp:384
                                                                                                                                                                          -
                                                                                                                                                                          const float kAngleFrom90SoftThreshold
                                                                                                                                                                          Definition: star-id.cpp:453
                                                                                                                                                                          +
                                                                                                                                                                          decimal AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                          Calculate the inner angle, in radians, between two /unit/ vectors.
                                                                                                                                                                          std::vector< int16_t > ConsumeInvolvingIterator(PairDistanceInvolvingIterator it)
                                                                                                                                                                          Definition: star-id.cpp:244
                                                                                                                                                                          -
                                                                                                                                                                          float Angle(const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                          Calculate the inner angle, in radians, between two vectors.
                                                                                                                                                                          +
                                                                                                                                                                          decimal Angle(const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                          Calculate the inner angle, in radians, between two vectors.
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< std::vector< IRUnidentifiedCentroid * >::iterator > FindUnidentifiedCentroidsInRange(std::vector< IRUnidentifiedCentroid * > *centroids, const Star &star, const Camera &camera, decimal minDistance, decimal maxDistance)
                                                                                                                                                                          Return all the unidentified centroids within the requested distance bounds from star
                                                                                                                                                                          Definition: star-id.cpp:299
                                                                                                                                                                          +
                                                                                                                                                                          int IdentifyRemainingStarsPairDistance(StarIdentifiers *, const Stars &, const PairDistanceKVectorDatabase &, const Catalog &, const Camera &, decimal tolerance)
                                                                                                                                                                          Given some identified stars, attempt to identify the rest.
                                                                                                                                                                          Definition: star-id.cpp:461
                                                                                                                                                                          +
                                                                                                                                                                          decimal DecimalModulo(decimal x, decimal mod)
                                                                                                                                                                          Given a decimal, find it "modulo" another decimal, in the true mathematical sense (not remainder).
                                                                                                                                                                          +
                                                                                                                                                                          std::vector< int16_t > IdentifyThirdStar(const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, decimal distance1, decimal distance2, decimal tolerance)
                                                                                                                                                                          Given two already-identified centroids, and the distance from each to an as-yet unidentified third ce...
                                                                                                                                                                          Definition: star-id.cpp:384
                                                                                                                                                                          std::unordered_multimap< int16_t, int16_t > PairDistanceQueryToMap(const int16_t *pairs, const int16_t *end)
                                                                                                                                                                          Given the result of a pair-distance kvector query, build a hashmultimap of stars to other stars that ...
                                                                                                                                                                          Definition: star-id.cpp:259
                                                                                                                                                                          -
                                                                                                                                                                          int IdentifyRemainingStarsPairDistance(StarIdentifiers *, const Stars &, const PairDistanceKVectorDatabase &, const Catalog &, const Camera &, float tolerance)
                                                                                                                                                                          Given some identified stars, attempt to identify the rest.
                                                                                                                                                                          Definition: star-id.cpp:461
                                                                                                                                                                          std::vector< CatalogStar > Catalog
                                                                                                                                                                          Definition: star-utils.hpp:100
                                                                                                                                                                          IRUnidentifiedCentroid * SelectNextUnidentifiedCentroid(std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids)
                                                                                                                                                                          Definition: star-id.cpp:429
                                                                                                                                                                          +
                                                                                                                                                                          void AddToAllUnidentifiedCentroids(const StarIdentifier &starId, const Stars &stars, std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids, decimal minDistance, decimal maxDistance, decimal angleFrom90Threshold, const Camera &camera)
                                                                                                                                                                          Given a list of unidentified centroids not yet at the soft threshold, and a list of unidentified cent...
                                                                                                                                                                          Definition: star-id.cpp:350
                                                                                                                                                                          #define _CHECK_DISTANCE(_dist)
                                                                                                                                                                          -
                                                                                                                                                                          A two dimensional vector with floating point components.
                                                                                                                                                                          - - +
                                                                                                                                                                          A two dimensional vector with decimaling point components.
                                                                                                                                                                          + + diff --git a/star-id_8hpp.html b/star-id_8hpp.html index 4385c273..0bf9c0dc 100644 --- a/star-id_8hpp.html +++ b/star-id_8hpp.html @@ -99,18 +99,21 @@
                                                                                                                                                                          - - - - - - - - - - - - + + + + + + + + + + + + + + +
                                                                                                                                                                          @@ -158,7 +161,7 @@ diff --git a/star-id_8hpp__incl.map b/star-id_8hpp__incl.map index d7a39d44..cb3a7103 100644 --- a/star-id_8hpp__incl.map +++ b/star-id_8hpp__incl.map @@ -1,14 +1,17 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/star-id_8hpp__incl.md5 b/star-id_8hpp__incl.md5 index de9b4438..94e6965c 100644 --- a/star-id_8hpp__incl.md5 +++ b/star-id_8hpp__incl.md5 @@ -1 +1 @@ -2a745ef7aaa6b40b82ee98c01ee0fbdf \ No newline at end of file +b4ec7f85eab6c631e20c6f088bc37139 \ No newline at end of file diff --git a/star-id_8hpp__incl.png b/star-id_8hpp__incl.png index ea2a53ac..3b5e806d 100644 Binary files a/star-id_8hpp__incl.png and b/star-id_8hpp__incl.png differ diff --git a/star-id_8hpp_source.html b/star-id_8hpp_source.html index e767f0ff..506b06d2 100644 --- a/star-id_8hpp_source.html +++ b/star-id_8hpp_source.html @@ -115,22 +115,22 @@
                                                                                                                                                                          36 public:
                                                                                                                                                                          37  StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const;
                                                                                                                                                                          38 
                                                                                                                                                                          -
                                                                                                                                                                          42  explicit GeometricVotingStarIdAlgorithm(float tolerance): tolerance(tolerance) { };
                                                                                                                                                                          +
                                                                                                                                                                          42  explicit GeometricVotingStarIdAlgorithm(decimal tolerance): tolerance(tolerance) { };
                                                                                                                                                                          43 private:
                                                                                                                                                                          -
                                                                                                                                                                          44  float tolerance;
                                                                                                                                                                          +
                                                                                                                                                                          44  decimal tolerance;
                                                                                                                                                                          45 };
                                                                                                                                                                          46 
                                                                                                                                                                          47 
                                                                                                                                                                          53 public:
                                                                                                                                                                          54  StarIdentifiers Go(const unsigned char *database, const Stars &, const Catalog &, const Camera &) const;
                                                                                                                                                                          -
                                                                                                                                                                          63  PyramidStarIdAlgorithm(float tolerance, int numFalseStars, float maxMismatchProbability, long cutoff)
                                                                                                                                                                          +
                                                                                                                                                                          63  PyramidStarIdAlgorithm(decimal tolerance, int numFalseStars, decimal maxMismatchProbability, long cutoff)
                                                                                                                                                                          64  : tolerance(tolerance), numFalseStars(numFalseStars),
                                                                                                                                                                          65  maxMismatchProbability(maxMismatchProbability), cutoff(cutoff) { };
                                                                                                                                                                          66 private:
                                                                                                                                                                          -
                                                                                                                                                                          67  float tolerance;
                                                                                                                                                                          +
                                                                                                                                                                          67  decimal tolerance;
                                                                                                                                                                          68  int numFalseStars;
                                                                                                                                                                          -
                                                                                                                                                                          69  float maxMismatchProbability;
                                                                                                                                                                          +
                                                                                                                                                                          69  decimal maxMismatchProbability;
                                                                                                                                                                          70  long cutoff;
                                                                                                                                                                          71 };
                                                                                                                                                                          72 
                                                                                                                                                                          @@ -143,15 +143,16 @@
                                                                                                                                                                          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(float tolerance)
                                                                                                                                                                          Definition: star-id.hpp:42
                                                                                                                                                                          +
                                                                                                                                                                          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
                                                                                                                                                                          -
                                                                                                                                                                          PyramidStarIdAlgorithm(float tolerance, int numFalseStars, float maxMismatchProbability, long cutoff)
                                                                                                                                                                          Definition: star-id.hpp:63
                                                                                                                                                                          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.
                                                                                                                                                                          -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          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
                                                                                                                                                                          @@ -162,7 +163,7 @@ diff --git a/star-utils_8cpp.html b/star-utils_8cpp.html index a0e4b0cb..6d4e6116 100644 --- a/star-utils_8cpp.html +++ b/star-utils_8cpp.html @@ -101,18 +101,21 @@
                                                                                                                                                                          - - + + - - - - + + + + - + - - + + + + +
                                                                                                                                                                          @@ -128,9 +131,9 @@ Functions

                                                                                                                                                                          bool lost::CatalogStarMagnitudeCompare (const CatalogStar &a, const CatalogStar &b)   -Catalog lost::NarrowCatalog (const Catalog &, int maxMagnitude, int maxStars, float minSeparation) - Remove unwanted stars from an unfiltered catalog. More...
                                                                                                                                                                          -  +Catalog lost::NarrowCatalog (const Catalog &, int maxMagnitude, int maxStars, decimal minSeparation) + Remove unwanted stars from an unfiltered catalog. More...
                                                                                                                                                                          +  Catalog::const_iterator lost::FindNamedStar (const Catalog &catalog, int name)  Return a pointer to the star with the given name, or NULL if not found. More...
                                                                                                                                                                            @@ -146,9 +149,9 @@ Catalog lost::DeserializeCatalog (DeserializeContext *des, bool *inclMagnitudeReturn, bool *inclNameReturn)  Deserialize a catalog. More...
                                                                                                                                                                            -float lost::MagToBrightness (int magnitude) - returns some relative brightness measure, which is proportional to the total number of photons received from a star. More...
                                                                                                                                                                          -  +decimal lost::MagToBrightness (int magnitude) + returns some relative brightness measure, which is proportional to the total number of photons received from a star. More...
                                                                                                                                                                          @@ -156,7 +159,7 @@ diff --git a/star-utils_8cpp.js b/star-utils_8cpp.js index a4d4d993..64745e14 100644 --- a/star-utils_8cpp.js +++ b/star-utils_8cpp.js @@ -4,8 +4,8 @@ var star_utils_8cpp = [ "DeserializeCatalog", "star-utils_8cpp.html#a3d0e0e4b5dd7521775ee2d00143ab022", null ], [ "DeserializeCatalogStar", "star-utils_8cpp.html#a7b5da8e7e7f7a91826c99bcc2be8f482", null ], [ "FindNamedStar", "star-utils_8cpp.html#ac722314f3b14385ade7e5f05699ef006", null ], - [ "MagToBrightness", "star-utils_8cpp.html#a90ef8f69cd7b77ba05701f833fdaa320", null ], - [ "NarrowCatalog", "star-utils_8cpp.html#af37c1bfa9d31aeb6fcd705fffd13497c", null ], + [ "MagToBrightness", "star-utils_8cpp.html#a433010bbab5f3763241a7aa3f87fbfc7", null ], + [ "NarrowCatalog", "star-utils_8cpp.html#a97bab24607652ec26c12d9a3d3aa52b2", null ], [ "SerializeCatalog", "star-utils_8cpp.html#a2cc7e2e970e07d707f25c00fcd3071a3", null ], [ "SerializeCatalogStar", "star-utils_8cpp.html#a12fa960d591f9842a51451394cc86412", null ] ]; \ No newline at end of file diff --git a/star-utils_8cpp__incl.map b/star-utils_8cpp__incl.map index b3341afc..d937dec5 100644 --- a/star-utils_8cpp__incl.map +++ b/star-utils_8cpp__incl.map @@ -1,14 +1,17 @@ - - + + - - - - + + + + - + - - + + + + + diff --git a/star-utils_8cpp__incl.md5 b/star-utils_8cpp__incl.md5 index e911ae7f..9ef2d1a8 100644 --- a/star-utils_8cpp__incl.md5 +++ b/star-utils_8cpp__incl.md5 @@ -1 +1 @@ -5621ceb7b67f7645d70aef588510306d \ No newline at end of file +f2f00dd095380650d407d69140721a7f \ No newline at end of file diff --git a/star-utils_8cpp__incl.png b/star-utils_8cpp__incl.png index 9feb903f..842c3614 100644 Binary files a/star-utils_8cpp__incl.png and b/star-utils_8cpp__incl.png differ diff --git a/star-utils_8cpp_source.html b/star-utils_8cpp_source.html index b0600bab..27c83d0c 100644 --- a/star-utils_8cpp_source.html +++ b/star-utils_8cpp_source.html @@ -103,7 +103,7 @@
                                                                                                                                                                          14  return a.magnitude < b.magnitude;
                                                                                                                                                                          15 }
                                                                                                                                                                          16 
                                                                                                                                                                          -
                                                                                                                                                                          17 Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, float minSeparation) {
                                                                                                                                                                          +
                                                                                                                                                                          17 Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, decimal minSeparation) {
                                                                                                                                                                          18  Catalog result;
                                                                                                                                                                          19  for (int i = 0; i < (int)catalog.size(); i++) {
                                                                                                                                                                          20  if (catalog[i].magnitude <= maxMagnitude) {
                                                                                                                                                                          @@ -117,7 +117,7 @@
                                                                                                                                                                          28  // easy enough to n^2 brute force, the catalog isn't that big
                                                                                                                                                                          29  for (int i = 0; i < (int)result.size(); i++) {
                                                                                                                                                                          30  for (int j = i+1; j < (int)result.size(); j++) {
                                                                                                                                                                          -
                                                                                                                                                                          31  if (AngleUnit(result[i].spatial, result[j].spatial) < minSeparation) {
                                                                                                                                                                          +
                                                                                                                                                                          31  if (AngleUnit(result[i].spatial, result[j].spatial) < minSeparation) {
                                                                                                                                                                          32  tooCloseIndices.insert(i);
                                                                                                                                                                          33  tooCloseIndices.insert(j);
                                                                                                                                                                          34  }
                                                                                                                                                                          @@ -151,7 +151,7 @@
                                                                                                                                                                          70 void SerializeCatalogStar(SerializeContext *ser, const CatalogStar &catalogStar, bool inclMagnitude, bool inclName) {
                                                                                                                                                                          71  SerializeVec3(ser, catalogStar.spatial);
                                                                                                                                                                          72  if (inclMagnitude) {
                                                                                                                                                                          -
                                                                                                                                                                          73  SerializePrimitive<float>(ser, catalogStar.magnitude);
                                                                                                                                                                          +
                                                                                                                                                                          73  SerializePrimitive<decimal>(ser, catalogStar.magnitude);
                                                                                                                                                                          74  }
                                                                                                                                                                          75  if (inclName) {
                                                                                                                                                                          76  // TODO: double check that bools aren't some special bitwise thing in C++
                                                                                                                                                                          @@ -163,7 +163,7 @@
                                                                                                                                                                          87  CatalogStar result;
                                                                                                                                                                          88  result.spatial = DeserializeVec3(des);
                                                                                                                                                                          89  if (inclMagnitude) {
                                                                                                                                                                          -
                                                                                                                                                                          90  result.magnitude = DeserializePrimitive<float>(des);
                                                                                                                                                                          +
                                                                                                                                                                          90  result.magnitude = DeserializePrimitive<decimal>(des);
                                                                                                                                                                          91  } else {
                                                                                                                                                                          92  result.magnitude = -424242; // TODO, what to do about special values, since there's no good ones for ints.
                                                                                                                                                                          93  }
                                                                                                                                                                          @@ -211,8 +211,8 @@
                                                                                                                                                                          144  return result;
                                                                                                                                                                          145 }
                                                                                                                                                                          146 
                                                                                                                                                                          -
                                                                                                                                                                          147 float MagToBrightness(int mag) {
                                                                                                                                                                          -
                                                                                                                                                                          148  return pow(10.0, -mag/250.0);
                                                                                                                                                                          + +
                                                                                                                                                                          148  return DECIMAL_POW(DECIMAL(10.0), -mag/DECIMAL(250.0));
                                                                                                                                                                          149 }
                                                                                                                                                                          150 
                                                                                                                                                                          151 }
                                                                                                                                                                          @@ -220,21 +220,24 @@
                                                                                                                                                                          int name
                                                                                                                                                                          A unique number which unambiguously identifies the catalog star.
                                                                                                                                                                          Definition: star-utils.hpp:42
                                                                                                                                                                          int magnitude
                                                                                                                                                                          The magnitude of the star, with the decimal point shifted two places right.
                                                                                                                                                                          Definition: star-utils.hpp:37
                                                                                                                                                                          Vec3 spatial
                                                                                                                                                                          The point on the unit sphere where the star lies.
                                                                                                                                                                          Definition: star-utils.hpp:32
                                                                                                                                                                          - - -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          -
                                                                                                                                                                          float AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                          Calculate the inner angle, in radians, between two /unit/ vectors.
                                                                                                                                                                          + + +
                                                                                                                                                                          double decimal
                                                                                                                                                                          Definition: decimal.hpp:11
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL(x)
                                                                                                                                                                          Definition: decimal.hpp:21
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL_POW(base, power)
                                                                                                                                                                          Definition: decimal.hpp:39
                                                                                                                                                                          +
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          void SerializeCatalogStar(SerializeContext *ser, const CatalogStar &catalogStar, bool inclMagnitude, bool inclName)
                                                                                                                                                                          Serialize a CatalogStar into a byte buffer.
                                                                                                                                                                          Definition: star-utils.cpp:70
                                                                                                                                                                          void SerializeCatalog(SerializeContext *ser, const Catalog &catalog, bool inclMagnitude, bool inclName)
                                                                                                                                                                          Serialize the catalog to buffer.
                                                                                                                                                                          Definition: star-utils.cpp:107
                                                                                                                                                                          Catalog DeserializeCatalog(DeserializeContext *des, bool *inclMagnitudeReturn, bool *inclNameReturn)
                                                                                                                                                                          Deserialize a catalog.
                                                                                                                                                                          Definition: star-utils.cpp:123
                                                                                                                                                                          +
                                                                                                                                                                          decimal MagToBrightness(int mag)
                                                                                                                                                                          returns some relative brightness measure, which is proportional to the total number of photons receiv...
                                                                                                                                                                          Definition: star-utils.cpp:147
                                                                                                                                                                          +
                                                                                                                                                                          decimal AngleUnit(const Vec3 &vec1, const Vec3 &vec2)
                                                                                                                                                                          Calculate the inner angle, in radians, between two /unit/ vectors.
                                                                                                                                                                          bool CatalogStarMagnitudeCompare(const CatalogStar &a, const CatalogStar &b)
                                                                                                                                                                          Definition: star-utils.cpp:13
                                                                                                                                                                          CatalogStar DeserializeCatalogStar(DeserializeContext *des, bool inclMagnitude, bool inclName)
                                                                                                                                                                          Deserialize a catalog star.
                                                                                                                                                                          Definition: star-utils.cpp:86
                                                                                                                                                                          -
                                                                                                                                                                          float MagToBrightness(int mag)
                                                                                                                                                                          returns some relative brightness measure, which is proportional to the total number of photons receiv...
                                                                                                                                                                          Definition: star-utils.cpp:147
                                                                                                                                                                          -
                                                                                                                                                                          void SerializeVec3(SerializeContext *ser, const Vec3 &vec)
                                                                                                                                                                          Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.
                                                                                                                                                                          -
                                                                                                                                                                          Vec3 DeserializeVec3(DeserializeContext *des)
                                                                                                                                                                          +
                                                                                                                                                                          Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, decimal minSeparation)
                                                                                                                                                                          Remove unwanted stars from an unfiltered catalog.
                                                                                                                                                                          Definition: star-utils.cpp:17
                                                                                                                                                                          +
                                                                                                                                                                          void SerializeVec3(SerializeContext *ser, const Vec3 &vec)
                                                                                                                                                                          Serialize a Vec3 to buffer. Takes up space according to SerializeLengthVec3.
                                                                                                                                                                          +
                                                                                                                                                                          Vec3 DeserializeVec3(DeserializeContext *des)
                                                                                                                                                                          Catalog::const_iterator FindNamedStar(const Catalog &catalog, int name)
                                                                                                                                                                          Return a pointer to the star with the given name, or NULL if not found.
                                                                                                                                                                          Definition: star-utils.cpp:54
                                                                                                                                                                          std::vector< CatalogStar > Catalog
                                                                                                                                                                          Definition: star-utils.hpp:100
                                                                                                                                                                          -
                                                                                                                                                                          Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, float minSeparation)
                                                                                                                                                                          Remove unwanted stars from an unfiltered catalog.
                                                                                                                                                                          Definition: star-utils.cpp:17
                                                                                                                                                                          @@ -243,7 +246,7 @@ diff --git a/star-utils_8hpp.html b/star-utils_8hpp.html index 34e5eb99..f3320d68 100644 --- a/star-utils_8hpp.html +++ b/star-utils_8hpp.html @@ -100,14 +100,17 @@
                                                                                                                                                                          - - - - - - - - + + + + + + + + + + +
                                                                                                                                                                          @@ -172,12 +175,12 @@ Catalog::const_iterator lost::FindNamedStar (const Catalog &catalog, int name)  Return a pointer to the star with the given name, or NULL if not found. More...
                                                                                                                                                                            -float lost::MagToBrightness (int magnitude) - returns some relative brightness measure, which is proportional to the total number of photons received from a star. More...
                                                                                                                                                                          -  -Catalog lost::NarrowCatalog (const Catalog &, int maxMagnitude, int maxStars, float minSeparation) - Remove unwanted stars from an unfiltered catalog. More...
                                                                                                                                                                          -  +decimal lost::MagToBrightness (int magnitude) + returns some relative brightness measure, which is proportional to the total number of photons received from a star. More...
                                                                                                                                                                          +  +Catalog lost::NarrowCatalog (const Catalog &, int maxMagnitude, int maxStars, decimal minSeparation) + Remove unwanted stars from an unfiltered catalog. More...
                                                                                                                                                                          @@ -185,7 +188,7 @@ diff --git a/star-utils_8hpp.js b/star-utils_8hpp.js index c80dc7f4..2c4059b8 100644 --- a/star-utils_8hpp.js +++ b/star-utils_8hpp.js @@ -8,7 +8,7 @@ var star_utils_8hpp = [ "Stars", "star-utils_8hpp.html#a4bd359d9c09dbecb81c3a3e536f0b5c5", null ], [ "DeserializeCatalog", "star-utils_8hpp.html#a3d0e0e4b5dd7521775ee2d00143ab022", null ], [ "FindNamedStar", "star-utils_8hpp.html#ac722314f3b14385ade7e5f05699ef006", null ], - [ "MagToBrightness", "star-utils_8hpp.html#a90ef8f69cd7b77ba05701f833fdaa320", null ], - [ "NarrowCatalog", "star-utils_8hpp.html#af37c1bfa9d31aeb6fcd705fffd13497c", null ], + [ "MagToBrightness", "star-utils_8hpp.html#a433010bbab5f3763241a7aa3f87fbfc7", null ], + [ "NarrowCatalog", "star-utils_8hpp.html#a97bab24607652ec26c12d9a3d3aa52b2", null ], [ "SerializeCatalog", "star-utils_8hpp.html#a2cc7e2e970e07d707f25c00fcd3071a3", null ] ]; \ No newline at end of file diff --git a/star-utils_8hpp__incl.map b/star-utils_8hpp__incl.map index 450863c4..c59e3f0a 100644 --- a/star-utils_8hpp__incl.map +++ b/star-utils_8hpp__incl.map @@ -1,10 +1,13 @@ - - - - - - - - + + + + + + + + + + + diff --git a/star-utils_8hpp__incl.md5 b/star-utils_8hpp__incl.md5 index 0ddb5bf2..ad124ce8 100644 --- a/star-utils_8hpp__incl.md5 +++ b/star-utils_8hpp__incl.md5 @@ -1 +1 @@ -964618405e7c262183170e9addcf46ae \ No newline at end of file +03e58b31d62d5dfbb610f56e5bce091b \ No newline at end of file diff --git a/star-utils_8hpp__incl.png b/star-utils_8hpp__incl.png index e4deeb42..b2bea026 100644 Binary files a/star-utils_8hpp__incl.png and b/star-utils_8hpp__incl.png differ diff --git a/star-utils_8hpp_source.html b/star-utils_8hpp_source.html index 17fe58c2..bdb424ed 100644 --- a/star-utils_8hpp_source.html +++ b/star-utils_8hpp_source.html @@ -101,8 +101,8 @@
                                                                                                                                                                          13 public:
                                                                                                                                                                          14  CatalogStar() = default;
                                                                                                                                                                          15 
                                                                                                                                                                          -
                                                                                                                                                                          22  CatalogStar(float raj2000, float dej2000, int magnitude, int name) :
                                                                                                                                                                          -
                                                                                                                                                                          23  spatial(SphericalToSpatial(raj2000, dej2000)), magnitude(magnitude), name(name) {}
                                                                                                                                                                          +
                                                                                                                                                                          22  CatalogStar(decimal raj2000, decimal dej2000, int magnitude, int name) :
                                                                                                                                                                          +
                                                                                                                                                                          23  spatial(SphericalToSpatial(raj2000, dej2000)), magnitude(magnitude), name(name) {}
                                                                                                                                                                          24 
                                                                                                                                                                          @@ -114,26 +114,26 @@
                                                                                                                                                                          44 
                                                                                                                                                                          49 class Star {
                                                                                                                                                                          50 public:
                                                                                                                                                                          -
                                                                                                                                                                          51  Star(float x, float y, float radiusX, float radiusY, int magnitude) :
                                                                                                                                                                          - + +
                                                                                                                                                                          53 
                                                                                                                                                                          -
                                                                                                                                                                          55  Star(float x, float y, float radiusX) : Star(x, y, radiusX, radiusX, 0) {};
                                                                                                                                                                          +
                                                                                                                                                                          56 
                                                                                                                                                                          -
                                                                                                                                                                          58  Star() : Star(0.0, 0.0, 0.0) {};
                                                                                                                                                                          +
                                                                                                                                                                          58  Star() : Star(DECIMAL(0.0), DECIMAL(0.0), DECIMAL(0.0)) {};
                                                                                                                                                                          59 
                                                                                                                                                                          -
                                                                                                                                                                          63  float radiusX;
                                                                                                                                                                          -
                                                                                                                                                                          65  float radiusY;
                                                                                                                                                                          + +
                                                                                                                                                                          70  int magnitude;
                                                                                                                                                                          71  // eccentricity?
                                                                                                                                                                          72 };
                                                                                                                                                                          73 
                                                                                                                                                                          79 public:
                                                                                                                                                                          - - + + - +
                                                                                                                                                                          85 
                                                                                                                                                                          86  // does not check weight
                                                                                                                                                                          87  bool operator==(const StarIdentifier& other) const {
                                                                                                                                                                          @@ -143,7 +143,7 @@
                                                                                                                                                                          91 
                                                                                                                                                                          93  int starIndex;
                                                                                                                                                                          -
                                                                                                                                                                          97  float weight;
                                                                                                                                                                          +
                                                                                                                                                                          98 };
                                                                                                                                                                          99 
                                                                                                                                                                          100 typedef std::vector<CatalogStar> Catalog;
                                                                                                                                                                          @@ -155,58 +155,60 @@
                                                                                                                                                                          106 Catalog DeserializeCatalog(DeserializeContext *des, bool *inclMagnitudeReturn, bool *inclNameReturn);
                                                                                                                                                                          107 Catalog::const_iterator FindNamedStar(const Catalog &catalog, int name);
                                                                                                                                                                          108 
                                                                                                                                                                          -
                                                                                                                                                                          111 float MagToBrightness(int magnitude);
                                                                                                                                                                          +
                                                                                                                                                                          111 decimal MagToBrightness(int magnitude);
                                                                                                                                                                          112 
                                                                                                                                                                          -
                                                                                                                                                                          132 Catalog NarrowCatalog(const Catalog &, int maxMagnitude, int maxStars, float minSeparation);
                                                                                                                                                                          +
                                                                                                                                                                          132 Catalog NarrowCatalog(const Catalog &, int maxMagnitude, int maxStars, decimal minSeparation);
                                                                                                                                                                          133 
                                                                                                                                                                          134 }
                                                                                                                                                                          135 
                                                                                                                                                                          136 #endif
                                                                                                                                                                          A star from the Bright Star Catalog.
                                                                                                                                                                          Definition: star-utils.hpp:12
                                                                                                                                                                          -
                                                                                                                                                                          CatalogStar(float raj2000, float dej2000, int magnitude, int name)
                                                                                                                                                                          Create a CatalogStar using its celestial/spherical coordinates.
                                                                                                                                                                          Definition: star-utils.hpp:22
                                                                                                                                                                          +
                                                                                                                                                                          CatalogStar(decimal raj2000, decimal dej2000, int magnitude, int name)
                                                                                                                                                                          Create a CatalogStar using its celestial/spherical coordinates.
                                                                                                                                                                          Definition: star-utils.hpp:22
                                                                                                                                                                          int name
                                                                                                                                                                          A unique number which unambiguously identifies the catalog star.
                                                                                                                                                                          Definition: star-utils.hpp:42
                                                                                                                                                                          CatalogStar(Vec3 spatial, int magnitude, int name)
                                                                                                                                                                          Definition: star-utils.hpp:25
                                                                                                                                                                          int magnitude
                                                                                                                                                                          The magnitude of the star, with the decimal point shifted two places right.
                                                                                                                                                                          Definition: star-utils.hpp:37
                                                                                                                                                                          Vec3 spatial
                                                                                                                                                                          The point on the unit sphere where the star lies.
                                                                                                                                                                          Definition: star-utils.hpp:32
                                                                                                                                                                          CatalogStar()=default
                                                                                                                                                                          - - + +
                                                                                                                                                                          A "centroid" detected in an image.
                                                                                                                                                                          Definition: star-utils.hpp:49
                                                                                                                                                                          -
                                                                                                                                                                          Star(float x, float y, float radiusX, float radiusY, int magnitude)
                                                                                                                                                                          Definition: star-utils.hpp:51
                                                                                                                                                                          +
                                                                                                                                                                          decimal radiusY
                                                                                                                                                                          Approximate vertical radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:65
                                                                                                                                                                          +
                                                                                                                                                                          Star(decimal x, decimal y, decimal radiusX, decimal radiusY, int magnitude)
                                                                                                                                                                          Definition: star-utils.hpp:51
                                                                                                                                                                          Star()
                                                                                                                                                                          Create a zeroed-out star. Fields should be set immediately after construction.
                                                                                                                                                                          Definition: star-utils.hpp:58
                                                                                                                                                                          Vec2 position
                                                                                                                                                                          The (x,y) pixel coordinates in the image (top left is 0,0)
                                                                                                                                                                          Definition: star-utils.hpp:58
                                                                                                                                                                          +
                                                                                                                                                                          Star(decimal x, decimal y, decimal radiusX)
                                                                                                                                                                          Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0.
                                                                                                                                                                          Definition: star-utils.hpp:55
                                                                                                                                                                          +
                                                                                                                                                                          decimal radiusX
                                                                                                                                                                          Approximate horizontal radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:63
                                                                                                                                                                          int magnitude
                                                                                                                                                                          A relative measure of magnitude of the star.
                                                                                                                                                                          Definition: star-utils.hpp:70
                                                                                                                                                                          -
                                                                                                                                                                          float radiusY
                                                                                                                                                                          Approximate vertical radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:65
                                                                                                                                                                          -
                                                                                                                                                                          Star(float x, float y, float radiusX)
                                                                                                                                                                          Convenience constructor that sets Star.radiusY = radiusX and Star.magnitude = 0.
                                                                                                                                                                          Definition: star-utils.hpp:55
                                                                                                                                                                          -
                                                                                                                                                                          float radiusX
                                                                                                                                                                          Approximate horizontal radius of the bright area in pixels.
                                                                                                                                                                          Definition: star-utils.hpp:63
                                                                                                                                                                          Records that a certain Star (detected in the image) corresponds to a certain CatalogStar.
                                                                                                                                                                          Definition: star-utils.hpp:78
                                                                                                                                                                          +
                                                                                                                                                                          decimal weight
                                                                                                                                                                          A weight indicating the confidence of this idenification. Often just 1.
                                                                                                                                                                          Definition: star-utils.hpp:97
                                                                                                                                                                          bool operator==(const StarIdentifier &other) const
                                                                                                                                                                          Definition: star-utils.hpp:87
                                                                                                                                                                          int catalogIndex
                                                                                                                                                                          An index into an array of CatalogStar objects.
                                                                                                                                                                          Definition: star-utils.hpp:95
                                                                                                                                                                          StarIdentifier(int starIndex, int catalogIndex, int weight)
                                                                                                                                                                          Definition: star-utils.hpp:80
                                                                                                                                                                          StarIdentifier(int starIndex, int catalogIndex)
                                                                                                                                                                          Sets StarIdentifier.weight = 1.
                                                                                                                                                                          Definition: star-utils.hpp:83
                                                                                                                                                                          -
                                                                                                                                                                          float weight
                                                                                                                                                                          A weight indicating the confidence of this idenification. Often just 1.
                                                                                                                                                                          Definition: star-utils.hpp:97
                                                                                                                                                                          int starIndex
                                                                                                                                                                          An index into an array of Star objects.
                                                                                                                                                                          Definition: star-utils.hpp:93
                                                                                                                                                                          -
                                                                                                                                                                          Three dimensional vector with floating point components.
                                                                                                                                                                          -
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          +
                                                                                                                                                                          Three dimensional vector with decimaling point components.
                                                                                                                                                                          +
                                                                                                                                                                          double decimal
                                                                                                                                                                          Definition: decimal.hpp:11
                                                                                                                                                                          +
                                                                                                                                                                          #define DECIMAL(x)
                                                                                                                                                                          Definition: decimal.hpp:21
                                                                                                                                                                          +
                                                                                                                                                                          LOST starting point.
                                                                                                                                                                          std::vector< StarIdentifier > StarIdentifiers
                                                                                                                                                                          Definition: star-utils.hpp:102
                                                                                                                                                                          void SerializeCatalog(SerializeContext *ser, const Catalog &catalog, bool inclMagnitude, bool inclName)
                                                                                                                                                                          Serialize the catalog to buffer.
                                                                                                                                                                          Definition: star-utils.cpp:107
                                                                                                                                                                          Catalog DeserializeCatalog(DeserializeContext *des, bool *inclMagnitudeReturn, bool *inclNameReturn)
                                                                                                                                                                          Deserialize a catalog.
                                                                                                                                                                          Definition: star-utils.cpp:123
                                                                                                                                                                          +
                                                                                                                                                                          decimal MagToBrightness(int mag)
                                                                                                                                                                          returns some relative brightness measure, which is proportional to the total number of photons receiv...
                                                                                                                                                                          Definition: star-utils.cpp:147
                                                                                                                                                                          std::vector< Star > Stars
                                                                                                                                                                          Definition: star-utils.hpp:101
                                                                                                                                                                          -
                                                                                                                                                                          Vec3 SphericalToSpatial(float ra, float de)
                                                                                                                                                                          Convert from right ascension & declination to a 3d point on the unit sphere.
                                                                                                                                                                          -
                                                                                                                                                                          float MagToBrightness(int mag)
                                                                                                                                                                          returns some relative brightness measure, which is proportional to the total number of photons receiv...
                                                                                                                                                                          Definition: star-utils.cpp:147
                                                                                                                                                                          +
                                                                                                                                                                          Vec3 SphericalToSpatial(decimal ra, decimal de)
                                                                                                                                                                          Convert from right ascension & declination to a 3d point on the unit sphere.
                                                                                                                                                                          +
                                                                                                                                                                          Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, decimal minSeparation)
                                                                                                                                                                          Remove unwanted stars from an unfiltered catalog.
                                                                                                                                                                          Definition: star-utils.cpp:17
                                                                                                                                                                          Catalog::const_iterator FindNamedStar(const Catalog &catalog, int name)
                                                                                                                                                                          Return a pointer to the star with the given name, or NULL if not found.
                                                                                                                                                                          Definition: star-utils.cpp:54
                                                                                                                                                                          std::vector< CatalogStar > Catalog
                                                                                                                                                                          Definition: star-utils.hpp:100
                                                                                                                                                                          -
                                                                                                                                                                          Catalog NarrowCatalog(const Catalog &catalog, int maxMagnitude, int maxStars, float minSeparation)
                                                                                                                                                                          Remove unwanted stars from an unfiltered catalog.
                                                                                                                                                                          Definition: star-utils.cpp:17
                                                                                                                                                                          -
                                                                                                                                                                          A two dimensional vector with floating point components.
                                                                                                                                                                          +
                                                                                                                                                                          A two dimensional vector with decimaling point components.
                                                                                                                                                                          diff --git a/structlost_1_1_centroid_params-members.html b/structlost_1_1_centroid_params-members.html index 9d0ab93b..3af66ed0 100644 --- a/structlost_1_1_centroid_params-members.html +++ b/structlost_1_1_centroid_params-members.html @@ -94,10 +94,10 @@ cutofflost::CentroidParams isValidlost::CentroidParams magSumlost::CentroidParams - xCoordMagSumlost::CentroidParams + xCoordMagSumlost::CentroidParams xMaxlost::CentroidParams xMinlost::CentroidParams - yCoordMagSumlost::CentroidParams + yCoordMagSumlost::CentroidParams yMaxlost::CentroidParams yMinlost::CentroidParams @@ -105,7 +105,7 @@ diff --git a/structlost_1_1_centroid_params.html b/structlost_1_1_centroid_params.html index dffc430c..060761c6 100644 --- a/structlost_1_1_centroid_params.html +++ b/structlost_1_1_centroid_params.html @@ -93,10 +93,10 @@ - - - - + + + + @@ -116,7 +116,7 @@

                                                                                                                                                                          Public Attributes

                                                                                                                                                                          float yCoordMagSum
                                                                                                                                                                           
                                                                                                                                                                          float xCoordMagSum
                                                                                                                                                                           
                                                                                                                                                                          decimal yCoordMagSum
                                                                                                                                                                           
                                                                                                                                                                          decimal xCoordMagSum
                                                                                                                                                                           
                                                                                                                                                                          long magSum
                                                                                                                                                                           
                                                                                                                                                                          int xMin

                                                                                                                                                                          Detailed Description

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 110 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 112 of file centroiders.cpp.

                                                                                                                                                                          Member Data Documentation

                                                                                                                                                                          ◆ checkedIndices

                                                                                                                                                                          @@ -130,7 +130,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 120 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 122 of file centroiders.cpp.

                                                                                                                                                                          @@ -146,7 +146,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 118 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 120 of file centroiders.cpp.

                                                                                                                                                                          @@ -162,7 +162,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 119 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 121 of file centroiders.cpp.

                                                                                                                                                                          @@ -178,23 +178,23 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 113 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 115 of file centroiders.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ xCoordMagSum

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ xCoordMagSum

                                                                                                                                                                          - +
                                                                                                                                                                          float lost::CentroidParams::xCoordMagSumdecimal lost::CentroidParams::xCoordMagSum
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 112 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 114 of file centroiders.cpp.

                                                                                                                                                                          @@ -210,7 +210,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 115 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 117 of file centroiders.cpp.

                                                                                                                                                                          @@ -226,23 +226,23 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 114 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 116 of file centroiders.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ yCoordMagSum

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ yCoordMagSum

                                                                                                                                                                          - +
                                                                                                                                                                          float lost::CentroidParams::yCoordMagSumdecimal lost::CentroidParams::yCoordMagSum
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 111 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 113 of file centroiders.cpp.

                                                                                                                                                                          @@ -258,7 +258,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 117 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 119 of file centroiders.cpp.

                                                                                                                                                                          @@ -274,7 +274,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 116 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 118 of file centroiders.cpp.

                                                                                                                                                                          @@ -287,7 +287,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/structlost_1_1_centroid_params.js b/structlost_1_1_centroid_params.js index 967d94db..e134faff 100644 --- a/structlost_1_1_centroid_params.js +++ b/structlost_1_1_centroid_params.js @@ -4,10 +4,10 @@ var structlost_1_1_centroid_params = [ "cutoff", "structlost_1_1_centroid_params.html#a6cfd4e00ebf2a42f650c0fb3dc3e9786", null ], [ "isValid", "structlost_1_1_centroid_params.html#aa10ded620c3bbe4a1b60408e9cf90502", null ], [ "magSum", "structlost_1_1_centroid_params.html#aedcfd69a00c255c1e9166508ee5e58ff", null ], - [ "xCoordMagSum", "structlost_1_1_centroid_params.html#ac340f612012e1f6b172cb40fcfa9ae08", null ], + [ "xCoordMagSum", "structlost_1_1_centroid_params.html#afb3a3d1f3cabc2a77eac59b5abf3f273", null ], [ "xMax", "structlost_1_1_centroid_params.html#acb5e6b2f74543a8d99c79820a5a3fae5", null ], [ "xMin", "structlost_1_1_centroid_params.html#a1ad1a1cdb476e0a0be922b01306c4f01", null ], - [ "yCoordMagSum", "structlost_1_1_centroid_params.html#a421ee37e9ef2ac330acaf8ea5bca733d", null ], + [ "yCoordMagSum", "structlost_1_1_centroid_params.html#af28e2f57440cb866fbab13d9e9be10ad", null ], [ "yMax", "structlost_1_1_centroid_params.html#a94c747c963ad41ffed83a98e09061175", null ], [ "yMin", "structlost_1_1_centroid_params.html#ace328e1aca0f0a9c707e00bc6d8f7e05", null ] ]; \ No newline at end of file diff --git a/structlost_1_1_i_w_co_g_params-members.html b/structlost_1_1_i_w_co_g_params-members.html index 987b46e8..e27bcfce 100644 --- a/structlost_1_1_i_w_co_g_params-members.html +++ b/structlost_1_1_i_w_co_g_params-members.html @@ -104,7 +104,7 @@ diff --git a/structlost_1_1_i_w_co_g_params.html b/structlost_1_1_i_w_co_g_params.html index 6f053ec9..9128c7db 100644 --- a/structlost_1_1_i_w_co_g_params.html +++ b/structlost_1_1_i_w_co_g_params.html @@ -114,7 +114,7 @@

                                                                                                                                                                          Detailed Description

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 200 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 202 of file centroiders.cpp.

                                                                                                                                                                          Member Data Documentation

                                                                                                                                                                          ◆ checkedIndices

                                                                                                                                                                          @@ -128,7 +128,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 209 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 211 of file centroiders.cpp.

                                                                                                                                                                          @@ -144,7 +144,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 205 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 207 of file centroiders.cpp.

                                                                                                                                                                          @@ -160,7 +160,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 207 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 209 of file centroiders.cpp.

                                                                                                                                                                          @@ -176,7 +176,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 208 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 210 of file centroiders.cpp.

                                                                                                                                                                          @@ -192,7 +192,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 206 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 208 of file centroiders.cpp.

                                                                                                                                                                          @@ -208,7 +208,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 202 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 204 of file centroiders.cpp.

                                                                                                                                                                          @@ -224,7 +224,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 201 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 203 of file centroiders.cpp.

                                                                                                                                                                          @@ -240,7 +240,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 204 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 206 of file centroiders.cpp.

                                                                                                                                                                          @@ -256,7 +256,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 203 of file centroiders.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 205 of file centroiders.cpp.

                                                                                                                                                                          @@ -269,7 +269,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/structlost_1_1_k_vector_pair-members.html b/structlost_1_1_k_vector_pair-members.html index a54468db..80ae73f5 100644 --- a/structlost_1_1_k_vector_pair-members.html +++ b/structlost_1_1_k_vector_pair-members.html @@ -90,7 +90,7 @@

                                                                                                                                                                          This is the complete list of members for lost::KVectorPair, including all inherited members.

                                                                                                                                                                          - +
                                                                                                                                                                          distancelost::KVectorPair
                                                                                                                                                                          distancelost::KVectorPair
                                                                                                                                                                          index1lost::KVectorPair
                                                                                                                                                                          index2lost::KVectorPair
                                                                                                                                                                          @@ -98,7 +98,7 @@ diff --git a/structlost_1_1_k_vector_pair.html b/structlost_1_1_k_vector_pair.html index 13949e9b..ef2c9382 100644 --- a/structlost_1_1_k_vector_pair.html +++ b/structlost_1_1_k_vector_pair.html @@ -97,26 +97,26 @@   int16_t index2   -float distance -  +decimal distance

                                                                                                                                                                          Detailed Description

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 19 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 23 of file databases.cpp.

                                                                                                                                                                          Member Data Documentation

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ distance

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ distance

                                                                                                                                                                          - +
                                                                                                                                                                          float lost::KVectorPair::distancedecimal lost::KVectorPair::distance
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 22 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 26 of file databases.cpp.

                                                                                                                                                                          @@ -132,7 +132,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 20 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 24 of file databases.cpp.

                                                                                                                                                                          @@ -148,7 +148,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 21 of file databases.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 25 of file databases.cpp.

                                                                                                                                                                          @@ -161,7 +161,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/structlost_1_1_k_vector_pair.js b/structlost_1_1_k_vector_pair.js index 580ed874..d25e85f6 100644 --- a/structlost_1_1_k_vector_pair.js +++ b/structlost_1_1_k_vector_pair.js @@ -1,6 +1,6 @@ var structlost_1_1_k_vector_pair = [ - [ "distance", "structlost_1_1_k_vector_pair.html#af099ea7e016e1e192592f9170a100453", null ], + [ "distance", "structlost_1_1_k_vector_pair.html#a59e7fb46e41e1365b35b99c8ef9656ae", null ], [ "index1", "structlost_1_1_k_vector_pair.html#a9ebe0e523a60fa47f885becad718ffea", null ], [ "index2", "structlost_1_1_k_vector_pair.html#ae2cfc4c6e1a7f49c465a4ae548838fb4", null ] ]; \ No newline at end of file diff --git a/structlost_1_1_pipeline_output-members.html b/structlost_1_1_pipeline_output-members.html index 04bbfa9f..f7ff8140 100644 --- a/structlost_1_1_pipeline_output-members.html +++ b/structlost_1_1_pipeline_output-members.html @@ -102,7 +102,7 @@ diff --git a/structlost_1_1_pipeline_output.html b/structlost_1_1_pipeline_output.html index 1c4068b5..3e0f797d 100644 --- a/structlost_1_1_pipeline_output.html +++ b/structlost_1_1_pipeline_output.html @@ -119,7 +119,7 @@

                                                                                                                                                                          The result of running a pipeline.

                                                                                                                                                                          Also stores intermediate outputs, not just the final attitude.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 189 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 190 of file io.hpp.

                                                                                                                                                                          Member Data Documentation

                                                                                                                                                                          ◆ attitude

                                                                                                                                                                          @@ -133,7 +133,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 192 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 193 of file io.hpp.

                                                                                                                                                                          @@ -149,7 +149,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 198 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 199 of file io.hpp.

                                                                                                                                                                          @@ -168,7 +168,7 @@

                                                                                                                                                                          Todo:
                                                                                                                                                                          Don't store it here
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 204 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 205 of file io.hpp.

                                                                                                                                                                          @@ -187,7 +187,7 @@

                                                                                                                                                                          Definition at line 196 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 197 of file io.hpp.

                                                                                                                                                                          @@ -203,7 +203,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 191 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 192 of file io.hpp.

                                                                                                                                                                          @@ -219,7 +219,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 197 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 198 of file io.hpp.

                                                                                                                                                                          @@ -235,7 +235,7 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 190 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 191 of file io.hpp.

                                                                                                                                                                          @@ -248,7 +248,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/structlost_1_1_star_id_comparison-members.html b/structlost_1_1_star_id_comparison-members.html index 19230ee4..f4f9607a 100644 --- a/structlost_1_1_star_id_comparison-members.html +++ b/structlost_1_1_star_id_comparison-members.html @@ -98,7 +98,7 @@ diff --git a/structlost_1_1_star_id_comparison.html b/structlost_1_1_star_id_comparison.html index 88bfce00..c730d312 100644 --- a/structlost_1_1_star_id_comparison.html +++ b/structlost_1_1_star_id_comparison.html @@ -111,7 +111,7 @@

                                                                                                                                                                          Detailed Description

                                                                                                                                                                          The result of comparing an actual star identification with the true star idenification, used for testing and benchmarking.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 208 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 209 of file io.hpp.

                                                                                                                                                                          Member Data Documentation

                                                                                                                                                                          ◆ numCorrect

                                                                                                                                                                          @@ -127,7 +127,7 @@

                                                                                                                                                                          Definition at line 211 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 212 of file io.hpp.

                                                                                                                                                                          @@ -149,7 +149,7 @@

                                                                                                                                                                          Definition at line 216 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 217 of file io.hpp.

                                                                                                                                                                          @@ -167,7 +167,7 @@

                                                                                                                                                                          Definition at line 219 of file io.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 220 of file io.hpp.

                                                                                                                                                                          @@ -180,7 +180,7 @@

                                                                                                                                                                            - +
                                                                                                                                                                          diff --git a/structlost_1_1_vec2-members.html b/structlost_1_1_vec2-members.html index f9bafb6f..4afa5bb3 100644 --- a/structlost_1_1_vec2-members.html +++ b/structlost_1_1_vec2-members.html @@ -90,21 +90,21 @@

                                                                                                                                                                          This is the complete list of members for lost::Vec2, including all inherited members.

                                                                                                                                                                          - - + + - - + + - - + +
                                                                                                                                                                          Magnitude() constlost::Vec2
                                                                                                                                                                          MagnitudeSq() constlost::Vec2
                                                                                                                                                                          Magnitude() constlost::Vec2
                                                                                                                                                                          MagnitudeSq() constlost::Vec2
                                                                                                                                                                          Normalize() constlost::Vec2
                                                                                                                                                                          operator*(const Vec2 &) constlost::Vec2
                                                                                                                                                                          operator*(const float &) constlost::Vec2
                                                                                                                                                                          operator*(const Vec2 &) constlost::Vec2
                                                                                                                                                                          operator*(const decimal &) constlost::Vec2
                                                                                                                                                                          operator+(const Vec2 &) constlost::Vec2
                                                                                                                                                                          operator-(const Vec2 &) constlost::Vec2
                                                                                                                                                                          xlost::Vec2
                                                                                                                                                                          ylost::Vec2
                                                                                                                                                                          xlost::Vec2
                                                                                                                                                                          ylost::Vec2
                                                                                                                                                                          diff --git a/structlost_1_1_vec2.html b/structlost_1_1_vec2.html index a4c6d88b..14fd6a6b 100644 --- a/structlost_1_1_vec2.html +++ b/structlost_1_1_vec2.html @@ -92,25 +92,25 @@
                                                                                                                                                                          -

                                                                                                                                                                          A two dimensional vector with floating point components. +

                                                                                                                                                                          A two dimensional vector with decimaling point components. More...

                                                                                                                                                                          #include <attitude-utils.hpp>

                                                                                                                                                                          - - - - - + + + + + - - - - - + + + + + @@ -120,24 +120,24 @@

                                                                                                                                                                          Public Member Functions

                                                                                                                                                                          float Magnitude () const
                                                                                                                                                                           
                                                                                                                                                                          float MagnitudeSq () const
                                                                                                                                                                           The square of the magnitude. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal Magnitude () const
                                                                                                                                                                           
                                                                                                                                                                          decimal MagnitudeSq () const
                                                                                                                                                                           The square of the magnitude. More...
                                                                                                                                                                           
                                                                                                                                                                          Vec2 Normalize () const
                                                                                                                                                                           
                                                                                                                                                                          float operator* (const Vec2 &) const
                                                                                                                                                                           
                                                                                                                                                                          Vec2 operator* (const float &) const
                                                                                                                                                                           Dot product. More...
                                                                                                                                                                           
                                                                                                                                                                          decimal operator* (const Vec2 &) const
                                                                                                                                                                           
                                                                                                                                                                          Vec2 operator* (const decimal &) const
                                                                                                                                                                           Dot product. More...
                                                                                                                                                                           
                                                                                                                                                                          Vec2 operator- (const Vec2 &) const
                                                                                                                                                                           Usual vector addition. More...
                                                                                                                                                                           
                                                                                                                                                                          - - - - + + + +

                                                                                                                                                                          Public Attributes

                                                                                                                                                                          float x
                                                                                                                                                                           
                                                                                                                                                                          float y
                                                                                                                                                                           
                                                                                                                                                                          decimal x
                                                                                                                                                                           
                                                                                                                                                                          decimal y
                                                                                                                                                                           

                                                                                                                                                                          Detailed Description

                                                                                                                                                                          -

                                                                                                                                                                          A two dimensional vector with floating point components.

                                                                                                                                                                          +

                                                                                                                                                                          A two dimensional vector with decimaling point components.

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 16 of file attitude-utils.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 17 of file attitude-utils.hpp.

                                                                                                                                                                          Member Function Documentation

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ Magnitude()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ Magnitude()

                                                                                                                                                                          - + @@ -145,18 +145,18 @@

                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 186 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 188 of file attitude-utils.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ MagnitudeSq()

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ MagnitudeSq()

                                                                                                                                                                          float lost::Vec2::Magnitude decimal lost::Vec2::Magnitude ( ) const
                                                                                                                                                                          - + @@ -166,7 +166,7 @@

                                                                                                                                                                          Definition at line 178 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 180 of file attitude-utils.cpp.

                                                                                                                                                                          @@ -187,8 +187,8 @@

                                                                                                                                                                          -

                                                                                                                                                                          ◆ operator*() [1/2]

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ operator*() [1/2]

                                                                                                                                                                          @@ -196,7 +196,7 @@

                                                                                                                                                                          Vec2 lost::Vec2::operator*

                                                                                                                                                                          - + @@ -205,18 +205,18 @@

                                                                                                                                                                          Definition at line 204 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 206 of file attitude-utils.cpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ operator*() [2/2]

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ operator*() [2/2]

                                                                                                                                                                          float lost::Vec2::MagnitudeSq decimal lost::Vec2::MagnitudeSq ( ) const(const float & const decimal other) const
                                                                                                                                                                          - + @@ -245,7 +245,7 @@

                                                                                                                                                                          Definition at line 214 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 216 of file attitude-utils.cpp.

                                                                                                                                                                          @@ -267,40 +267,40 @@

                                                                                                                                                                          Definition at line 219 of file attitude-utils.cpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 221 of file attitude-utils.cpp.

                                                                                                                                                                          Member Data Documentation

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ x

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ x

                                                                                                                                                                          float lost::Vec2::operator* decimal lost::Vec2::operator* ( const Vec2 )
                                                                                                                                                                          - +
                                                                                                                                                                          float lost::Vec2::xdecimal lost::Vec2::x
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 17 of file attitude-utils.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 18 of file attitude-utils.hpp.

                                                                                                                                                                          - -

                                                                                                                                                                          ◆ y

                                                                                                                                                                          + +

                                                                                                                                                                          ◆ y

                                                                                                                                                                          - +
                                                                                                                                                                          float lost::Vec2::ydecimal lost::Vec2::y
                                                                                                                                                                          -

                                                                                                                                                                          Definition at line 18 of file attitude-utils.hpp.

                                                                                                                                                                          +

                                                                                                                                                                          Definition at line 19 of file attitude-utils.hpp.

                                                                                                                                                                          @@ -314,7 +314,7 @@

                                                                                                                                                                            - +

                                                                                                                                                                          diff --git a/structlost_1_1_vec2.js b/structlost_1_1_vec2.js index d0ba0a28..b16a6c41 100644 --- a/structlost_1_1_vec2.js +++ b/structlost_1_1_vec2.js @@ -1,12 +1,12 @@ var structlost_1_1_vec2 = [ - [ "Magnitude", "structlost_1_1_vec2.html#a358e9b88c20e79e262eaa413b41a446e", null ], - [ "MagnitudeSq", "structlost_1_1_vec2.html#aff160839bdf98a18db114a9bd7baab72", null ], + [ "Magnitude", "structlost_1_1_vec2.html#a8c0ffde8f19b509026b6a0d47ad2f5f3", null ], + [ "MagnitudeSq", "structlost_1_1_vec2.html#a3cb220d12e9a20f74f1afbad9d944e98", null ], [ "Normalize", "structlost_1_1_vec2.html#a031e09c0d302a0484fd250f0ef162cbf", null ], - [ "operator*", "structlost_1_1_vec2.html#a660fd87b54326ba7f95bb72b0e6bb230", null ], - [ "operator*", "structlost_1_1_vec2.html#ae6b4c9c8a5ba0f0b11b094ce48eb9a9a", null ], + [ "operator*", "structlost_1_1_vec2.html#aa16d8d8335e0d1c0816885340242100f", null ], + [ "operator*", "structlost_1_1_vec2.html#a736e460c2fa8d4a4cb013b376b6e2c8e", null ], [ "operator+", "structlost_1_1_vec2.html#a764696131be64a986d12dd4492d5d6d5", null ], [ "operator-", "structlost_1_1_vec2.html#a5e324a16898723879d58f2fd2160fe28", null ], - [ "x", "structlost_1_1_vec2.html#a9a9c151101dbb57060873e8af18927af", null ], - [ "y", "structlost_1_1_vec2.html#a3a23d5b38c5873b4b870ace85fd30d05", null ] + [ "x", "structlost_1_1_vec2.html#a46a5e51d9689b023106896d4968ace02", null ], + [ "y", "structlost_1_1_vec2.html#ab0daa57fd5f54435248f36e736411750", null ] ]; \ No newline at end of file diff --git a/todo.html b/todo.html index 6dede812..a2c028d9 100644 --- a/todo.html +++ b/todo.html @@ -94,7 +94,7 @@
                                                                                                                                                                          Don't store it here
                                                                                                                                                                          Member lost::PngPipelineInput::PngPipelineInput (cairo_surface_t *, Camera, const Catalog &)
                                                                                                                                                                          should rename, not specific to PNG.
                                                                                                                                                                          -
                                                                                                                                                                          Member lost::SerializeKVectorIndex (SerializeContext *ser, const std::vector< float > &values, float min, float max, long numBins)
                                                                                                                                                                          +
                                                                                                                                                                          Member lost::SerializeKVectorIndex (SerializeContext *ser, const std::vector< decimal > &values, decimal min, decimal max, long numBins)
                                                                                                                                                                          Consider replacing min and max parameters by just calculating the min and max of values?
                                                                                                                                                                          @@ -103,7 +103,7 @@