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;
306 const std::shared_ptr<DdtEncDec> enc_dec);
333 bool LoadFileDataVector();
341 bool LoadFileDataImage(
const int plane_number);
347 bool LoadImageExtensionsAsOne();
359 bool LoadPropertyList();
361 bool LoadWCSFromMetadata(
const std::shared_ptr<DdtEncDecImage2D> enc_dec_2d);
363 bool LoadWCSFromMetadata(
const std::shared_ptr<DdtEncDecImage3D> enc_dec_3d);
365 bool LoadWCSFromMetadata(
const std::shared_ptr<DdtEncDecBinaryxD> enc_dec_xd);
367 bool AssignPropListAndWcs(cpl_propertylist*
const prop_list);
372 boost::signals2::connection connect(
const SignalT::slot_type& event_listener);
377 void DataAvailable();
386 void CheckByteOrder(
const int topic_id,
ddt::DataSample*
const data_sample,
387 const std::vector<uint8_t> tmp_data);
402 const int bytes_per_pixel,
403 const uint32_t data_type)
const;
436 const std::string config_map_name,
437 const std::string dimension,
const uint32_t data_type);
443 void DeleteCplImage(cpl_image**
const image,
const bool only_unwrap)
const;
453 const cpl_image*
const config_map,
454 const uint32_t data_type,
const int data_dim);
462 std::list<std::string> get_TextInformationForValue(
const double value)
const;
471 void CreateAndInitNewImage(
const uint32_t complete_pixels_x,
472 const uint32_t complete_pixels_y,
473 const uint32_t data_type);
484 cpl_image* CreateNewImageFromDataSample(
ddt::DataSample*
const data_sample,
485 const int bytes_per_pixel,
486 const int number_pixels_x,
487 const int number_pixels_y,
488 const uint32_t data_type,
489 bool*
const only_unwrap);
497 cpl_image* CreateNewImageFromLastImage(
const uint32_t complete_pixels_y,
498 const int number_pixels_x,
499 const int number_pixels_y);
510 void CopySegmentToImage(
const cpl_image*
const tmp_image,
511 const uint32_t first_pixel_x,
512 const uint32_t first_pixel_y,
513 const uint32_t complete_pixels_y,
514 const int number_pixels_y);
525 void FreeAndCreateNew(
const uint32_t complete_pixels_x,
526 const uint32_t complete_pixels_y,
527 const uint32_t data_type,
const uint32_t image_id,
528 const bool complete_flag);
530 void LogMetaDataBase(
const std::shared_ptr<DdtEncDec> enc_dec);
535 void LogMetaDataImage2D(
const std::shared_ptr<DdtEncDecImage2D> enc_dec_2d);
540 void LogMetaDataImage3D(
const std::shared_ptr<DdtEncDecImage3D> enc_dec_3d);
545 void LogMetaDataBinaryxD(
const std::shared_ptr<DdtEncDecBinaryxD> enc_dec_xd);
571 boost::signals2::connection connection;
582 cpl_image* internal_image[2];
589 cpl_vector* internal_vector;
594 cpl_table* internal_binary_table;
614 int number_planes[2];
624 int number_extensions[2];
641 std::list<std::string> config_maps;
646 cpl_image* actual_configuration_map;
651 std::string actual_configuration;
656 boost::property_tree::ptree* actual_information_map;
661 std::string actual_configuration_map_source;
666 std::string actual_information_map_source;
676 std::string last_timestamp;
692 bool first_segment_received;
697 bool new_image_cycle;
703 bool copy_last_segment;
708 uint32_t last_first_pixel_x;
713 uint32_t last_first_pixel_y;
718 cpl_propertylist* property_list[2];
723 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:1624
cpl_apertures * get_CircularObjects(const double sigma)
Definition: imageBuffer.cpp:1233
cpl_propertylist * get_PropertyList()
Definition: imageBuffer.cpp:1228
int get_ImageWidth() const
Definition: imageBuffer.cpp:1825
void AttachDataStream(const std::string data_stream_id)
Definition: imageBuffer.cpp:1720
bool LoadFile(const std::string &file_name, const int position=0)
Definition: imageBuffer.cpp:1022
bool LoadInformationMaps(const std::string information_map_source)
Definition: imageBuffer.cpp:998
ddt::DdtLogger * logger
Definition: imageBuffer.hpp:315
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:1248
void set_CurrentPlane(const int plane)
Definition: imageBuffer.cpp:1839
bool LoadConfigurationMaps(const std::string configuration_map_source)
Definition: imageBuffer.cpp:983
FitsExtension * get_FitsExtensionInfo(const int extension_number)
Definition: imageBuffer.cpp:1163
int get_NumberExtensions()
Definition: imageBuffer.cpp:1842
SignalT * ImageDataAvailableSignal()
Definition: imageBuffer.cpp:1715
int get_CurrentPlane() const
Definition: imageBuffer.cpp:1836
bool LoadImageExtensionsAsOne(const std::string &file_name)
Definition: imageBuffer.cpp:1103
bool get_LastSegment() const
Definition: imageBuffer.cpp:1850
std::shared_ptr< DdtEncDec > get_MetadataSample()
Definition: imageBuffer.cpp:1816
void FreeResources()
Definition: imageBuffer.cpp:928
bool LoadFilePlane(const std::string &file_name, const int position=0, const int plane=0)
Definition: imageBuffer.cpp:1014
ImageBuffer()
Definition: imageBuffer.cpp:79
bool get_ConfigurationMap_Value(const double x, const double y, double *const value) const
Definition: imageBuffer.cpp:1264
bool LoadCPLImage(cpl_image *const image)
Definition: imageBuffer.cpp:1172
cpl_wcs * get_Wcs()
Definition: imageBuffer.cpp:1225
int get_NumberAxis() const
Definition: imageBuffer.cpp:1847
static void AddWCSItemsToPropList(cpl_propertylist *const prop_list, const std::shared_ptr< DdtEncDec > enc_dec)
Definition: imageBuffer.cpp:1594
std::string LastTimestampFromBuffer() const
Definition: imageBuffer.cpp:488
int get_NumberPlanes() const
Definition: imageBuffer.cpp:1831
virtual ~ImageBuffer()
Definition: imageBuffer.cpp:81
bool LoadActualConfigurationMap(const std::string configuration_map_name)
Definition: imageBuffer.cpp:959
std::vector< int > get_invalid_image_hdus() const
Definition: imageBuffer.cpp:1345
cpl_image * get_Image()
Definition: imageBuffer.cpp:1819
FitsExtension get_PrimaryHDUInfo() const
Definition: imageBuffer.cpp:1167
cpl_table * get_BinaryTable()
Definition: imageBuffer.cpp:1822
bool get_AttachedToStream() const
Definition: imageBuffer.cpp:1754
std::list< std::string > get_TextInformation(const double x, const double y) const
Definition: imageBuffer.cpp:1283
int get_ImageHeight() const
Definition: imageBuffer.cpp:1828
void DetachDataStream(const std::string data_stream_id)
Definition: imageBuffer.cpp:1749
bool get_FirstSegmentReceived() const
Definition: imageBuffer.cpp:1853
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: dataFile.hpp:39