9#include "common/calibration.h"
63 std::vector<std::shared_ptr<ConverterBase>> &c;
77 std::vector<std::shared_ptr<ConverterBase>> getAvailableConverters(std::string itype, std::string otype);
93 std::vector<std::string> &otypes;
103 std::vector<std::string> getAvailableConversions(std::string itype);
118 bool proj_valid =
false;
119 double wavenumber = -1;
122 bool unitEqual =
false;
123 std::shared_ptr<ConverterBase> converter;
173 inline double convert(
double x,
double y,
double val)
178 return converter->convert(
this, x, y, val);
180 return CALIBRATION_INVALID_VALUE;
196 return converter->convert_range(
this, min, max);
Base class for unit converters. This is meant to implement conversions between calibration unit types...
Definition calibration_converter.h:26
virtual double convert(const UnitConverter *c, double x, double y, double val)
Core function (for images!) implementing conversion between calibration unit types.
Definition calibration_converter.cpp:17
virtual bool convert_range(const UnitConverter *c, double &min, double &max)
Convert unit ranges. This does the same as convert, except it's optimized for converting a range.
Definition calibration_converter.cpp:18
Universal UnitConverter class, handling all conversion logic between any calibration unit type to ano...
Definition calibration_converter.h:115
void set_proj(nlohmann::json p)
Sets the projection to utilize for conversion if needed. This is optional, but some conversions will ...
Definition calibration_converter.cpp:20
bool convert_range(double &min, double &max)
Convert unit ranges. This does the same as convert, except it's optimized for a range.
Definition calibration_converter.h:191
UnitConverter()
Simple constructor.
Definition calibration_converter.h:129
double convert(double x, double y, double val)
Generic conversion function mostly aimed at converting data from images (TODOREWORK?...
Definition calibration_converter.h:173
void set_wavenumber(double w)
Sets the wavenumber to utilize for conversion if needed. This is optional, but some conversions will ...
Definition calibration_converter.cpp:26
void set_conversion(std::string itype, std::string otype)
Sets the conversion this UnitConverter should perform.
Definition calibration_converter.cpp:28
Extremely generic class to handle projections.
Definition projection.h:34
Event to let plugins list available conversions. Do note it's still possible no converter is provided...
Definition calibration_converter.h:91
Event to let plugins register their own unit converters.
Definition calibration_converter.h:62