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;
764 std::vector<int>& distribution)
const;
770 const int64_t max_value,
771 std::vector<int>& distribution)
const;
776 double*
const min_value,
777 double*
const max_value)
const;
808 const double x_image,
const double y_image,
809 double*
const x_centroid,
810 double*
const y_centroid)
const;
828 const int size,
double*
const x_axis_angle,
829 double*
const background,
830 double*
const peak_above_background,
831 double*
const fwhm_x,
double*
const fwhm_y,
832 double*
const object_coord_x,
833 double*
const object_coord_y);
850 const int size,
double*
const background,
851 double*
const gaussian_volume,
852 double*
const correlation,
853 double*
const gaussian_coord_x,
854 double*
const gaussian_coord_y,
855 double*
const sigma_x,
double*
const sigma_y);
912 const double endx,
const double endy,
913 double*
const xoffset =
nullptr,
914 double*
const yoffset =
nullptr)
const;
931 const double endx,
const double endy,
932 double*
const xoffsetdeg =
nullptr,
933 double*
const yoffsetdeg =
nullptr);
961 bool ProcessTempImage();
966 bool DetermineCutLevelsAndMinMax();
972 bool ApplyBiasImage();
977 boost::signals2::connection connect(
const SignalT::slot_type& event_listener);
982 void DataAvailable();
984 std::string ReadHeaderItem(
const cpl_property*
const property)
const;
986 void ReadPropertyValue(std::string& header_item,
987 const cpl_property*
const property)
const;
989 std::string GetStringProperty(
const std::string string_prop)
const;
1014 boost::signals2::connection connection;
1020 SignalT image_available_in_buffer;
1031 cpl_image* internal_image;
1036 cpl_image* temp_image;
1041 cpl_vector* internal_vector;
1046 cpl_table* internal_binary_table;
1051 std::string last_timestamp;
1066 int number_extensions;
1086 double cut_level_min;
1091 double cut_level_max;
1096 double median_filter_size;
1100 double image_pixel_min;
1105 double image_pixel_max;
1130 void* internal_image_buffer;
1135 double* internal_vector_buffer;
1145 std::list<std::string> color_maps;
1160 std::string actual_color_map_name;
1165 std::string last_selected_color_map_name;
1176 bool cut_levels_determined;
1192 bool first_segment_received;
1197 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:1458
bool get_ConfigurationMap_Value(const double x, const double y, double *const value) const
Definition: imageHandling.cpp:1578
std::shared_ptr< DdtEncDec > get_MetadataSample()
Definition: imageHandling.cpp:223
int GetCurrentSelectedBiasSlot() const
Definition: imageHandling.cpp:793
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:477
virtual ~ImageHandling()
Definition: imageHandling.cpp:37
std::list< std::string > get_TextInformation(const double x, const double y) const
Definition: imageHandling.cpp:1585
cpl_propertylist * GetPropertyList()
Definition: imageHandling.cpp:1658
void AttachDataStream(const std::string data_stream_id)
Definition: imageHandling.cpp:838
void GetHistogramFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition: imageHandling.cpp:1847
int get_ImageWidth() const
Definition: imageHandling.cpp:1341
FitsExtension get_PrimaryHDUInfo() const
Definition: imageHandling.cpp:218
bool WorldCoordinatesDegreesFromCanvas(const double x_canvas, const double y_canvas, double *alpha, double *delta)
Definition: imageHandling.cpp:1545
bool ApplyCutLevelsMinMax()
Definition: imageHandling.cpp:317
void set_FlipXFlag(const bool flip_flag)
Definition: imageHandling.cpp:805
ddt::colorMapARGB_t * get_ActualColorMapARGB()
Definition: imageHandling.cpp:1407
SignalT * ImageAvailableInBufferSignal()
Definition: imageHandling.cpp:276
std::vector< std::vector< std::string > > GetExtensionsFITSHeader()
Definition: imageHandling.cpp:1627
void set_InvertColourmap(const bool invert)
Definition: imageHandling.cpp:1473
void set_ColorScalingTypeLinear()
Definition: imageHandling.cpp:1453
double get_CutLevelMin() const
Definition: imageHandling.cpp:1374
void set_logger(ddt::DdtLogger *const in_logger)
Definition: imageHandling.cpp:69
double ImagePixelFromImage(const double x_image, double y_image)
Definition: imageHandling.cpp:1499
int get_ImageBitsPerPixel() const
Definition: imageHandling.cpp:1386
ImageHandling()
Definition: imageHandling.cpp:35
bool LoadConfigurationMaps(const std::string configuration_map_source)
Definition: imageHandling.cpp:612
ddt::scalingLut_t * get_LogarithmicScalingLut()
Definition: imageHandling.cpp:1438
void set_CurrentPlane(const int plane)
Definition: imageHandling.cpp:833
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:492
int StoreActualImageAsBias(const std::string slot_name="")
Definition: imageHandling.cpp:646
cpl_apertures * GetCircularObjects(const double sigma)
Definition: imageHandling.cpp:862
void set_CutLevelType(const CutLevelType in_cut_level_type)
Definition: imageHandling.cpp:284
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:1808
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:781
void set_ColorScalingTypeSquareRoot()
Definition: imageHandling.cpp:1463
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:964
bool get_AttachedToStream() const
Definition: imageHandling.cpp:857
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:1817
double GetPixelToDegreesScalingFactor()
Definition: imageHandling.cpp:1780
void EnableBias(const bool enable_bias)
Definition: imageHandling.cpp:717
double ImagePixelFromCanvas(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image)
Definition: imageHandling.cpp:1518
std::string GetBiasSlotName(const int slot)
Definition: imageHandling.cpp:708
void GetCutValuesPercentageFromImage(const double percentage, double *const min_value, double *const max_value) const
Definition: imageHandling.cpp:1868
void DetachDataStream(const std::string data_stream_id)
Definition: imageHandling.cpp:852
void ConvertImageToCanvas(const double x_image, const double y_image, double *const x_canvas, double *const y_canvas) const
Definition: imageHandling.cpp:1569
void * get_ImageData()
Definition: imageHandling.cpp:1332
bool ReprocessImage()
Definition: imageHandling.cpp:1842
bool get_LastSegment() const
Definition: imageHandling.cpp:228
bool get_ImageRotation(double *const rotation_angle) const
Definition: imageHandling.cpp:148
void FreeResources()
Definition: imageHandling.cpp:67
ddt::scalingLut_t * get_ScalingLut()
Definition: imageHandling.cpp:1412
cpl_table * get_BinaryTable()
Definition: imageHandling.cpp:1338
bool get_FlipXFlag() const
Definition: imageHandling.cpp:822
int get_NumberAxis() const
Definition: imageHandling.cpp:1352
void DisplaySelectedBiasImage(const int slot)
Definition: imageHandling.cpp:745
bool LoadImageExtensionsAsOne(const std::string &file_name)
Definition: imageHandling.cpp:259
CplStatistics * GetStatisticsCplImageWindow(int llx, int lly, int urx, int ury)
Definition: imageHandling.cpp:1591
ddt::scalingLut_t * get_LinearScalingLut()
Definition: imageHandling.cpp:1433
double get_ImagePixelMin() const
Definition: imageHandling.cpp:1380
std::string GetEquinox()
Definition: imageHandling.cpp:1009
bool ImageCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_image, double *const y_image) const
Definition: imageHandling.cpp:1537
void GetHistogramBinsFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition: imageHandling.cpp:1858
ddt::DdtLogger * logger
Definition: imageHandling.hpp:945
FitsExtension * get_FitsExtensionInfo(const int extension_number)
Definition: imageHandling.cpp:212
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:868
void set_RotateFlag(const bool rot_flag)
Definition: imageHandling.cpp:798
std::string get_ColorScalingTypeStr() const
Definition: imageHandling.cpp:1478
bool ResetCutLevels()
Definition: imageHandling.cpp:466
std::string get_ActualColorMapName() const
Definition: imageHandling.cpp:1402
bool LoadFilePlane(const std::string &file_name, const int position=0, const int plane=0)
Definition: imageHandling.cpp:231
bool get_FlipYFlag() const
Definition: imageHandling.cpp:825
void set_FlipYFlag(const bool flip_flag)
Definition: imageHandling.cpp:812
bool get_RotateFlag() const
Definition: imageHandling.cpp:819
cpl_image * get_Image()
Definition: imageHandling.cpp:1335
int get_ImageHeight() const
Definition: imageHandling.cpp:1344
int get_NumberExtensions()
Definition: imageHandling.cpp:1347
bool LoadInformationMaps(const std::string information_map_source)
Definition: imageHandling.cpp:618
void set_CutLevelMax(const double max_value)
Definition: imageHandling.cpp:1367
bool WorldCoordinatesDegreesFromImage(const double x_image, const double y_image, double *alpha, double *delta) const
Definition: imageHandling.cpp:1529
bool GetBiasEnabled() const
Definition: imageHandling.cpp:713
void set_CutLevelMin(const double min_value)
Definition: imageHandling.cpp:1360
void ConvertCanvasToImage(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image) const
Definition: imageHandling.cpp:1561
ColorScalingType get_ColorScalingType() const
Definition: imageHandling.cpp:1448
bool CanvasCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_canvas, double *const y_canvas)
Definition: imageHandling.cpp:1553
ddt::colorMap_t * get_ActualColorMap()
Definition: imageHandling.cpp:1397
CutLevelType get_CutLevelType() const
Definition: imageHandling.cpp:291
std::vector< int > get_invalid_image_hdus() const
Definition: imageHandling.cpp:1837
bool ApplyCutLevelsAuto()
Definition: imageHandling.cpp:382
std::string get_Timestamp() const
Definition: imageHandling.cpp:144
bool LoadActualColorMap(std::string color_map_name)
Definition: imageHandling.cpp:553
std::string get_LastSelectedColourmapName() const
Definition: imageHandling.cpp:601
bool LoadFile(const std::string &file_name, const int position=0)
Definition: imageHandling.cpp:239
std::vector< std::string > GetPrimaryFITSHeader()
Definition: imageHandling.cpp:1605
std::string get_CutLevelTypeStr() const
Definition: imageHandling.cpp:296
void ClearSelectedBiasImage(const int slot)
Definition: imageHandling.cpp:734
int get_CurrentPlane() const
Definition: imageHandling.cpp:828
void set_ColorScalingType(const ColorScalingType scaling_type)
Definition: imageHandling.cpp:1468
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:904
ddt::scalingLut_t * get_SqrtScalingLut()
Definition: imageHandling.cpp:1443
void ClearAllBiasImages()
Definition: imageHandling.cpp:722
SignalT * CutLevelChangedSignal()
Definition: imageHandling.cpp:281
bool StoreActualImageAsBiasInSlot(const std::string slot_name, const int slot)
Definition: imageHandling.cpp:624
bool ApplyCutLevelsManual(const double min_value, const double max_value)
Definition: imageHandling.cpp:451
bool LoadActualConfigurationMap(const std::string configuration_map_name)
Definition: imageHandling.cpp:606
int LoadFileAsBias(const std::string file_name)
Definition: imageHandling.cpp:688
bool LoadFileAsBiasInSlot(const std::string file_name, const int slot)
Definition: imageHandling.cpp:667
double get_ImagePixelMax() const
Definition: imageHandling.cpp:1383
double get_CutLevelMax() const
Definition: imageHandling.cpp:1377
std::list< std::string > get_ColorMaps() const
Definition: imageHandling.cpp:1392
int get_NumberPlanes() const
Definition: imageHandling.cpp:1355
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: dataFile.hpp:39
Definition: imageColor.hpp:77