ddt  0.1
ddtEncDecMultiLayer.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file ddtMetaDataMultiLayer.hpp
8 // @brief DDT EncDecMultiLayer. Class to encode / decode multi-layer image data
9 // samples.
10 //
11 // Class to encode / decode multi-layer image data samples.
12 //
13 // @author Christoph Bortlisz, CGI
14 // @since 2020/05/22
15 //
16 
17 #ifndef DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_MULTILAYER_HPP
18 #define DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_MULTILAYER_HPP
19 
20 #include <boost/interprocess/containers/vector.hpp>
21 
22 #include "MetaData.pb.h"
23 #include "ddt/ddtEncDec.hpp"
24 
25 namespace ip = boost::interprocess;
26 
38  public:
42  explicit DdtEncDecMultiLayer();
43 
47  void decode(int length, std::vector<uint8_t> metaData);
48 
54  void encode(uint32_t bytes_per_pixel, bool complete_flag,
55  uint32_t number_pixels_x, uint32_t number_pixels_y,
56  bool byte_order_little_endian, int32_t binning_factor_x,
57  int32_t binning_factor_y, bool last_segment,
58  uint32_t number_layers, std::string description,
59  uint32_t data_type, uint32_t item_size, uint32_t endianness,
60  std::string labels);
61 
66 
70  std::vector<uint8_t> getMetaData();
71 
75  std::string getUtc_timestamp();
76 
80  uint32_t getBytes_per_pixel();
81 
85  bool getComplete_flag();
86 
90  uint32_t getNumber_pixels_x();
91 
95  uint32_t getNumber_pixels_y();
96 
101 
105  int32_t getBinning_factor_x();
106 
110  int32_t getBinning_factor_y();
111 
115  bool getLast_segment();
116 
120  uint32_t getNumber_layers();
121 
125  std::string getDescription();
126 
130  uint32_t getData_type();
131 
135  uint32_t getItem_size();
136 
140  uint32_t getEndianness();
141 
145  std::string getLabels();
146 
147  protected:
152  ddt::MetaDataMultiLayer metadataMultiLayer;
153 };
154 
155 #endif // DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_MULTILAYER_HPP
DdtEncDecMultiLayer
Definition: ddtEncDecMultiLayer.hpp:37
DdtEncDecMultiLayer::decode
void decode(int length, std::vector< uint8_t > metaData)
Definition: ddtEncDecMultiLayer.cpp:24
DdtEncDecMultiLayer::getLast_segment
bool getLast_segment()
Definition: ddtEncDecMultiLayer.cpp:113
DdtEncDecMultiLayer::getEndianness
uint32_t getEndianness()
Definition: ddtEncDecMultiLayer.cpp:132
DdtEncDec
Definition: ddtEncDec.hpp:26
DdtEncDecMultiLayer::getNumber_pixels_y
uint32_t getNumber_pixels_y()
Definition: ddtEncDecMultiLayer.cpp:97
DdtEncDecMultiLayer::~DdtEncDecMultiLayer
~DdtEncDecMultiLayer()
DdtEncDecMultiLayer::encode
void encode(uint32_t bytes_per_pixel, bool complete_flag, uint32_t number_pixels_x, uint32_t number_pixels_y, bool byte_order_little_endian, int32_t binning_factor_x, int32_t binning_factor_y, bool last_segment, uint32_t number_layers, std::string description, uint32_t data_type, uint32_t item_size, uint32_t endianness, std::string labels)
Definition: ddtEncDecMultiLayer.cpp:35
DdtEncDecMultiLayer::getBytes_per_pixel
uint32_t getBytes_per_pixel()
Definition: ddtEncDecMultiLayer.cpp:85
DdtEncDecMultiLayer::getDescription
std::string getDescription()
Definition: ddtEncDecMultiLayer.cpp:121
DdtEncDecMultiLayer::getNumber_pixels_x
uint32_t getNumber_pixels_x()
Definition: ddtEncDecMultiLayer.cpp:93
DdtEncDecMultiLayer::getNumber_layers
uint32_t getNumber_layers()
Definition: ddtEncDecMultiLayer.cpp:117
ddtEncDec.hpp
DdtEncDecMultiLayer::DdtEncDecMultiLayer
DdtEncDecMultiLayer()
Definition: ddtEncDecMultiLayer.cpp:19
DdtEncDecMultiLayer::getBinning_factor_y
int32_t getBinning_factor_y()
Definition: ddtEncDecMultiLayer.cpp:109
DdtEncDecMultiLayer::getLabels
std::string getLabels()
Definition: ddtEncDecMultiLayer.cpp:136
DdtEncDecMultiLayer::getComplete_flag
bool getComplete_flag()
Definition: ddtEncDecMultiLayer.cpp:89
DdtEncDecMultiLayer::getBinning_factor_x
int32_t getBinning_factor_x()
Definition: ddtEncDecMultiLayer.cpp:105
DdtEncDecMultiLayer::metadataMultiLayer
ddt::MetaDataMultiLayer metadataMultiLayer
Definition: ddtEncDecMultiLayer.hpp:152
DdtEncDecMultiLayer::getMetaData
std::vector< uint8_t > getMetaData()
Definition: ddtEncDecMultiLayer.cpp:69
DdtEncDecMultiLayer::getData_type
uint32_t getData_type()
Definition: ddtEncDecMultiLayer.cpp:124
DdtEncDecMultiLayer::getByte_order_little_endian
bool getByte_order_little_endian()
Definition: ddtEncDecMultiLayer.cpp:101
DdtEncDecMultiLayer::getItem_size
uint32_t getItem_size()
Definition: ddtEncDecMultiLayer.cpp:128
DdtEncDecMultiLayer::getUtc_timestamp
std::string getUtc_timestamp()
Definition: ddtEncDecMultiLayer.cpp:81