20#ifndef IMAGEHANDLING_HPP
21#define IMAGEHANDLING_HPP
127 bool LoadFile(
const std::string& file_name,
const int position = 0);
137 template <
typename TPOINTER>
138 bool LoadPointer(TPOINTER* new_image_data,
int nx,
int ny);
148 bool LoadFilePlane(
const std::string& file_name,
const int position = 0,
149 const int plane = 0);
197 const double upperrightx,
const double upperrighty);
221 const double upperrightx,
const double upperrighty);
267 std::string color_map_name =
"standard");
652 double*
const x_image,
double*
const y_image);
662 double*
const x_image,
double*
const y_image)
const;
672 double*
const x_canvas,
673 double*
const y_canvas)
const;
684 const double y_image,
double* alpha,
685 double* delta)
const;
697 double*
const x_image,
698 double*
const y_image)
const;
709 const double y_canvas,
double* alpha,
722 double*
const x_canvas,
723 double*
const y_canvas);
747 double*
const value)
const;
757 const double y)
const;
787 std::vector<int>& distribution)
const;
793 const int64_t max_value,
794 std::vector<int>& distribution)
const;
799 double*
const min_value,
800 double*
const max_value)
const;
831 const double x_image,
const double y_image,
832 double*
const x_centroid,
833 double*
const y_centroid)
const;
851 const int size,
double*
const x_axis_angle,
852 double*
const background,
853 double*
const peak_above_background,
854 double*
const fwhm_x,
double*
const fwhm_y,
855 double*
const object_coord_x,
856 double*
const object_coord_y);
873 const int size,
double*
const background,
874 double*
const gaussian_volume,
875 double*
const correlation,
876 double*
const gaussian_coord_x,
877 double*
const gaussian_coord_y,
878 double*
const sigma_x,
double*
const sigma_y);
935 const double endx,
const double endy,
936 double*
const xoffset =
nullptr,
937 double*
const yoffset =
nullptr)
const;
954 const double endx,
const double endy,
955 double*
const xoffsetdeg =
nullptr,
956 double*
const yoffsetdeg =
nullptr);
984 bool ProcessTempImage();
989 bool DetermineCutLevelsAndMinMax();
995 bool ApplyBiasImage();
1000 boost::signals2::connection connect(
const SignalT::slot_type& event_listener);
1005 void DataAvailable();
1007 std::string ReadHeaderItem(
const cpl_property*
const property)
const;
1009 void ReadPropertyValue(std::string& header_item,
1010 const cpl_property*
const property)
const;
1012 std::string GetStringProperty(
const std::string& string_prop)
const;
1037 boost::signals2::connection connection;
1043 SignalT image_available_in_buffer;
1054 cpl_image* internal_image;
1059 cpl_image* temp_image;
1064 cpl_vector* internal_vector;
1069 cpl_table* internal_binary_table;
1074 std::string last_timestamp;
1089 int number_extensions;
1109 double cut_level_min;
1114 double cut_level_max;
1119 double median_filter_size;
1123 double image_pixel_min;
1128 double image_pixel_max;
1153 void* internal_image_buffer;
1158 double* internal_vector_buffer;
1168 std::list<std::string> color_maps;
1183 std::string actual_color_map_name;
1188 std::string last_selected_color_map_name;
1199 bool cut_levels_determined;
1215 bool first_segment_received;
1220 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:1483
bool get_ConfigurationMap_Value(const double x, const double y, double *const value) const
Definition imageHandling.cpp:1603
std::shared_ptr< DdtEncDec > get_MetadataSample()
Definition imageHandling.cpp:228
int GetCurrentSelectedBiasSlot() const
Definition imageHandling.cpp:809
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:493
virtual ~ImageHandling()
Definition imageHandling.cpp:38
std::list< std::string > get_TextInformation(const double x, const double y) const
Definition imageHandling.cpp:1610
cpl_propertylist * GetPropertyList()
Definition imageHandling.cpp:1688
void AttachDataStream(const std::string data_stream_id)
Definition imageHandling.cpp:854
void GetHistogramFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition imageHandling.cpp:1878
int get_ImageWidth() const
Definition imageHandling.cpp:1366
FitsExtension get_PrimaryHDUInfo() const
Definition imageHandling.cpp:223
bool WorldCoordinatesDegreesFromCanvas(const double x_canvas, const double y_canvas, double *alpha, double *delta)
Definition imageHandling.cpp:1570
bool ApplyCutLevelsMinMax()
Definition imageHandling.cpp:333
void set_FlipXFlag(const bool flip_flag)
Definition imageHandling.cpp:821
ddt::colorMapARGB_t * get_ActualColorMapARGB()
Definition imageHandling.cpp:1432
SignalT * ImageAvailableInBufferSignal()
Definition imageHandling.cpp:292
std::vector< std::vector< std::string > > GetExtensionsFITSHeader()
Definition imageHandling.cpp:1657
void set_InvertColourmap(const bool invert)
Definition imageHandling.cpp:1498
ddt::DdtStatistics * get_DataStatistics()
Definition imageHandling.cpp:878
void set_ColorScalingTypeLinear()
Definition imageHandling.cpp:1478
double get_CutLevelMin() const
Definition imageHandling.cpp:1399
void set_logger(ddt::DdtLogger *const in_logger)
Definition imageHandling.cpp:70
double ImagePixelFromImage(const double x_image, double y_image)
Definition imageHandling.cpp:1524
int get_ImageBitsPerPixel() const
Definition imageHandling.cpp:1411
ImageHandling()
Definition imageHandling.cpp:36
bool LoadConfigurationMaps(const std::string configuration_map_source)
Definition imageHandling.cpp:628
ddt::scalingLut_t * get_LogarithmicScalingLut()
Definition imageHandling.cpp:1463
void set_CurrentPlane(const int plane)
Definition imageHandling.cpp:849
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:508
int StoreActualImageAsBias(const std::string slot_name="")
Definition imageHandling.cpp:662
cpl_apertures * GetCircularObjects(const double sigma)
Definition imageHandling.cpp:887
void set_CutLevelType(const CutLevelType in_cut_level_type)
Definition imageHandling.cpp:300
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:1839
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:797
void set_ColorScalingTypeSquareRoot()
Definition imageHandling.cpp:1488
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:989
bool get_AttachedToStream() const
Definition imageHandling.cpp:873
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:1848
double GetPixelToDegreesScalingFactor()
Definition imageHandling.cpp:1811
void EnableBias(const bool enable_bias)
Definition imageHandling.cpp:733
double ImagePixelFromCanvas(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image)
Definition imageHandling.cpp:1543
std::string GetBiasSlotName(const int slot)
Definition imageHandling.cpp:724
void GetCutValuesPercentageFromImage(const double percentage, double *const min_value, double *const max_value) const
Definition imageHandling.cpp:1899
void DetachDataStream(const std::string data_stream_id)
Definition imageHandling.cpp:868
void ConvertImageToCanvas(const double x_image, const double y_image, double *const x_canvas, double *const y_canvas) const
Definition imageHandling.cpp:1594
void * get_ImageData()
Definition imageHandling.cpp:1357
bool ReprocessImage()
Definition imageHandling.cpp:1873
bool get_LastSegment() const
Definition imageHandling.cpp:233
bool get_ImageRotation(double *const rotation_angle) const
Definition imageHandling.cpp:153
void FreeResources()
Definition imageHandling.cpp:68
ddt::scalingLut_t * get_ScalingLut()
Definition imageHandling.cpp:1437
cpl_table * get_BinaryTable()
Definition imageHandling.cpp:1363
bool get_FlipXFlag() const
Definition imageHandling.cpp:838
int get_NumberAxis() const
Definition imageHandling.cpp:1377
void DisplaySelectedBiasImage(const int slot)
Definition imageHandling.cpp:761
bool LoadImageExtensionsAsOne(const std::string &file_name)
Definition imageHandling.cpp:275
CplStatistics * GetStatisticsCplImageWindow(int llx, int lly, int urx, int ury)
Definition imageHandling.cpp:1616
ddt::scalingLut_t * get_LinearScalingLut()
Definition imageHandling.cpp:1458
double get_ImagePixelMin() const
Definition imageHandling.cpp:1405
std::string GetEquinox()
Definition imageHandling.cpp:1034
bool ImageCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_image, double *const y_image) const
Definition imageHandling.cpp:1562
void GetHistogramBinsFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition imageHandling.cpp:1889
ddt::DdtLogger * logger
Definition imageHandling.hpp:968
FitsExtension * get_FitsExtensionInfo(const int extension_number)
Definition imageHandling.cpp:217
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:893
void set_RotateFlag(const bool rot_flag)
Definition imageHandling.cpp:814
std::string get_ColorScalingTypeStr() const
Definition imageHandling.cpp:1503
bool ResetCutLevels()
Definition imageHandling.cpp:482
std::string get_ActualColorMapName() const
Definition imageHandling.cpp:1427
bool LoadFilePlane(const std::string &file_name, const int position=0, const int plane=0)
Definition imageHandling.cpp:236
bool get_FlipYFlag() const
Definition imageHandling.cpp:841
void set_FlipYFlag(const bool flip_flag)
Definition imageHandling.cpp:828
bool get_RotateFlag() const
Definition imageHandling.cpp:835
cpl_image * get_Image()
Definition imageHandling.cpp:1360
int get_ImageHeight() const
Definition imageHandling.cpp:1369
int get_NumberExtensions()
Definition imageHandling.cpp:1372
bool LoadInformationMaps(const std::string information_map_source)
Definition imageHandling.cpp:634
void set_CutLevelMax(const double max_value)
Definition imageHandling.cpp:1392
bool WorldCoordinatesDegreesFromImage(const double x_image, const double y_image, double *alpha, double *delta) const
Definition imageHandling.cpp:1554
bool LoadPointer(TPOINTER *new_image_data, int nx, int ny)
Definition imageHandling.cpp:264
bool GetBiasEnabled() const
Definition imageHandling.cpp:729
void set_CutLevelMin(const double min_value)
Definition imageHandling.cpp:1385
void ConvertCanvasToImage(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image) const
Definition imageHandling.cpp:1586
ColorScalingType get_ColorScalingType() const
Definition imageHandling.cpp:1473
bool CanvasCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_canvas, double *const y_canvas)
Definition imageHandling.cpp:1578
ddt::colorMap_t * get_ActualColorMap()
Definition imageHandling.cpp:1422
CutLevelType get_CutLevelType() const
Definition imageHandling.cpp:307
std::vector< int > get_invalid_image_hdus() const
Definition imageHandling.cpp:1868
bool ApplyCutLevelsAuto()
Definition imageHandling.cpp:398
std::string get_Timestamp() const
Definition imageHandling.cpp:149
bool LoadActualColorMap(std::string color_map_name)
Definition imageHandling.cpp:569
std::string get_LastSelectedColourmapName() const
Definition imageHandling.cpp:617
bool LoadFile(const std::string &file_name, const int position=0)
Definition imageHandling.cpp:244
std::vector< std::string > GetPrimaryFITSHeader()
Definition imageHandling.cpp:1630
std::string get_CutLevelTypeStr() const
Definition imageHandling.cpp:312
void set_RetrieveStatsFlag(bool value)
Definition imageHandling.cpp:882
void ClearSelectedBiasImage(const int slot)
Definition imageHandling.cpp:750
int get_CurrentPlane() const
Definition imageHandling.cpp:844
void set_ColorScalingType(const ColorScalingType scaling_type)
Definition imageHandling.cpp:1493
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:929
ddt::scalingLut_t * get_SqrtScalingLut()
Definition imageHandling.cpp:1468
void ClearAllBiasImages()
Definition imageHandling.cpp:738
SignalT * CutLevelChangedSignal()
Definition imageHandling.cpp:297
bool StoreActualImageAsBiasInSlot(const std::string slot_name, const int slot)
Definition imageHandling.cpp:640
bool ApplyCutLevelsManual(const double min_value, const double max_value)
Definition imageHandling.cpp:467
bool LoadActualConfigurationMap(const std::string configuration_map_name)
Definition imageHandling.cpp:622
int LoadFileAsBias(const std::string file_name)
Definition imageHandling.cpp:704
bool LoadFileAsBiasInSlot(const std::string file_name, const int slot)
Definition imageHandling.cpp:683
double get_ImagePixelMax() const
Definition imageHandling.cpp:1408
double get_CutLevelMax() const
Definition imageHandling.cpp:1402
std::list< std::string > get_ColorMaps() const
Definition imageHandling.cpp:1417
int get_NumberPlanes() const
Definition imageHandling.cpp:1380
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