Go to the documentation of this file.
18 #ifndef IMAGEHANDLING_HPP
19 #define IMAGEHANDLING_HPP
127 bool LoadFile(
const std::string& file_name,
const int position = 0);
137 bool LoadFilePlane(
const std::string& file_name,
const int position = 0,
138 const int plane = 0);
186 const double upperrightx,
const double upperrighty);
210 const double upperrightx,
const double upperrighty);
235 std::string color_map_name =
"standard");
603 double*
const x_image,
double*
const y_image);
613 double*
const x_image,
double*
const y_image)
const;
623 double*
const x_canvas,
624 double*
const y_canvas)
const;
635 const double y_image,
double* alpha,
636 double* delta)
const;
650 double*
const x_image,
651 double*
const y_image)
const;
662 const double y_canvas,
double* alpha,
675 double*
const x_canvas,
676 double*
const y_canvas);
700 double*
const value)
const;
710 const double y)
const;
728 std::vector<int>& distribution)
const;
734 const int64_t max_value,
735 std::vector<int>& distribution)
const;
740 double*
const min_value,
741 double*
const max_value)
const;
772 const double x_image,
const double y_image,
773 double*
const x_centroid,
774 double*
const y_centroid)
const;
792 const int size,
double*
const x_axis_angle,
793 double*
const background,
794 double*
const peak_above_background,
795 double*
const fwhm_x,
double*
const fwhm_y,
796 double*
const object_coord_x,
797 double*
const object_coord_y);
814 const int size,
double*
const background,
815 double*
const gaussian_volume,
816 double*
const correlation,
817 double*
const gaussian_coord_x,
818 double*
const gaussian_coord_y,
819 double*
const sigma_x,
double*
const sigma_y);
870 const double endx,
const double endy,
871 double*
const xoffset =
nullptr,
872 double*
const yoffset =
nullptr)
const;
889 const double endx,
const double endy,
890 double*
const xoffsetdeg =
nullptr,
891 double*
const yoffsetdeg =
nullptr);
914 bool process_image();
919 bool process_temp_image();
924 bool determine_cut_levels_and_min_max();
930 bool apply_bias_image();
935 boost::signals2::connection connect(
936 const signal_t::slot_type& event_listener);
941 void DataAvailable();
943 std::string readHeaderItem(
const cpl_property*
const property)
const;
945 void readPropertyValue(std::string& header_item,
946 const cpl_property*
const property)
const;
948 std::string getStringProperty(
const std::string string_prop)
const;
973 boost::signals2::connection connection;
990 cpl_image* internal_image;
995 cpl_image* temp_image;
1000 cpl_vector* internal_vector;
1005 cpl_table* internal_binary_table;
1010 std::string last_timestamp;
1025 int number_extensions;
1045 double cut_level_min;
1050 double cut_level_max;
1055 double median_filter_size;
1059 double image_pixel_min;
1064 double image_pixel_max;
1089 void* internal_image_buffer;
1094 double* internal_vector_buffer;
1104 std::list<std::string> color_maps;
1119 std::string actual_color_map_name;
1130 bool cut_levels_determined;
1146 bool first_segment_received;
1151 int current_bias_selected;
bool get_AttachedToStream() const
Definition: imageHandling.cpp:826
bool get_RotateFlag() const
Definition: imageHandling.cpp:788
void set_ColorScalingTypeLogarithmic()
Definition: imageHandling.cpp:1416
void set_logger(ddt::DdtLogger *const in_logger)
Definition: imageHandling.cpp:65
@ USERDEFINED
Definition: imageHandling.hpp:83
boost::signals2::signal< void()> signal_t
Definition: ddtMemoryAccessor.hpp:79
bool ApplyCutLevelsAuto()
Definition: imageHandling.cpp:375
bool ApplyCutLevelsMinMax()
Definition: imageHandling.cpp:310
double GetImagePixelDistanceDegrees(const double startx, const double starty, const double endx, const double endy, double *const xoffsetdeg=nullptr, double *const yoffsetdeg=nullptr)
Definition: imageHandling.cpp:1738
int get_ImageHeight() const
Definition: imageHandling.cpp:1310
void set_CutLevelType(const CutLevelType in_cut_level_type)
Definition: imageHandling.cpp:277
ImageHandling()
Definition: imageHandling.cpp:31
configuration_map_name
Definition: testPyDdtDataTransfer.py:67
int get_NumberAxis() const
Definition: imageHandling.cpp:1318
int StoreActualImageAsBias(const std::string slot_name="")
Definition: imageHandling.cpp:615
std::list< std::string > get_ColorMaps() const
Definition: imageHandling.cpp:1350
void set_CurrentPlane(const int plane)
Definition: imageHandling.cpp:802
bool CanvasCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_canvas, double *const y_canvas)
Definition: imageHandling.cpp:1506
Definition: imageColor.hpp:76
void set_FlipYFlag(const bool flip_flag)
Definition: imageHandling.cpp:781
int get_CurrentPlane() const
Definition: imageHandling.cpp:797
bool GetObjectInformation(const double x_image, const double y_image, const int size, double *const x_axis_angle, double *const background, double *const peak_above_background, double *const fwhm_x, double *const fwhm_y, double *const object_coord_x, double *const object_coord_y)
Definition: imageHandling.cpp:873
bool ImageCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_image, double *const y_image) const
Definition: imageHandling.cpp:1490
bool get_ImageRotation(double *const rotation_angle) const
Definition: imageHandling.cpp:149
CutLevelType get_CutLevelType() const
Definition: imageHandling.cpp:284
FitsExtension get_PrimaryHDUInfo() const
Definition: imageHandling.cpp:219
Definition: ddtLogger.hpp:48
bool ApplyCutLevelsManual(const double min_value, const double max_value)
Definition: imageHandling.cpp:444
@ AUTO
Definition: imageHandling.hpp:74
bool WorldCoordinatesDegreesFromCanvas(const double x_canvas, const double y_canvas, double *alpha, double *delta)
Definition: imageHandling.cpp:1498
signal_t * CutLevelChangedSignal()
Definition: imageHandling.cpp:274
int get_ImageWidth() const
Definition: imageHandling.cpp:1307
Definition: ddtClient.hpp:36
bool LoadColorMaps(const std::string color_map_folder, std::string color_map_name="standard")
Definition: imageHandling.cpp:472
void set_ColorScalingType(const ColorScalingType scaling_type)
Definition: imageHandling.cpp:1426
std::vector< int > get_invalid_image_hdus() const
Definition: imageHandling.cpp:1758
@ LINEAR_SCALE
Definition: imageHandling.hpp:95
Definition: imageColor.hpp:99
double get_CutLevelMin() const
Definition: imageHandling.cpp:1338
bool LoadActualColorMap(std::string color_map_name)
Definition: imageHandling.cpp:532
std::array< unsigned int, MAX_COLOR_MAP_ENTRIES > colorMapARGB_t
Definition: imageColor.hpp:66
void ConvertImageToCanvas(const double x_image, const double y_image, double *const x_canvas, double *const y_canvas) const
Definition: imageHandling.cpp:1522
void ClearSelectedBiasImage(const int slot)
Definition: imageHandling.cpp:703
double ImagePixelFromCanvas(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image)
Definition: imageHandling.cpp:1471
Definition: dataFile.hpp:36
FitsExtension * get_FitsExtensionInfo(const int extension_number)
Definition: imageHandling.cpp:213
double get_ImagePixelMin() const
Definition: imageHandling.cpp:1344
void GetCutValuesPercentageFromImage(const double percentage, double *const min_value, double *const max_value) const
Definition: imageHandling.cpp:1789
void ConvertCanvasToImage(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image) const
Definition: imageHandling.cpp:1514
double get_ImagePixelMax() const
Definition: imageHandling.cpp:1347
bool LoadActualConfigurationMap(const std::string configuration_map_name)
Definition: imageHandling.cpp:575
double GetPixelToDegreesScalingFactor()
Definition: imageHandling.cpp:1701
CplStatistics * GetStatisticsCplImageWindow(int llx, int lly, int urx, int ury)
Definition: imageHandling.cpp:1544
cpl_propertylist * GetPropertyList()
Definition: imageHandling.cpp:1579
void * get_ImageData()
Definition: imageHandling.cpp:1298
void ApplyBias(const int slot)
Definition: imageHandling.cpp:750
bool LoadFileAsBiasInSlot(const std::string file_name, const int slot)
Definition: imageHandling.cpp:636
bool LoadImageExtensionsAsOne(const std::string &file_name)
Definition: imageHandling.cpp:252
int get_NumberPlanes() const
Definition: imageHandling.cpp:1321
bool LoadFile(const std::string &file_name, const int position=0)
Definition: imageHandling.cpp:235
void FreeResources()
Definition: imageHandling.cpp:63
void GetHistogramBinsFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition: imageHandling.cpp:1779
std::string get_ActualColorMapName() const
Definition: imageHandling.cpp:1360
double ImagePixelFromImage(const double x_image, double y_image)
Definition: imageHandling.cpp:1452
CutLevelType
Definition: imageHandling.hpp:69
bool get_FlipYFlag() const
Definition: imageHandling.cpp:794
ddt::scalingLut_t * get_LinearScalingLut()
Definition: imageHandling.cpp:1391
void EnableBias(const bool enable_bias)
Definition: imageHandling.cpp:686
bool LoadFilePlane(const std::string &file_name, const int position=0, const int plane=0)
Definition: imageHandling.cpp:227
Definition: biasBuffer.hpp:53
bool StoreActualImageAsBiasInSlot(const std::string slot_name, const int slot)
Definition: imageHandling.cpp:593
void AttachDataStream(const std::string data_stream_id)
Definition: imageHandling.cpp:807
std::vector< std::string > GetFITSHeader()
Definition: imageHandling.cpp:1558
bool GetBiasEnabled() const
Definition: imageHandling.cpp:682
cpl_image * get_Image()
Definition: imageHandling.cpp:1301
Definition: imageHandling.hpp:53
ddt::colorMap_t * get_ActualColorMap()
Definition: imageHandling.cpp:1355
double GetImagePixelDistance(const double startx, const double starty, const double endx, const double endy, double *const xoffset=nullptr, double *const yoffset=nullptr) const
Definition: imageHandling.cpp:1729
bool LoadConfigurationMaps(const std::string configuration_map_source)
Definition: imageHandling.cpp:581
int get_NumberExtensions()
Definition: imageHandling.cpp:1313
signal_t * ImageAvailableInBufferSignal()
Definition: imageHandling.cpp:269
bool ResetCutLevels()
Definition: imageHandling.cpp:459
Definition: imageStats.hpp:39
bool WorldCoordinatesDegreesFromImage(const double x_image, const double y_image, double *alpha, double *delta) const
Definition: imageHandling.cpp:1482
Definition: imageBuffer.hpp:52
void set_CutLevelMin(const double min_value)
Definition: imageHandling.cpp:1324
std::string get_ColorScalingTypeStr() const
Definition: imageHandling.cpp:1431
@ SQRT_SCALE
Definition: imageHandling.hpp:107
ColorScalingType
Definition: imageHandling.hpp:89
ddt::colorMapARGB_t * get_ActualColorMapARGB()
Definition: imageHandling.cpp:1365
bool GetObjectCentroidPos(const cpl_apertures *const apertures, const double x_image, const double y_image, double *const x_centroid, double *const y_centroid) const
Definition: imageHandling.cpp:837
std::list< std::string > get_TextInformation(const double x, const double y) const
Definition: imageHandling.cpp:1538
cpl_apertures * GetCircularObjects(const double sigma)
Definition: imageHandling.cpp:831
ddt::scalingLut_t * get_ScalingLut()
Definition: imageHandling.cpp:1370
int GetCurrentSelectedBiasSlot() const
Definition: imageHandling.cpp:762
void set_ColorScalingTypeLinear()
Definition: imageHandling.cpp:1411
bool get_LastSegment() const
Definition: imageHandling.cpp:224
bool GetGaussianParameters(const double x_image, const double y_image, const int size, double *const background, double *const gaussian_volume, double *const correlation, double *const gaussian_coord_x, double *const gaussian_coord_y, double *const sigma_x, double *const sigma_y)
Definition: imageHandling.cpp:933
void set_FlipXFlag(const bool flip_flag)
Definition: imageHandling.cpp:774
cpl_table * get_BinaryTable()
Definition: imageHandling.cpp:1304
std::string get_Timestamp() const
Definition: imageHandling.cpp:145
ddt::DdtLogger * logger
Definition: imageHandling.hpp:903
bool get_ConfigurationMap_Value(const double x, const double y, double *const value) const
Definition: imageHandling.cpp:1531
double get_CutLevelMax() const
Definition: imageHandling.cpp:1341
void ClearAllBiasImages()
Definition: imageHandling.cpp:691
@ LOG_SCALE
Definition: imageHandling.hpp:101
void set_RotateFlag(const bool rot_flag)
Definition: imageHandling.cpp:767
ColorScalingType get_ColorScalingType() const
Definition: imageHandling.cpp:1406
Definition: imageCoords.hpp:51
bool get_FlipXFlag() const
Definition: imageHandling.cpp:791
bool LoadInformationMaps(const std::string information_map_source)
Definition: imageHandling.cpp:587
void set_ColorScalingTypeSquareRoot()
Definition: imageHandling.cpp:1421
std::array< std::array< float, COLOR_MAP_ENTRY_SIZE >, MAX_COLOR_MAP_ENTRIES > colorMap_t
Definition: imageColor.hpp:56
ddt::scalingLut_t * get_LogarithmicScalingLut()
Definition: imageHandling.cpp:1396
std::string get_CutLevelTypeStr() const
Definition: imageHandling.cpp:289
std::string GetBiasSlotName(const int slot)
Definition: imageHandling.cpp:677
bool ReprocessImage()
Definition: imageHandling.cpp:1763
ddt::scalingLut_t * get_SqrtScalingLut()
Definition: imageHandling.cpp:1401
int LoadFileAsBias(const std::string file_name)
Definition: imageHandling.cpp:657
std::string GetEquinox()
Definition: imageHandling.cpp:978
void GetHistogramFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition: imageHandling.cpp:1768
void DisplaySelectedBiasImage(const int slot)
Definition: imageHandling.cpp:714
void set_CutLevelMax(const double max_value)
Definition: imageHandling.cpp:1331
virtual ~ImageHandling()
Definition: imageHandling.cpp:33
void DetachDataStream(const std::string data_stream_id)
Definition: imageHandling.cpp:821
@ MINMAX
Definition: imageHandling.hpp:79