11#ifndef IMAGEHANDLING_HPP
12#define IMAGEHANDLING_HPP
118 bool LoadFile(
const std::string& file_name,
const int position = 0);
128 template <
typename TPOINTER>
129 bool LoadPointer(TPOINTER* new_image_data,
int nx,
int ny);
139 bool LoadFilePlane(
const std::string& file_name,
const int position = 0,
140 const int plane = 0);
188 const double upperrightx,
const double upperrighty);
212 const double upperrightx,
const double upperrighty);
258 std::string color_map_name =
"standard");
650 double*
const x_image,
double*
const y_image);
660 double*
const x_image,
double*
const y_image)
const;
670 double*
const x_canvas,
671 double*
const y_canvas)
const;
682 const double y_image,
double* alpha,
683 double* delta)
const;
695 double*
const x_image,
696 double*
const y_image)
const;
707 const double y_canvas,
double* alpha,
720 double*
const x_canvas,
721 double*
const y_canvas);
745 double*
const value)
const;
755 const double y)
const;
785 std::vector<int>& distribution)
const;
791 const int64_t max_value,
792 std::vector<int>& distribution)
const;
797 double*
const min_value,
798 double*
const max_value)
const;
829 const double x_image,
const double y_image,
830 double*
const x_centroid,
831 double*
const y_centroid)
const;
849 const int size,
double*
const x_axis_angle,
850 double*
const background,
851 double*
const peak_above_background,
852 double*
const fwhm_x,
double*
const fwhm_y,
853 double*
const object_coord_x,
854 double*
const object_coord_y);
871 const int size,
double*
const background,
872 double*
const gaussian_volume,
873 double*
const correlation,
874 double*
const gaussian_coord_x,
875 double*
const gaussian_coord_y,
876 double*
const sigma_x,
double*
const sigma_y);
939 const double endx,
const double endy,
940 double*
const xoffset =
nullptr,
941 double*
const yoffset =
nullptr)
const;
958 const double endx,
const double endy,
959 double*
const xoffsetdeg =
nullptr,
960 double*
const yoffsetdeg =
nullptr);
988 bool ProcessTempImage();
993 bool DetermineCutLevelsAndMinMax();
999 bool ApplyBiasImage();
1004 boost::signals2::connection connect(
const SignalT::slot_type& event_listener);
1009 void DataAvailable();
1011 std::string ReadHeaderItem(
const cpl_property*
const property)
const;
1013 void ReadPropertyValue(std::string& header_item,
1014 const cpl_property*
const property)
const;
1016 std::string GetStringProperty(
const std::string& string_prop)
const;
1021 std::unique_ptr<ddt::ImageBuffer> image_buffer;
1026 std::unique_ptr<ddt::BiasBuffer> bias_buffer;
1031 std::unique_ptr<ddt::ImageColor> image_color;
1036 std::unique_ptr<ddt::ImageCoords> image_coords;
1041 boost::signals2::connection connection;
1047 SignalT image_available_in_buffer;
1058 cpl_image* internal_image;
1063 cpl_image* temp_image;
1068 cpl_table* internal_binary_table;
1073 std::string last_timestamp;
1088 int number_extensions;
1108 double cut_level_min;
1113 double cut_level_max;
1118 double median_filter_size;
1122 double image_pixel_min;
1127 double image_pixel_max;
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 ...
boost::signals2::signal< void(ddt::DdtDataTransferLib::ConnectionState)> ConnectionStateSignalT
Definition dataAcquisition.hpp:50
Definition ddtLogger.hpp:43
void set_ColorScalingTypeLogarithmic()
Definition imageHandling.cpp:1466
bool get_ConfigurationMap_Value(const double x, const double y, double *const value) const
Definition imageHandling.cpp:1586
std::shared_ptr< DdtEncDec > get_MetadataSample()
Definition imageHandling.cpp:198
int GetCurrentSelectedBiasSlot() const
Definition imageHandling.cpp:783
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:467
virtual ~ImageHandling()
Definition imageHandling.cpp:30
std::list< std::string > get_TextInformation(const double x, const double y) const
Definition imageHandling.cpp:1593
cpl_propertylist * GetPropertyList()
Definition imageHandling.cpp:1671
void AttachDataStream(const std::string data_stream_id)
Definition imageHandling.cpp:828
void GetHistogramFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition imageHandling.cpp:1861
cpl_image * DuplicateImage()
Definition imageHandling.cpp:1337
int get_ImageWidth() const
Definition imageHandling.cpp:1349
FitsExtension get_PrimaryHDUInfo() const
Definition imageHandling.cpp:193
bool WorldCoordinatesDegreesFromCanvas(const double x_canvas, const double y_canvas, double *alpha, double *delta)
Definition imageHandling.cpp:1553
bool ApplyCutLevelsMinMax()
Definition imageHandling.cpp:307
void set_FlipXFlag(const bool flip_flag)
Definition imageHandling.cpp:795
ddt::colorMapARGB_t * get_ActualColorMapARGB()
Definition imageHandling.cpp:1415
SignalT * ImageAvailableInBufferSignal()
Definition imageHandling.cpp:262
std::vector< std::vector< std::string > > GetExtensionsFITSHeader()
Definition imageHandling.cpp:1640
void set_InvertColourmap(const bool invert)
Definition imageHandling.cpp:1481
ddt::DdtStatistics * get_DataStatistics()
Definition imageHandling.cpp:852
void set_ColorScalingTypeLinear()
Definition imageHandling.cpp:1461
double get_CutLevelMin() const
Definition imageHandling.cpp:1382
void set_logger(ddt::DdtLogger *const in_logger)
Definition imageHandling.cpp:42
double ImagePixelFromImage(const double x_image, double y_image)
Definition imageHandling.cpp:1507
int get_ImageBitsPerPixel() const
Definition imageHandling.cpp:1394
ImageHandling()
Definition imageHandling.cpp:28
bool LoadConfigurationMaps(const std::string configuration_map_source)
Definition imageHandling.cpp:602
ddt::scalingLut_t * get_LogarithmicScalingLut()
Definition imageHandling.cpp:1446
void set_CurrentPlane(const int plane)
Definition imageHandling.cpp:823
CutLevelType
Definition imageHandling.hpp:60
@ MINMAX
Definition imageHandling.hpp:70
@ USERDEFINED
Definition imageHandling.hpp:74
@ AUTO
Definition imageHandling.hpp:65
bool LoadColorMaps(const std::string color_map_folder, std::string color_map_name="standard")
Definition imageHandling.cpp:482
int StoreActualImageAsBias(const std::string slot_name="")
Definition imageHandling.cpp:636
cpl_apertures * GetCircularObjects(const double sigma)
Definition imageHandling.cpp:861
void set_CutLevelType(const CutLevelType in_cut_level_type)
Definition imageHandling.cpp:274
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:1822
ColorScalingType
Definition imageHandling.hpp:80
@ SQRT_SCALE
Definition imageHandling.hpp:98
@ LOG_SCALE
Definition imageHandling.hpp:92
@ LINEAR_SCALE
Definition imageHandling.hpp:86
void ApplyBias(const int slot)
Definition imageHandling.cpp:771
void set_ColorScalingTypeSquareRoot()
Definition imageHandling.cpp:1471
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:963
bool get_AttachedToStream() const
Definition imageHandling.cpp:847
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:1831
double GetPixelToDegreesScalingFactor()
Definition imageHandling.cpp:1794
void EnableBias(const bool enable_bias)
Definition imageHandling.cpp:707
double ImagePixelFromCanvas(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image)
Definition imageHandling.cpp:1526
std::string GetBiasSlotName(const int slot)
Definition imageHandling.cpp:698
void GetCutValuesPercentageFromImage(const double percentage, double *const min_value, double *const max_value) const
Definition imageHandling.cpp:1882
void DetachDataStream(const std::string data_stream_id)
Definition imageHandling.cpp:842
void ConvertImageToCanvas(const double x_image, const double y_image, double *const x_canvas, double *const y_canvas) const
Definition imageHandling.cpp:1577
void * get_ImageData()
Definition imageHandling.cpp:1321
bool ReprocessImage()
Definition imageHandling.cpp:1856
bool get_LastSegment() const
Definition imageHandling.cpp:203
bool get_ImageRotation(double *const rotation_angle) const
Definition imageHandling.cpp:123
void FreeResources()
Definition imageHandling.cpp:40
ddt::scalingLut_t * get_ScalingLut()
Definition imageHandling.cpp:1420
cpl_table * get_BinaryTable()
Definition imageHandling.cpp:1346
bool get_FlipXFlag() const
Definition imageHandling.cpp:812
int get_NumberAxis() const
Definition imageHandling.cpp:1360
void DisplaySelectedBiasImage(const int slot)
Definition imageHandling.cpp:735
bool LoadImageExtensionsAsOne(const std::string &file_name)
Definition imageHandling.cpp:245
CplStatistics * GetStatisticsCplImageWindow(int llx, int lly, int urx, int ury)
Definition imageHandling.cpp:1599
ddt::scalingLut_t * get_LinearScalingLut()
Definition imageHandling.cpp:1441
double get_ImagePixelMin() const
Definition imageHandling.cpp:1388
std::string GetEquinox()
Definition imageHandling.cpp:1008
bool ImageCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_image, double *const y_image) const
Definition imageHandling.cpp:1545
void GetHistogramBinsFromImage(const int64_t min_value, const int64_t max_value, std::vector< int > &distribution) const
Definition imageHandling.cpp:1872
ddt::DdtLogger * logger
Definition imageHandling.hpp:972
FitsExtension * get_FitsExtensionInfo(const int extension_number)
Definition imageHandling.cpp:187
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:867
void set_RotateFlag(const bool rot_flag)
Definition imageHandling.cpp:788
std::string get_ColorScalingTypeStr() const
Definition imageHandling.cpp:1486
bool ResetCutLevels()
Definition imageHandling.cpp:456
std::string get_ActualColorMapName() const
Definition imageHandling.cpp:1410
bool LoadFilePlane(const std::string &file_name, const int position=0, const int plane=0)
Definition imageHandling.cpp:206
bool get_FlipYFlag() const
Definition imageHandling.cpp:815
void set_FlipYFlag(const bool flip_flag)
Definition imageHandling.cpp:802
bool get_RotateFlag() const
Definition imageHandling.cpp:809
cpl_image * get_Image()
Definition imageHandling.cpp:1335
DataAcquisition::ConnectionStateSignalT * ConnectionStateSignal()
Definition imageHandling.cpp:266
int get_ImageHeight() const
Definition imageHandling.cpp:1352
int get_NumberExtensions()
Definition imageHandling.cpp:1355
bool LoadInformationMaps(const std::string information_map_source)
Definition imageHandling.cpp:608
void set_CutLevelMax(const double max_value)
Definition imageHandling.cpp:1375
bool WorldCoordinatesDegreesFromImage(const double x_image, const double y_image, double *alpha, double *delta) const
Definition imageHandling.cpp:1537
bool LoadPointer(TPOINTER *new_image_data, int nx, int ny)
Definition imageHandling.cpp:234
bool GetBiasEnabled() const
Definition imageHandling.cpp:703
void set_CutLevelMin(const double min_value)
Definition imageHandling.cpp:1368
void ConvertCanvasToImage(const double x_canvas, const double y_canvas, double *const x_image, double *const y_image) const
Definition imageHandling.cpp:1569
ColorScalingType get_ColorScalingType() const
Definition imageHandling.cpp:1456
bool CanvasCoordinatesFromWorldCoordinatesDegrees(const double alpha, const double delta, double *const x_canvas, double *const y_canvas)
Definition imageHandling.cpp:1561
ddt::colorMap_t * get_ActualColorMap()
Definition imageHandling.cpp:1405
CutLevelType get_CutLevelType() const
Definition imageHandling.cpp:281
std::vector< int > get_invalid_image_hdus() const
Definition imageHandling.cpp:1851
bool ApplyCutLevelsAuto()
Definition imageHandling.cpp:372
std::string get_Timestamp() const
Definition imageHandling.cpp:119
bool LoadActualColorMap(std::string color_map_name)
Definition imageHandling.cpp:543
std::string get_LastSelectedColourmapName() const
Definition imageHandling.cpp:591
bool LoadFile(const std::string &file_name, const int position=0)
Definition imageHandling.cpp:214
std::vector< std::string > GetPrimaryFITSHeader()
Definition imageHandling.cpp:1613
std::string get_CutLevelTypeStr() const
Definition imageHandling.cpp:286
void set_RetrieveStatsFlag(bool value)
Definition imageHandling.cpp:856
void ClearSelectedBiasImage(const int slot)
Definition imageHandling.cpp:724
int get_CurrentPlane() const
Definition imageHandling.cpp:818
void set_ColorScalingType(const ColorScalingType scaling_type)
Definition imageHandling.cpp:1476
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:903
ddt::scalingLut_t * get_SqrtScalingLut()
Definition imageHandling.cpp:1451
void ClearAllBiasImages()
Definition imageHandling.cpp:712
SignalT * CutLevelChangedSignal()
Definition imageHandling.cpp:271
bool StoreActualImageAsBiasInSlot(const std::string slot_name, const int slot)
Definition imageHandling.cpp:614
bool ApplyCutLevelsManual(const double min_value, const double max_value)
Definition imageHandling.cpp:441
bool LoadActualConfigurationMap(const std::string configuration_map_name)
Definition imageHandling.cpp:596
int LoadFileAsBias(const std::string file_name)
Definition imageHandling.cpp:678
bool LoadFileAsBiasInSlot(const std::string file_name, const int slot)
Definition imageHandling.cpp:657
double get_ImagePixelMax() const
Definition imageHandling.cpp:1391
double get_CutLevelMax() const
Definition imageHandling.cpp:1385
std::list< std::string > get_ColorMaps() const
Definition imageHandling.cpp:1400
int get_NumberPlanes() const
Definition imageHandling.cpp:1363
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:73
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:32
std::array< std::array< float, COLOR_MAP_ENTRY_SIZE >, MAX_COLOR_MAP_ENTRIES > colorMap_t
Definition imageColor.hpp:48
std::array< unsigned int, MAX_COLOR_MAP_ENTRIES > colorMapARGB_t
Definition imageColor.hpp:58
Definition imageStats.hpp:33
Definition ddtStatistics.hpp:18
Definition dataFile.hpp:30
Definition imageColor.hpp:68