20#ifndef IMAGEHANDLING_HPP
21#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);
256 std::string color_map_name =
"standard");
641 double*
const x_image,
double*
const y_image);
651 double*
const x_image,
double*
const y_image)
const;
661 double*
const x_canvas,
662 double*
const y_canvas)
const;
673 const double y_image,
double* alpha,
674 double* delta)
const;
686 double*
const x_image,
687 double*
const y_image)
const;
698 const double y_canvas,
double* alpha,
711 double*
const x_canvas,
712 double*
const y_canvas);
736 double*
const value)
const;
746 const double y)
const;
776 std::vector<int>& distribution)
const;
782 const int64_t max_value,
783 std::vector<int>& distribution)
const;
788 double*
const min_value,
789 double*
const max_value)
const;
820 const double x_image,
const double y_image,
821 double*
const x_centroid,
822 double*
const y_centroid)
const;
840 const int size,
double*
const x_axis_angle,
841 double*
const background,
842 double*
const peak_above_background,
843 double*
const fwhm_x,
double*
const fwhm_y,
844 double*
const object_coord_x,
845 double*
const object_coord_y);
862 const int size,
double*
const background,
863 double*
const gaussian_volume,
864 double*
const correlation,
865 double*
const gaussian_coord_x,
866 double*
const gaussian_coord_y,
867 double*
const sigma_x,
double*
const sigma_y);
924 const double endx,
const double endy,
925 double*
const xoffset =
nullptr,
926 double*
const yoffset =
nullptr)
const;
943 const double endx,
const double endy,
944 double*
const xoffsetdeg =
nullptr,
945 double*
const yoffsetdeg =
nullptr);
973 bool ProcessTempImage();
978 bool DetermineCutLevelsAndMinMax();
984 bool ApplyBiasImage();
989 boost::signals2::connection connect(
const SignalT::slot_type& event_listener);
994 void DataAvailable();
996 std::string ReadHeaderItem(
const cpl_property*
const property)
const;
998 void ReadPropertyValue(std::string& header_item,
999 const cpl_property*
const property)
const;
1001 std::string GetStringProperty(
const std::string string_prop)
const;
1026 boost::signals2::connection connection;
1032 SignalT image_available_in_buffer;
1043 cpl_image* internal_image;
1048 cpl_image* temp_image;
1053 cpl_vector* internal_vector;
1058 cpl_table* internal_binary_table;
1063 std::string last_timestamp;
1078 int number_extensions;
1098 double cut_level_min;
1103 double cut_level_max;
1108 double median_filter_size;
1112 double image_pixel_min;
1117 double image_pixel_max;
1142 void* internal_image_buffer;
1147 double* internal_vector_buffer;
1157 std::list<std::string> color_maps;
1172 std::string actual_color_map_name;
1177 std::string last_selected_color_map_name;
1188 bool cut_levels_determined;
1204 bool first_segment_received;
1209 int current_bias_selected;
BIAS Buffer class, handles bias image usage. This file is part of the DDT Image Handling Library and ...
Definition: biasBuffer.hpp:56
Definition: ddtLogger.hpp:51
Definition: imageBuffer.hpp:54
Definition: imageColor.hpp:100
Definition: imageCoords.hpp:53
Definition: imageHandling.hpp:54
void set_ColorScalingTypeLogarithmic()
Definition: imageHandling.cpp:1471
bool get_ConfigurationMap_Value(const double x, const double y, double *const value) const
Definition: imageHandling.cpp:1591
std::shared_ptr< DdtEncDec > get_MetadataSample()
Definition: imageHandling.cpp:227
int GetCurrentSelectedBiasSlot() const
Definition: imageHandling.cpp:797
void AddCustomColorMaps(ddt::colorMap_t const &colourmap, ddt::colorMap_t const &colourmap_inverted, ddt::colorMapARGB_t const &colourmap_argb, ddt::colorMapARGB_t const &colourmap_argb_inverted)
Definition: imageHandling.cpp:481
virtual ~ImageHandling()
Definition: imageHandling.cpp:37
std::list< std::string > get_TextInformation(const double x, const double y) const
Definition: imageHandling.cpp:1598
cpl_propertylist * GetPropertyList()
Definition: imageHandling.cpp:1676
void AttachDataStream(const std::string data_stream_id)
Definition: imageHandling.cpp:842
void GetHistogramFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition: imageHandling.cpp:1865
int get_ImageWidth() const
Definition: imageHandling.cpp:1354
FitsExtension get_PrimaryHDUInfo() const
Definition: imageHandling.cpp:222
bool WorldCoordinatesDegreesFromCanvas(const double x_canvas, const double y_canvas, double *alpha, double *delta)
Definition: imageHandling.cpp:1558
bool ApplyCutLevelsMinMax()
Definition: imageHandling.cpp:321
void set_FlipXFlag(const bool flip_flag)
Definition: imageHandling.cpp:809
ddt::colorMapARGB_t * get_ActualColorMapARGB()
Definition: imageHandling.cpp:1420
SignalT * ImageAvailableInBufferSignal()
Definition: imageHandling.cpp:280
std::vector< std::vector< std::string > > GetExtensionsFITSHeader()
Definition: imageHandling.cpp:1645
void set_InvertColourmap(const bool invert)
Definition: imageHandling.cpp:1486
ddt::DdtStatistics * get_DataStatistics()
Definition: imageHandling.cpp:866
void set_ColorScalingTypeLinear()
Definition: imageHandling.cpp:1466
double get_CutLevelMin() const
Definition: imageHandling.cpp:1387
void set_logger(ddt::DdtLogger *const in_logger)
Definition: imageHandling.cpp:69
double ImagePixelFromImage(const double x_image, double y_image)
Definition: imageHandling.cpp:1512
int get_ImageBitsPerPixel() const
Definition: imageHandling.cpp:1399
ImageHandling()
Definition: imageHandling.cpp:35
bool LoadConfigurationMaps(const std::string configuration_map_source)
Definition: imageHandling.cpp:616
ddt::scalingLut_t * get_LogarithmicScalingLut()
Definition: imageHandling.cpp:1451
void set_CurrentPlane(const int plane)
Definition: imageHandling.cpp:837
CutLevelType
Definition: imageHandling.hpp:69
@ MINMAX
Definition: imageHandling.hpp:79
@ USERDEFINED
Definition: imageHandling.hpp:83
@ AUTO
Definition: imageHandling.hpp:74
bool LoadColorMaps(const std::string color_map_folder, std::string color_map_name="standard")
Definition: imageHandling.cpp:496
int StoreActualImageAsBias(const std::string slot_name="")
Definition: imageHandling.cpp:650
cpl_apertures * GetCircularObjects(const double sigma)
Definition: imageHandling.cpp:875
void set_CutLevelType(const CutLevelType in_cut_level_type)
Definition: imageHandling.cpp:288
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:1826
ColorScalingType
Definition: imageHandling.hpp:89
@ SQRT_SCALE
Definition: imageHandling.hpp:107
@ LOG_SCALE
Definition: imageHandling.hpp:101
@ LINEAR_SCALE
Definition: imageHandling.hpp:95
void ApplyBias(const int slot)
Definition: imageHandling.cpp:785
void set_ColorScalingTypeSquareRoot()
Definition: imageHandling.cpp:1476
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:977
bool get_AttachedToStream() const
Definition: imageHandling.cpp:861
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:1835
double GetPixelToDegreesScalingFactor()
Definition: imageHandling.cpp:1798
void EnableBias(const bool enable_bias)
Definition: imageHandling.cpp:721
double ImagePixelFromCanvas(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image)
Definition: imageHandling.cpp:1531
std::string GetBiasSlotName(const int slot)
Definition: imageHandling.cpp:712
void GetCutValuesPercentageFromImage(const double percentage, double *const min_value, double *const max_value) const
Definition: imageHandling.cpp:1886
void DetachDataStream(const std::string data_stream_id)
Definition: imageHandling.cpp:856
void ConvertImageToCanvas(const double x_image, const double y_image, double *const x_canvas, double *const y_canvas) const
Definition: imageHandling.cpp:1582
void * get_ImageData()
Definition: imageHandling.cpp:1345
bool ReprocessImage()
Definition: imageHandling.cpp:1860
bool get_LastSegment() const
Definition: imageHandling.cpp:232
bool get_ImageRotation(double *const rotation_angle) const
Definition: imageHandling.cpp:152
void FreeResources()
Definition: imageHandling.cpp:67
ddt::scalingLut_t * get_ScalingLut()
Definition: imageHandling.cpp:1425
cpl_table * get_BinaryTable()
Definition: imageHandling.cpp:1351
bool get_FlipXFlag() const
Definition: imageHandling.cpp:826
int get_NumberAxis() const
Definition: imageHandling.cpp:1365
void DisplaySelectedBiasImage(const int slot)
Definition: imageHandling.cpp:749
bool LoadImageExtensionsAsOne(const std::string &file_name)
Definition: imageHandling.cpp:263
CplStatistics * GetStatisticsCplImageWindow(int llx, int lly, int urx, int ury)
Definition: imageHandling.cpp:1604
ddt::scalingLut_t * get_LinearScalingLut()
Definition: imageHandling.cpp:1446
double get_ImagePixelMin() const
Definition: imageHandling.cpp:1393
std::string GetEquinox()
Definition: imageHandling.cpp:1022
bool ImageCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_image, double *const y_image) const
Definition: imageHandling.cpp:1550
void GetHistogramBinsFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition: imageHandling.cpp:1876
ddt::DdtLogger * logger
Definition: imageHandling.hpp:957
FitsExtension * get_FitsExtensionInfo(const int extension_number)
Definition: imageHandling.cpp:216
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:881
void set_RotateFlag(const bool rot_flag)
Definition: imageHandling.cpp:802
std::string get_ColorScalingTypeStr() const
Definition: imageHandling.cpp:1491
bool ResetCutLevels()
Definition: imageHandling.cpp:470
std::string get_ActualColorMapName() const
Definition: imageHandling.cpp:1415
bool LoadFilePlane(const std::string &file_name, const int position=0, const int plane=0)
Definition: imageHandling.cpp:235
bool get_FlipYFlag() const
Definition: imageHandling.cpp:829
void set_FlipYFlag(const bool flip_flag)
Definition: imageHandling.cpp:816
bool get_RotateFlag() const
Definition: imageHandling.cpp:823
cpl_image * get_Image()
Definition: imageHandling.cpp:1348
int get_ImageHeight() const
Definition: imageHandling.cpp:1357
int get_NumberExtensions()
Definition: imageHandling.cpp:1360
bool LoadInformationMaps(const std::string information_map_source)
Definition: imageHandling.cpp:622
void set_CutLevelMax(const double max_value)
Definition: imageHandling.cpp:1380
bool WorldCoordinatesDegreesFromImage(const double x_image, const double y_image, double *alpha, double *delta) const
Definition: imageHandling.cpp:1542
bool GetBiasEnabled() const
Definition: imageHandling.cpp:717
void set_CutLevelMin(const double min_value)
Definition: imageHandling.cpp:1373
void ConvertCanvasToImage(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image) const
Definition: imageHandling.cpp:1574
ColorScalingType get_ColorScalingType() const
Definition: imageHandling.cpp:1461
bool CanvasCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_canvas, double *const y_canvas)
Definition: imageHandling.cpp:1566
ddt::colorMap_t * get_ActualColorMap()
Definition: imageHandling.cpp:1410
CutLevelType get_CutLevelType() const
Definition: imageHandling.cpp:295
std::vector< int > get_invalid_image_hdus() const
Definition: imageHandling.cpp:1855
bool ApplyCutLevelsAuto()
Definition: imageHandling.cpp:386
std::string get_Timestamp() const
Definition: imageHandling.cpp:148
bool LoadActualColorMap(std::string color_map_name)
Definition: imageHandling.cpp:557
std::string get_LastSelectedColourmapName() const
Definition: imageHandling.cpp:605
bool LoadFile(const std::string &file_name, const int position=0)
Definition: imageHandling.cpp:243
std::vector< std::string > GetPrimaryFITSHeader()
Definition: imageHandling.cpp:1618
std::string get_CutLevelTypeStr() const
Definition: imageHandling.cpp:300
void set_RetrieveStatsFlag(bool value)
Definition: imageHandling.cpp:870
void ClearSelectedBiasImage(const int slot)
Definition: imageHandling.cpp:738
int get_CurrentPlane() const
Definition: imageHandling.cpp:832
void set_ColorScalingType(const ColorScalingType scaling_type)
Definition: imageHandling.cpp:1481
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:917
ddt::scalingLut_t * get_SqrtScalingLut()
Definition: imageHandling.cpp:1456
void ClearAllBiasImages()
Definition: imageHandling.cpp:726
SignalT * CutLevelChangedSignal()
Definition: imageHandling.cpp:285
bool StoreActualImageAsBiasInSlot(const std::string slot_name, const int slot)
Definition: imageHandling.cpp:628
bool ApplyCutLevelsManual(const double min_value, const double max_value)
Definition: imageHandling.cpp:455
bool LoadActualConfigurationMap(const std::string configuration_map_name)
Definition: imageHandling.cpp:610
int LoadFileAsBias(const std::string file_name)
Definition: imageHandling.cpp:692
bool LoadFileAsBiasInSlot(const std::string file_name, const int slot)
Definition: imageHandling.cpp:671
double get_ImagePixelMax() const
Definition: imageHandling.cpp:1396
double get_CutLevelMax() const
Definition: imageHandling.cpp:1390
std::list< std::string > get_ColorMaps() const
Definition: imageHandling.cpp:1405
int get_NumberPlanes() const
Definition: imageHandling.cpp:1368
Configuration Maps class, offers an interface to configuration map access classes....
Data acquisition class, offers access to data stream acquisition functions. This file is part of the ...
Data file class, offers access to FITS file functions. This file is part of the DDT Image Handling Li...
DDT EncDecMultiDim. Class to encode / decode multi-dimensional array data samples....
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
boost::signals2::signal< void()> SignalT
Definition: ddtMemoryAccessor.hpp:82
Image Buffer class, handles internal CPL image. This file is part of the DDT Image Handling Library a...
Image Color class, offers access to color map related functions. This file is part of the DDT Image H...
Image Handling class, offers access to coordinate conversion functions. This file is part of the DDT ...
Image error handling function declaration. This file is part of the DDT Image Handling Library and pr...
Image IO function declaration. This file is part of the DDT Image Handling Library and provides funct...
Image processing function declaration. This file is part of the DDT Image Handling Library and provid...
Image analysis and statistic function declaration. This file is part of the DDT Image Handling Librar...
Definition: ddtClient.hpp:39
std::array< std::array< float, COLOR_MAP_ENTRY_SIZE >, MAX_COLOR_MAP_ENTRIES > colorMap_t
Definition: imageColor.hpp:57
std::array< unsigned int, MAX_COLOR_MAP_ENTRIES > colorMapARGB_t
Definition: imageColor.hpp:67
Definition: imageStats.hpp:42
Definition: ddtStatistics.hpp:27
Definition: dataFile.hpp:39
Definition: imageColor.hpp:77