FOUND
Loading...
Searching...
No Matches
executors.hpp
Go to the documentation of this file.
1#ifndef PREPROCESSING_H_
2#define PREPROCESSING_H_
3
4#include <memory>
5
6#include "common/pipeline.hpp"
8#include "common/style.hpp"
9
11
12#include "distance/edge.hpp"
13#include "distance/distance.hpp"
15
16#include "orbit/orbit.hpp"
17
18namespace found {
19
25 public:
27 virtual ~PipelineExecutor() = default;
31 virtual void ExecutePipeline() = 0;
36 virtual void OutputResults() = 0;
37};
38
44 public:
52 std::unique_ptr<CalibrationAlgorithm> calibrationAlgorithm);
53
54 void ExecutePipeline() override;
55 void OutputResults() override;
56
57 private:
63 std::unique_ptr<CalibrationAlgorithm> calibrationAlgorithm;
64};
65
71 public:
76
90 std::unique_ptr<EdgeDetectionAlgorithm> edgeDetectionAlgorithm,
91 std::unique_ptr<DistanceDeterminationAlgorithm> distanceAlgorithm,
92 std::unique_ptr<VectorGenerationAlgorithm> vectorizationAlgorithm);
93
94 void ExecutePipeline() override;
95 void OutputResults() override;
96
97 private:
103 std::unique_ptr<EdgeDetectionAlgorithm> edgeDetectionAlgorithm;
105 std::unique_ptr<DistanceDeterminationAlgorithm> distanceAlgorithm;
107 std::unique_ptr<VectorGenerationAlgorithm> vectorizationAlgorithm;
108};
109
115 public:
122 explicit OrbitPipelineExecutor(OrbitOptions &&options,
123 std::unique_ptr<OrbitPropagationAlgorithm> orbitPropagationAlgorithm);
124
125 void ExecutePipeline() override;
126 void OutputResults() override;
127
128 private:
134 std::unique_ptr<OrbitPropagationAlgorithm> orbitPropagationAlgorithm;
135};
136
137} // namespace found
138
139#endif // PREPROCESSING_H_
Definition options.hpp:81
Definition options.hpp:89
Definition options.hpp:97
CalibrationPipelineExecutor is the pipeline executor for the calibration pipeline.
Definition executors.hpp:43
CalibrationPipeline pipeline_
The Calibration pipeline.
Definition executors.hpp:61
void OutputResults() override
Outputs the results of the Pipeline in some format.
Definition executors.cpp:26
const CalibrationOptions options_
The Calibration options being used.
Definition executors.hpp:59
std::unique_ptr< CalibrationAlgorithm > calibrationAlgorithm
The Calibration Algorithm used.
Definition executors.hpp:63
void ExecutePipeline() override
Executes the relavent Pipeline.
Definition executors.cpp:19
DistancePipelineExecutor is the pipeline executor for the distance determination pipeline.
Definition executors.hpp:70
std::unique_ptr< EdgeDetectionAlgorithm > edgeDetectionAlgorithm
The Edge Detection Algorithm used.
Definition executors.hpp:103
void OutputResults() override
Outputs the results of the Pipeline in some format.
Definition executors.cpp:62
void ExecutePipeline() override
Executes the relavent Pipeline.
Definition executors.cpp:56
const DistanceOptions options_
The DistanceOptions being used.
Definition executors.hpp:99
std::unique_ptr< DistanceDeterminationAlgorithm > distanceAlgorithm
The Distance Determination Algorithm being used.
Definition executors.hpp:105
std::unique_ptr< VectorGenerationAlgorithm > vectorizationAlgorithm
The Vectorization/Rotation Algorithm being used.
Definition executors.hpp:107
DistancePipeline pipeline_
The Distance pipeline being used.
Definition executors.hpp:101
~DistancePipelineExecutor()
Destroys this and all distance determination pipeline resources.
Definition executors.cpp:39
OrbitPipelineExecutor is the pipeline executor for the orbit determination pipeline.
Definition executors.hpp:114
void ExecutePipeline() override
Executes the relavent Pipeline.
Definition executors.cpp:100
void OutputResults() override
Outputs the results of the Pipeline in some format.
Definition executors.cpp:106
OrbitPipeline pipeline_
The Orbit pipeline.
Definition executors.hpp:132
std::unique_ptr< OrbitPropagationAlgorithm > orbitPropagationAlgorithm
The Orbit Propagation Algorithm being used.
Definition executors.hpp:134
const OrbitOptions options_
The Orbit options being used.
Definition executors.hpp:130
PipelineExecutor is an interface for classes that execute complex pipelines.
Definition executors.hpp:24
virtual void ExecutePipeline()=0
Executes the relavent Pipeline.
virtual void OutputResults()=0
Outputs the results of the Pipeline in some format.
virtual ~PipelineExecutor()=default
Destroys this.
Definition calibrate.cpp:7