ddt  0.1
ddtEncDecImage3D.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 ddtMetaDataImage3D.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_IMAGE3D_HPP
18 #define DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE3D_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 
32  uint32_t number_pixels_x;
33  uint32_t number_pixels_y;
36  uint32_t number_layers;
37  uint32_t item_size;
39 };
40 
51 class DdtEncDecImage3D : public DdtEncDec {
52  public:
56  explicit DdtEncDecImage3D();
57 
61  void Decode(const int length, std::vector<uint8_t> meta_data);
62 
68  void Encode(MetaDataElementsImage3D const& meta_data);
69 
73  ~DdtEncDecImage3D() override;
74 
78  std::vector<uint8_t> get_meta_data() const;
79 
80  // Getter functions for the meta data base members
81 
85  uint32_t get_bytes_per_pixel() const override;
86 
90  uint32_t get_number_dimensions() const override;
91 
95  std::string get_utc_timestamp() const override;
96 
100  bool get_complete_flag() const override;
101 
105  bool get_last_segment() const override;
106 
110  bool get_byte_order_little_endian() const override;
111 
115  uint32_t get_data_type() const override;
116 
120  std::string get_description() const override;
121 
122  // Getter functions for the meta data specific members
123 
127  uint32_t get_number_pixels_x() const;
128 
132  uint32_t get_number_pixels_y() const;
133 
137  int32_t get_binning_factor_x() const;
138 
142  int32_t get_binning_factor_y() const;
143 
147  uint32_t get_number_layers() const;
148 
152  uint32_t get_item_size() const;
153 
157  float get_reference_point_x() const override;
158 
162  float get_reference_point_y() const override;
163 
167  float get_ra_reference_point() const override;
168 
172  float get_dec_reference_point() const override;
173 
177  float get_arcsec_pixel_x() const override;
178 
182  float get_arcsec_pixel_y() const override;
183 
187  float get_rotation_x() const override;
188 
192  float get_cd1_1() const override;
193 
197  float get_cd1_2() const override;
198 
202  float get_cd2_1() const override;
203 
207  float get_cd2_2() const override;
208 
212  float get_epoch_equinox() const override;
213 
217  std::string get_type_1() const override;
218 
222  std::string get_type_2() const override;
223 
224  protected:
229  ddt::MetaDataImage3D meta_data_image_3d;
230 };
231 
232 #endif // DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_IMAGE3D_HPP
MetaDataElementsImage3D
Definition: ddtEncDecImage3D.hpp:30
WcsInformation
Definition: ddtEncDec.hpp:26
MetaDataBase
Definition: ddtEncDec.hpp:46
DdtEncDecImage3D::get_arcsec_pixel_y
float get_arcsec_pixel_y() const override
Definition: ddtEncDecImage3D.cpp:198
DdtEncDecImage3D::get_epoch_equinox
float get_epoch_equinox() const override
Definition: ddtEncDecImage3D.cpp:222
DdtEncDec
Definition: ddtEncDec.hpp:60
DdtEncDecImage3D::get_binning_factor_x
int32_t get_binning_factor_x() const
Definition: ddtEncDecImage3D.cpp:162
DdtEncDecImage3D::get_last_segment
bool get_last_segment() const override
Definition: ddtEncDecImage3D.cpp:138
DdtEncDecImage3D::get_number_pixels_y
uint32_t get_number_pixels_y() const
Definition: ddtEncDecImage3D.cpp:158
DdtEncDecImage3D::get_utc_timestamp
std::string get_utc_timestamp() const override
Definition: ddtEncDecImage3D.cpp:130
DdtEncDecImage3D::get_ra_reference_point
float get_ra_reference_point() const override
Definition: ddtEncDecImage3D.cpp:186
DdtEncDecImage3D::get_byte_order_little_endian
bool get_byte_order_little_endian() const override
Definition: ddtEncDecImage3D.cpp:142
DdtEncDecImage3D::get_dec_reference_point
float get_dec_reference_point() const override
Definition: ddtEncDecImage3D.cpp:190
DdtEncDecImage3D::get_item_size
uint32_t get_item_size() const
Definition: ddtEncDecImage3D.cpp:174
DdtEncDecImage3D::get_cd2_2
float get_cd2_2() const override
Definition: ddtEncDecImage3D.cpp:218
DdtEncDecImage3D
Definition: ddtEncDecImage3D.hpp:51
DdtEncDecImage3D::get_cd2_1
float get_cd2_1() const override
Definition: ddtEncDecImage3D.cpp:214
ddtEncDec.hpp
DdtEncDecImage3D::get_reference_point_x
float get_reference_point_x() const override
Definition: ddtEncDecImage3D.cpp:178
MetaDataElementsImage3D::number_pixels_x
uint32_t number_pixels_x
Definition: ddtEncDecImage3D.hpp:32
DdtEncDecImage3D::Decode
void Decode(const int length, std::vector< uint8_t > meta_data)
Definition: ddtEncDecImage3D.cpp:27
MetaDataElementsImage3D::binning_factor_y
int32_t binning_factor_y
Definition: ddtEncDecImage3D.hpp:35
MetaDataElementsImage3D::binning_factor_x
int32_t binning_factor_x
Definition: ddtEncDecImage3D.hpp:34
MetaDataElementsImage3D::number_pixels_y
uint32_t number_pixels_y
Definition: ddtEncDecImage3D.hpp:33
DdtEncDecImage3D::get_type_2
std::string get_type_2() const override
Definition: ddtEncDecImage3D.cpp:230
MetaDataElementsImage3D::wcs_info
WcsInformation wcs_info
Definition: ddtEncDecImage3D.hpp:38
MetaDataElementsImage3D::item_size
uint32_t item_size
Definition: ddtEncDecImage3D.hpp:37
DdtEncDecImage3D::get_binning_factor_y
int32_t get_binning_factor_y() const
Definition: ddtEncDecImage3D.cpp:166
DdtEncDecImage3D::get_number_layers
uint32_t get_number_layers() const
Definition: ddtEncDecImage3D.cpp:170
DdtEncDecImage3D::get_cd1_2
float get_cd1_2() const override
Definition: ddtEncDecImage3D.cpp:210
DdtEncDecImage3D::DdtEncDecImage3D
DdtEncDecImage3D()
Definition: ddtEncDecImage3D.cpp:19
DdtEncDecImage3D::get_cd1_1
float get_cd1_1() const override
Definition: ddtEncDecImage3D.cpp:206
DdtEncDecImage3D::get_number_pixels_x
uint32_t get_number_pixels_x() const
Definition: ddtEncDecImage3D.cpp:154
DdtEncDecImage3D::Encode
void Encode(MetaDataElementsImage3D const &meta_data)
Definition: ddtEncDecImage3D.cpp:40
MetaDataElementsImage3D::meta_data_base
MetaDataBase meta_data_base
Definition: ddtEncDecImage3D.hpp:31
DdtEncDecImage3D::get_data_type
uint32_t get_data_type() const override
Definition: ddtEncDecImage3D.cpp:146
DdtEncDecImage3D::get_bytes_per_pixel
uint32_t get_bytes_per_pixel() const override
Definition: ddtEncDecImage3D.cpp:122
DdtEncDecImage3D::get_number_dimensions
uint32_t get_number_dimensions() const override
Definition: ddtEncDecImage3D.cpp:126
DdtEncDecImage3D::meta_data_image_3d
ddt::MetaDataImage3D meta_data_image_3d
Definition: ddtEncDecImage3D.hpp:229
DdtEncDecImage3D::get_complete_flag
bool get_complete_flag() const override
Definition: ddtEncDecImage3D.cpp:134
DdtEncDecImage3D::get_description
std::string get_description() const override
Definition: ddtEncDecImage3D.cpp:150
MetaDataElementsImage3D::number_layers
uint32_t number_layers
Definition: ddtEncDecImage3D.hpp:36
DdtEncDecImage3D::get_arcsec_pixel_x
float get_arcsec_pixel_x() const override
Definition: ddtEncDecImage3D.cpp:194
DdtEncDecImage3D::get_reference_point_y
float get_reference_point_y() const override
Definition: ddtEncDecImage3D.cpp:182
DdtEncDecImage3D::get_meta_data
std::vector< uint8_t > get_meta_data() const
Definition: ddtEncDecImage3D.cpp:110
DdtEncDecImage3D::get_rotation_x
float get_rotation_x() const override
Definition: ddtEncDecImage3D.cpp:202
DdtEncDecImage3D::get_type_1
std::string get_type_1() const override
Definition: ddtEncDecImage3D.cpp:226
DdtEncDecImage3D::~DdtEncDecImage3D
~DdtEncDecImage3D() override