LOST  0.0.1
LOST: Open-source Star Tracker
lost::Pipeline Class Reference

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

#include <io.hpp>

Public Member Functions

 Pipeline ()=default
 
 Pipeline (CentroidAlgorithm *, StarIdAlgorithm *, AttitudeEstimationAlgorithm *, unsigned char *)
 Construct a pipeline using the given algorithms, some of which may be null. More...
 
PipelineOutput Go (const PipelineInput &)
 Run all stages of a pipeline. More...
 
std::vector< PipelineOutputGo (const PipelineInputList &)
 Convenience function to run the main Pipeline::Go function on each input. More...
 

Friends

Pipeline SetPipeline (const PipelineOptions &values)
 Create a pipeline from command line options. More...
 

Detailed Description

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 233 of file io.hpp.

Constructor & Destructor Documentation

◆ Pipeline() [1/2]

lost::Pipeline::Pipeline ( )
default

◆ Pipeline() [2/2]

lost::Pipeline::Pipeline ( CentroidAlgorithm centroidAlgorithm,
StarIdAlgorithm starIdAlgorithm,
AttitudeEstimationAlgorithm attitudeEstimationAlgorithm,
unsigned char *  database 
)

Construct a pipeline using the given algorithms, some of which may be null.

Parameters
databaseA pointer to the raw bytes of the database the star ID algorithm expects. If the database is NULL or not the type of database the star ID algorithm expects (almost always a multi-database), you'll get an error trying to identify stars later.

Definition at line 821 of file io.cpp.

Member Function Documentation

◆ Go() [1/2]

PipelineOutput lost::Pipeline::Go ( const PipelineInput input)

Run all stages of a pipeline.

This is the "main" method for pipelines. In space (or when using an image file as input), the 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 913 of file io.cpp.

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

◆ Go() [2/2]

std::vector< PipelineOutput > lost::Pipeline::Go ( const PipelineInputList inputs)

Convenience function to run the main Pipeline::Go function on each input.

Definition at line 1015 of file io.cpp.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ SetPipeline

Pipeline SetPipeline ( const PipelineOptions values)
friend

Create a pipeline from command line options.

Definition at line 842 of file io.cpp.


The documentation for this class was generated from the following files: