FOUND
Loading...
Searching...
No Matches
style.hpp
Go to the documentation of this file.
1#ifndef STYLE_H
2#define STYLE_H
3
4#include <vector>
5#include <unordered_set>
6#include <functional>
7#include <utility>
8#include <memory>
9
11#include "common/decimal.hpp"
12#include "common/pipeline.hpp"
13
14namespace found {
15
17typedef __float128 PreciseDecimal;
18
21typedef std::vector<Vec2> Points;
22
27
34struct Image {
36 int width;
38 int height;
49 unsigned char *image;
50};
51
66
68typedef std::vector<Edge> Edges;
69
76struct Component {
78 std::unordered_set<uint64_t> points;
83};
84
86typedef std::vector<Component> Components;
87
95 uint64_t timestamp;
96
101};
102
103// so that we don't have to copy the data.
105typedef std::vector<LocationRecord> LocationRecords;
106
115
124 Vec3 (* position)(int theta);
125
135 Vec3 (* majorAxis)(int theta);
136
146 Vec3 (* minorAxis)(int theta);
147
159 decimal (* inPlaneRotation)(int theta);
160
171 decimal (* outPlaneRotation)(int theta);
172};
173
177
180typedef std::pair<std::function<Vec3(int)>,std::function<Vec3(int)>> KinematicPrediction;
181
184
187
190
191} // namespace found
192
193#endif // STYLE_H
Pipeline is composite Stage (i.e.
Definition pipeline.hpp:99
A Quaternion is a mutable object that represents a Quaternion.
Definition attitude-utils.hpp:192
A Vec3 is a mutable object that represents a 3D Vector.
Definition attitude-utils.hpp:47
double decimal
Definition decimal.hpp:15
Definition calibrate.cpp:7
std::vector< Component > Components
A collection of Image Pixels.
Definition style.hpp:86
std::vector< Edge > Edges
A collection of Edges.
Definition style.hpp:68
Pipeline< std::pair< EulerAngles, EulerAngles >, Quaternion > CalibrationPipeline
Pipeline for Calibration.
Definition style.hpp:183
std::vector< Vec2 > Points
The output for Edge Detection Algorithms (edge.hpp/cpp).
Definition style.hpp:21
std::vector< LocationRecord > LocationRecords
A collection of Location Records.
Definition style.hpp:105
Vec3 PositionVector
The output for Vector Assembly Algorithms (vectorize.hpp).
Definition style.hpp:26
__float128 PreciseDecimal
Alias for very precise floating point numbers.
Definition style.hpp:17
Pipeline< LocationRecords, LocationRecords > OrbitPipeline
Pipeline for Orbital Determination.
Definition style.hpp:189
Pipeline< Image, PositionVector > DistancePipeline
Pipeline for Distance Determination.
Definition style.hpp:186
std::pair< std::function< Vec3(int)>, std::function< Vec3(int)> > KinematicPrediction
The output for Kinematic Profile Completion.
Definition style.hpp:180
Represents a connected component in an image.
Definition style.hpp:76
Vec2 lowerRight
The highest point (right lower edge)
Definition style.hpp:82
Vec2 upperLeft
The lowest point (left upper edge)
Definition style.hpp:80
std::unordered_set< uint64_t > points
The points in this component.
Definition style.hpp:78
Represents a 2D edge in an image.
Definition style.hpp:58
Vec2 upperLeft
The lowest point (left upper edge)
Definition style.hpp:62
Vec2 lowerRight
The highest point (right lower edge)
Definition style.hpp:64
Points points
The edge points.
Definition style.hpp:60
Represents an image.
Definition style.hpp:34
unsigned char * image
The image contents.
Definition style.hpp:49
int channels
The image channels.
Definition style.hpp:40
int height
The image height.
Definition style.hpp:38
int width
The image width.
Definition style.hpp:36
Represents a single spatial data point with position and timestamp.
Definition style.hpp:91
Vec3 position
3D position of the recorded data point.
Definition style.hpp:100
uint64_t timestamp
Timestamp associated with the position, in microseconds or appropriate units.
Definition style.hpp:95
OrbitParams defines the orbital parameters of a given orbit.
Definition style.hpp:111
decimal(* outPlaneRotation)(int theta)
The angular speed that the satellite's orbit plane rotates out of plane at with respect to the number...
Definition style.hpp:171
Vec3(* position)(int theta)
The position of the satellite as a function of the number of revolutions it has done.
Definition style.hpp:124
Vec3 initialCondition
The initial position of the satellite with respect to Earth (at t = 0 and theta = 0)
Definition style.hpp:114
decimal(* inPlaneRotation)(int theta)
The angular speed that the satellite's orbit plane rotates in plane at with respect to the number of ...
Definition style.hpp:159
Vec3(* majorAxis)(int theta)
The major axis vector as a function with respect to the revolutions of the satellite.
Definition style.hpp:135
Vec3(* minorAxis)(int theta)
The minor axis vector as a function with respect to the revolutions of the satellite.
Definition style.hpp:146
A Vec2 is an immutable object that represents a 2D Vector.
Definition attitude-utils.hpp:18