20#ifndef IMAGEBUFFER_HPP
21#define IMAGEBUFFER_HPP
81 bool LoadFile(
const std::string& file_name,
const int position = 0);
91 bool LoadFilePlane(
const std::string& file_name,
const int position = 0,
233 int*
const is_rejected);
266 double*
const value)
const;
276 const double y)
const;
318 const std::shared_ptr<DdtEncDec> enc_dec);
345 bool LoadFileDataVector();
353 bool LoadFileDataImage(
const int plane_number);
359 bool LoadImageExtensionsAsOne();
371 bool LoadPropertyList();
373 bool LoadWCSFromMetadata(
const std::shared_ptr<DdtEncDecImage2D> enc_dec_2d);
375 bool LoadWCSFromMetadata(
const std::shared_ptr<DdtEncDecImage3D> enc_dec_3d);
377 bool LoadWCSFromMetadata(
const std::shared_ptr<DdtEncDecBinaryxD> enc_dec_xd);
379 bool AssignPropListAndWcs(cpl_propertylist*
const prop_list);
384 boost::signals2::connection connect(
const SignalT::slot_type& event_listener);
389 void DataAvailable();
398 void CheckByteOrder(
const int topic_id,
ddt::DataSample*
const data_sample,
399 const std::vector<uint8_t> tmp_data);
414 const int bytes_per_pixel,
415 const uint32_t data_type)
const;
448 const std::string config_map_name,
449 const std::string dimension,
const uint32_t data_type);
455 void DeleteCplImage(cpl_image**
const image,
const bool only_unwrap)
const;
465 const cpl_image*
const config_map,
466 const uint32_t data_type,
const int data_dim);
474 std::list<std::string> get_TextInformationForValue(
const double value)
const;
483 void CreateAndInitNewImage(
const uint32_t complete_pixels_x,
484 const uint32_t complete_pixels_y,
485 const uint32_t data_type);
496 cpl_image* CreateNewImageFromDataSample(
ddt::DataSample*
const data_sample,
497 const int bytes_per_pixel,
498 const int number_pixels_x,
499 const int number_pixels_y,
500 const uint32_t data_type,
501 bool*
const only_unwrap);
508 cpl_image* CreateNewImageFromLastImage(
const int number_pixels_x,
509 const int number_pixels_y);
518 void CopySegmentToImage(
const cpl_image*
const tmp_image,
519 const uint32_t first_pixel_x,
520 const uint32_t first_pixel_y);
531 void FreeAndCreateNew(
const uint32_t complete_pixels_x,
532 const uint32_t complete_pixels_y,
533 const uint32_t data_type,
const uint32_t image_id,
534 const bool complete_flag);
536 void LogMetaDataBase(
const std::shared_ptr<DdtEncDec> enc_dec);
541 void LogMetaDataImage2D(
const std::shared_ptr<DdtEncDecImage2D> enc_dec_2d);
546 void LogMetaDataImage3D(
const std::shared_ptr<DdtEncDecImage3D> enc_dec_3d);
551 void LogMetaDataBinaryxD(
const std::shared_ptr<DdtEncDecBinaryxD> enc_dec_xd);
577 boost::signals2::connection connection;
588 cpl_image* internal_image[2];
595 cpl_vector* internal_vector;
600 cpl_table* internal_binary_table;
620 int number_planes[2];
630 int number_extensions[2];
647 std::list<std::string> config_maps;
652 cpl_image* actual_configuration_map;
657 std::string actual_configuration;
662 boost::property_tree::ptree* actual_information_map;
667 std::string actual_configuration_map_source;
672 std::string actual_information_map_source;
682 std::string last_timestamp;
698 bool first_segment_received;
703 bool new_image_cycle;
709 bool copy_last_segment;
714 uint32_t last_first_pixel_x;
719 uint32_t last_first_pixel_y;
724 cpl_propertylist* property_list[2];
729 std::shared_ptr<DdtEncDec> encdec_image_data;
Definition: configurationMaps.hpp:39
Definition: dataAcquisition.hpp:52
Definition: dataFile.hpp:78
Definition: ddtLogger.hpp:51
Definition: imageBuffer.hpp:54
static int32_t BitsPerPixelFromDataType(const uint32_t data_type)
Definition: imageBuffer.cpp:1618
cpl_apertures * get_CircularObjects(const double sigma)
Definition: imageBuffer.cpp:1227
cpl_propertylist * get_PropertyList()
Definition: imageBuffer.cpp:1222
int get_ImageWidth() const
Definition: imageBuffer.cpp:1810
void AttachDataStream(const std::string data_stream_id)
Definition: imageBuffer.cpp:1696
bool LoadFile(const std::string &file_name, const int position=0)
Definition: imageBuffer.cpp:1016
bool LoadInformationMaps(const std::string information_map_source)
Definition: imageBuffer.cpp:992
ddt::DdtLogger * logger
Definition: imageBuffer.hpp:327
void set_logger(ddt::DdtLogger *const in_logger)
Definition: imageBuffer.cpp:152
double get_PixelValue(const int x_image, const int y_image, int *const is_rejected)
Definition: imageBuffer.cpp:1242
void set_CurrentPlane(const int plane)
Definition: imageBuffer.cpp:1824
bool LoadConfigurationMaps(const std::string configuration_map_source)
Definition: imageBuffer.cpp:977
FitsExtension * get_FitsExtensionInfo(const int extension_number)
Definition: imageBuffer.cpp:1157
int get_NumberExtensions()
Definition: imageBuffer.cpp:1827
SignalT * ImageDataAvailableSignal()
Definition: imageBuffer.cpp:1691
int get_CurrentPlane() const
Definition: imageBuffer.cpp:1821
ddt::DdtStatistics * get_DataStatistics()
Definition: imageBuffer.cpp:1735
bool LoadImageExtensionsAsOne(const std::string &file_name)
Definition: imageBuffer.cpp:1097
bool get_LastSegment() const
Definition: imageBuffer.cpp:1835
std::shared_ptr< DdtEncDec > get_MetadataSample()
Definition: imageBuffer.cpp:1801
void FreeResources()
Definition: imageBuffer.cpp:922
bool LoadFilePlane(const std::string &file_name, const int position=0, const int plane=0)
Definition: imageBuffer.cpp:1008
ImageBuffer()
Definition: imageBuffer.cpp:79
bool get_ConfigurationMap_Value(const double x, const double y, double *const value) const
Definition: imageBuffer.cpp:1258
bool LoadCPLImage(cpl_image *const image)
Definition: imageBuffer.cpp:1166
cpl_wcs * get_Wcs()
Definition: imageBuffer.cpp:1219
int get_NumberAxis() const
Definition: imageBuffer.cpp:1832
static void AddWCSItemsToPropList(cpl_propertylist *const prop_list, const std::shared_ptr< DdtEncDec > enc_dec)
Definition: imageBuffer.cpp:1588
std::string LastTimestampFromBuffer() const
Definition: imageBuffer.cpp:488
int get_NumberPlanes() const
Definition: imageBuffer.cpp:1816
virtual ~ImageBuffer()
Definition: imageBuffer.cpp:81
bool LoadActualConfigurationMap(const std::string configuration_map_name)
Definition: imageBuffer.cpp:953
std::vector< int > get_invalid_image_hdus() const
Definition: imageBuffer.cpp:1339
cpl_image * get_Image()
Definition: imageBuffer.cpp:1804
FitsExtension get_PrimaryHDUInfo() const
Definition: imageBuffer.cpp:1161
cpl_table * get_BinaryTable()
Definition: imageBuffer.cpp:1807
bool get_AttachedToStream() const
Definition: imageBuffer.cpp:1730
std::list< std::string > get_TextInformation(const double x, const double y) const
Definition: imageBuffer.cpp:1277
int get_ImageHeight() const
Definition: imageBuffer.cpp:1813
void DetachDataStream(const std::string data_stream_id)
Definition: imageBuffer.cpp:1725
bool get_FirstSegmentReceived() const
Definition: imageBuffer.cpp:1838
void set_RetrieveStatsFlag(bool value)
Definition: imageBuffer.cpp:1739
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....
DDT EncDecImage2D. Class to encode / decode 2-dimensional data samples containing image data....
DDT EncDecMultiLayer. Class to encode / decode multi-layer image data samples. Class to encode / deco...
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 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
Definition: ddtMemoryAccessor.hpp:184
Definition: ddtStatistics.hpp:27
Definition: dataFile.hpp:39