SatDump 2.0.0-alpha-76a915210
Loading...
Searching...
No Matches
kelvin_celcius.h
Go to the documentation of this file.
1#pragma once
2
6
8
9namespace satdump
10{
11 namespace calibration
12 {
13 namespace conv
14 {
21 {
22 private:
23 const bool ktc;
24
25 public:
31 KelvinCelsiusConverter(bool ktc) : ktc(ktc) {}
32
33 double convert(const UnitConverter *c, double x, double y, double val)
34 {
35 if (val == CALIBRATION_INVALID_VALUE)
36 return val; // Special case
37
38 return val + (ktc ? -273.15 : 273.15);
39 }
40
41 bool convert_range(const UnitConverter *c, double &min, double &max)
42 {
43 min = convert(c, 0, 0, min);
44 max = convert(c, 0, 0, max);
45 return true;
46 }
47 };
48 } // namespace conv
49 } // namespace calibration
50} // namespace satdump
Base class for unit converters. This is meant to implement conversions between calibration unit types...
Definition calibration_converter.h:26
Universal UnitConverter class, handling all conversion logic between any calibration unit type to ano...
Definition calibration_converter.h:115
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 kelvin_celcius.h:41
double convert(const UnitConverter *c, double x, double y, double val)
Core function (for images!) implementing conversion between calibration unit types.
Definition kelvin_celcius.h:33
KelvinCelsiusConverter(bool ktc)
Constructor.
Definition kelvin_celcius.h:31