32 using namespace Euclid::Configuration;
33 namespace po = boost::program_options;
44 DetectionImageConfig::DetectionImageConfig(
long manager_id) :
Configuration(manager_id),
45 m_gain(0), m_saturation(0), m_flux_scale(1.0), m_interpolation_gap(0) {
49 return { {
"Detection image", {
51 "Path to a fits format image to be used as detection image."},
53 "Detection image gain in e-/ADU (0 = infinite gain)"},
55 "Detection image flux scale"},
57 "Detection image saturation level (0 = no saturation)"},
59 "Interpolate bad pixels in detection image"},
61 "Maximum number if pixels to interpolate over"}
74 auto fits_image_source = std::make_shared<FitsImageSource<DetectionImage::PixelType>>(
m_detection_image_path);
78 double detection_image_gain = 0, detection_image_saturate = 0;
79 fits_image_source->readFitsKeyword(
"GAIN", detection_image_gain);
80 fits_image_source->readFitsKeyword(
"SATURATE", detection_image_saturate);
86 fits_image_source->readFitsKeyword(
"FLXSCALE",
m_flux_scale);
93 m_gain = detection_image_gain;
120 throw Elements::Exception() <<
"getDetectionImage() call on not initialized DetectionImageConfig";
127 throw Elements::Exception() <<
"getCoordinateSystem() call on not initialized DetectionImageConfig";
State & getCurrentState()