ddt  1.0.0
ddtEncDecImage3D.hpp
Go to the documentation of this file.
1 
20 #ifndef DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE3D_HPP
21 #define DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE3D_HPP
22 
23 #include <boost/interprocess/containers/vector.hpp>
24 
25 #include "MetaData.pb.h"
26 #include "ddt/ddtEncDec.hpp"
27 
28 namespace ip = boost::interprocess;
29 
35  uint32_t number_pixels_x;
36  uint32_t number_pixels_y;
39  uint32_t number_layers;
40  uint32_t item_size;
42 };
43 
54 class DdtEncDecImage3D : public DdtEncDec {
55  public:
59  explicit DdtEncDecImage3D();
60 
66  void Decode(const int length, std::vector<uint8_t> meta_data);
67 
74  void Encode(MetaDataElementsImage3D const& meta_data);
75 
79  ~DdtEncDecImage3D() override;
80 
85  std::vector<uint8_t> get_meta_data() const;
86 
87  // Getter functions for the meta data base members
88 
92  uint32_t get_bytes_per_pixel() const override;
93 
97  uint32_t get_number_dimensions() const override;
98 
102  std::string get_utc_timestamp() const override;
103 
107  bool get_complete_flag() const override;
108 
112  bool get_last_segment() const override;
113 
117  bool get_byte_order_little_endian() const override;
118 
122  uint32_t get_data_type() const override;
123 
127  std::string get_description() const override;
128 
129  // Getter functions for the meta data specific members
130 
134  uint32_t get_number_pixels_x() const;
135 
139  uint32_t get_number_pixels_y() const;
140 
144  int32_t get_binning_factor_x() const;
145 
149  int32_t get_binning_factor_y() const;
150 
154  uint32_t get_number_layers() const;
155 
159  uint32_t get_item_size() const;
160 
164  float get_reference_point_x() const override;
165 
169  float get_reference_point_y() const override;
170 
174  float get_ra_reference_point() const override;
175 
179  float get_dec_reference_point() const override;
180 
184  float get_arcsec_pixel_x() const override;
185 
189  float get_arcsec_pixel_y() const override;
190 
194  float get_rotation_x() const override;
195 
199  float get_cd1_1() const override;
200 
204  float get_cd1_2() const override;
205 
209  float get_cd2_1() const override;
210 
214  float get_cd2_2() const override;
215 
219  float get_epoch_equinox() const override;
220 
224  std::string get_type_1() const override;
225 
229  std::string get_type_2() const override;
230 
231  protected:
236  ddt::MetaDataImage3D meta_data_image_3d;
237 };
238 
239 #endif // DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE3D_HPP
240 
Definition: ddtEncDecImage3D.hpp:54
float get_arcsec_pixel_y() const override
Definition: ddtEncDecImage3D.cpp:204
float get_reference_point_y() const override
Definition: ddtEncDecImage3D.cpp:188
int32_t get_binning_factor_y() const
Definition: ddtEncDecImage3D.cpp:172
float get_epoch_equinox() const override
Definition: ddtEncDecImage3D.cpp:228
void Decode(const int length, std::vector< uint8_t > meta_data)
Definition: ddtEncDecImage3D.cpp:30
uint32_t get_number_pixels_x() const
Definition: ddtEncDecImage3D.cpp:160
bool get_byte_order_little_endian() const override
Definition: ddtEncDecImage3D.cpp:148
float get_rotation_x() const override
Definition: ddtEncDecImage3D.cpp:208
std::string get_utc_timestamp() const override
Definition: ddtEncDecImage3D.cpp:136
uint32_t get_number_pixels_y() const
Definition: ddtEncDecImage3D.cpp:164
float get_arcsec_pixel_x() const override
Definition: ddtEncDecImage3D.cpp:200
DdtEncDecImage3D()
Definition: ddtEncDecImage3D.cpp:22
uint32_t get_bytes_per_pixel() const override
Definition: ddtEncDecImage3D.cpp:128
std::string get_type_2() const override
Definition: ddtEncDecImage3D.cpp:236
int32_t get_binning_factor_x() const
Definition: ddtEncDecImage3D.cpp:168
float get_reference_point_x() const override
Definition: ddtEncDecImage3D.cpp:184
ddt::MetaDataImage3D meta_data_image_3d
Definition: ddtEncDecImage3D.hpp:236
float get_cd2_1() const override
Definition: ddtEncDecImage3D.cpp:220
float get_dec_reference_point() const override
Definition: ddtEncDecImage3D.cpp:196
~DdtEncDecImage3D() override
uint32_t get_data_type() const override
Definition: ddtEncDecImage3D.cpp:152
std::vector< uint8_t > get_meta_data() const
Definition: ddtEncDecImage3D.cpp:116
std::string get_description() const override
Definition: ddtEncDecImage3D.cpp:156
bool get_complete_flag() const override
Definition: ddtEncDecImage3D.cpp:140
float get_cd2_2() const override
Definition: ddtEncDecImage3D.cpp:224
void Encode(MetaDataElementsImage3D const &meta_data)
Definition: ddtEncDecImage3D.cpp:43
uint32_t get_number_layers() const
Definition: ddtEncDecImage3D.cpp:176
std::string get_type_1() const override
Definition: ddtEncDecImage3D.cpp:232
float get_cd1_2() const override
Definition: ddtEncDecImage3D.cpp:216
uint32_t get_number_dimensions() const override
Definition: ddtEncDecImage3D.cpp:132
float get_ra_reference_point() const override
Definition: ddtEncDecImage3D.cpp:192
uint32_t get_item_size() const
Definition: ddtEncDecImage3D.cpp:180
bool get_last_segment() const override
Definition: ddtEncDecImage3D.cpp:144
float get_cd1_1() const override
Definition: ddtEncDecImage3D.cpp:212
Definition: ddtEncDec.hpp:63
Base class for encoding / decoding of data samples. This is the base class for encoding / decoding of...
Definition: ddtEncDec.hpp:49
Definition: ddtEncDecImage3D.hpp:33
MetaDataBase meta_data_base
Definition: ddtEncDecImage3D.hpp:34
WcsInformation wcs_info
Definition: ddtEncDecImage3D.hpp:41
int32_t binning_factor_y
Definition: ddtEncDecImage3D.hpp:38
uint32_t number_pixels_y
Definition: ddtEncDecImage3D.hpp:36
uint32_t item_size
Definition: ddtEncDecImage3D.hpp:40
uint32_t number_pixels_x
Definition: ddtEncDecImage3D.hpp:35
uint32_t number_layers
Definition: ddtEncDecImage3D.hpp:39
int32_t binning_factor_x
Definition: ddtEncDecImage3D.hpp:37
Definition: ddtEncDec.hpp:29