ddt  1.0.0
ddtEncDecImage2D.hpp
Go to the documentation of this file.
1 
20 #ifndef DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE2D_HPP
21 #define DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE2D_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 first_pixel_x;
40  uint32_t first_pixel_y;
41  uint32_t number_chunks_x;
42  uint32_t number_chunks_y;
43  uint32_t image_id;
45 };
46 
57 class DdtEncDecImage2D : public DdtEncDec {
58  public:
62  explicit DdtEncDecImage2D();
63 
69  void Decode(const int length, std::vector<uint8_t> meta_data);
70 
77  void Encode(MetaDataElementsImage2D const& meta_data);
78 
82  ~DdtEncDecImage2D() override;
83 
88  std::vector<uint8_t> get_meta_data() const;
89 
90  // Getter functions for the meta data base members
91 
95  uint32_t get_bytes_per_pixel() const override;
96 
100  uint32_t get_number_dimensions() const override;
101 
105  std::string get_utc_timestamp() const override;
106 
110  bool get_complete_flag() const override;
111 
115  bool get_last_segment() const override;
116 
120  bool get_byte_order_little_endian() const override;
121 
125  uint32_t get_data_type() const override;
126 
130  std::string get_description() const override;
131 
132  // Getter functions for the meta data specific members
133 
137  uint32_t get_number_pixels_x() const;
138 
142  uint32_t get_number_pixels_y() const;
143 
147  int32_t get_binning_factor_x() const;
148 
152  int32_t get_binning_factor_y() const;
153 
157  uint32_t get_first_pixel_x() const;
158 
162  uint32_t get_first_pixel_y() const;
163 
167  uint32_t get_number_chunks_x() const;
168 
172  uint32_t get_number_chunks_y() const;
173 
177  uint32_t get_image_id() const;
178 
182  float get_reference_point_x() const override;
183 
187  float get_reference_point_y() const override;
188 
192  float get_ra_reference_point() const override;
193 
197  float get_dec_reference_point() const override;
198 
202  float get_arcsec_pixel_x() const override;
203 
207  float get_arcsec_pixel_y() const override;
208 
212  float get_rotation_x() const override;
213 
217  float get_cd1_1() const override;
218 
222  float get_cd1_2() const override;
223 
227  float get_cd2_1() const override;
228 
232  float get_cd2_2() const override;
233 
237  float get_epoch_equinox() const override;
238 
242  std::string get_type_1() const override;
243 
247  std::string get_type_2() const override;
248 
249  protected:
254  ddt::MetaDataImage2D meta_data_image_2d;
255 };
256 
257 #endif // DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE2D_HPP
258 
Definition: ddtEncDecImage2D.hpp:57
DdtEncDecImage2D()
Definition: ddtEncDecImage2D.cpp:22
bool get_byte_order_little_endian() const override
Definition: ddtEncDecImage2D.cpp:155
std::string get_type_2() const override
Definition: ddtEncDecImage2D.cpp:219
uint32_t get_number_chunks_y() const
Definition: ddtEncDecImage2D.cpp:251
uint32_t get_number_pixels_x() const
Definition: ddtEncDecImage2D.cpp:223
uint32_t get_first_pixel_x() const
Definition: ddtEncDecImage2D.cpp:239
uint32_t get_first_pixel_y() const
Definition: ddtEncDecImage2D.cpp:243
float get_arcsec_pixel_x() const override
Definition: ddtEncDecImage2D.cpp:183
float get_epoch_equinox() const override
Definition: ddtEncDecImage2D.cpp:211
int32_t get_binning_factor_y() const
Definition: ddtEncDecImage2D.cpp:235
float get_rotation_x() const override
Definition: ddtEncDecImage2D.cpp:191
float get_reference_point_y() const override
Definition: ddtEncDecImage2D.cpp:171
std::vector< uint8_t > get_meta_data() const
Definition: ddtEncDecImage2D.cpp:123
uint32_t get_number_pixels_y() const
Definition: ddtEncDecImage2D.cpp:227
std::string get_utc_timestamp() const override
Definition: ddtEncDecImage2D.cpp:143
bool get_complete_flag() const override
Definition: ddtEncDecImage2D.cpp:147
float get_ra_reference_point() const override
Definition: ddtEncDecImage2D.cpp:175
float get_reference_point_x() const override
Definition: ddtEncDecImage2D.cpp:167
uint32_t get_image_id() const
Definition: ddtEncDecImage2D.cpp:255
int32_t get_binning_factor_x() const
Definition: ddtEncDecImage2D.cpp:231
void Encode(MetaDataElementsImage2D const &meta_data)
Definition: ddtEncDecImage2D.cpp:43
float get_dec_reference_point() const override
Definition: ddtEncDecImage2D.cpp:179
~DdtEncDecImage2D() override
bool get_last_segment() const override
Definition: ddtEncDecImage2D.cpp:151
ddt::MetaDataImage2D meta_data_image_2d
Definition: ddtEncDecImage2D.hpp:254
std::string get_description() const override
Definition: ddtEncDecImage2D.cpp:163
float get_cd2_2() const override
Definition: ddtEncDecImage2D.cpp:207
void Decode(const int length, std::vector< uint8_t > meta_data)
Definition: ddtEncDecImage2D.cpp:30
uint32_t get_number_chunks_x() const
Definition: ddtEncDecImage2D.cpp:247
float get_cd2_1() const override
Definition: ddtEncDecImage2D.cpp:203
float get_cd1_1() const override
Definition: ddtEncDecImage2D.cpp:195
uint32_t get_number_dimensions() const override
Definition: ddtEncDecImage2D.cpp:139
std::string get_type_1() const override
Definition: ddtEncDecImage2D.cpp:215
uint32_t get_bytes_per_pixel() const override
Definition: ddtEncDecImage2D.cpp:135
float get_arcsec_pixel_y() const override
Definition: ddtEncDecImage2D.cpp:187
uint32_t get_data_type() const override
Definition: ddtEncDecImage2D.cpp:159
float get_cd1_2() const override
Definition: ddtEncDecImage2D.cpp:199
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: ddtEncDecImage2D.hpp:33
uint32_t number_chunks_x
Definition: ddtEncDecImage2D.hpp:41
uint32_t number_chunks_y
Definition: ddtEncDecImage2D.hpp:42
uint32_t first_pixel_x
Definition: ddtEncDecImage2D.hpp:39
MetaDataBase meta_data_base
Definition: ddtEncDecImage2D.hpp:34
uint32_t first_pixel_y
Definition: ddtEncDecImage2D.hpp:40
int32_t binning_factor_y
Definition: ddtEncDecImage2D.hpp:38
uint32_t number_pixels_y
Definition: ddtEncDecImage2D.hpp:36
uint32_t number_pixels_x
Definition: ddtEncDecImage2D.hpp:35
int32_t binning_factor_x
Definition: ddtEncDecImage2D.hpp:37
uint32_t image_id
Definition: ddtEncDecImage2D.hpp:43
WcsInformation wcs_info
Definition: ddtEncDecImage2D.hpp:44
Definition: ddtEncDec.hpp:29