117 std::unique_ptr<DdtLogger> logger;
119 std::string broker_uri;
120 std::string data_stream_identifier;
121 int publishing_interval_milliseconds;
122 int num_samples_in_buffer;
123 std::string image_folder;
130 bool debug_log_enabled =
false;
144 bool CheckBytesPerPixel(std::vector<std::string>& file_list);
146 void DetermineBytesPerPixelAndDataType(
147 const cpl_propertylist*
const property_list,
const cpl_image*
const image,
148 int*
const bytes_per_pixel, uint32_t*
const data_type,
149 cpl_type*
const cplImageType);
151 bool GetSimulationData(std::vector<std::string>& file_list,
152 std::vector<cpl_image*>& images);
154 void FillDataVectors(std::vector<std::vector<uint8_t>>& datavecs,
155 int& max_sample_size, std::vector<cpl_image*>& images,
156 const int num_images,
const cpl_type cplImageType,
157 const int bytes_per_pixel)
const;
159 void FillDataVectorInt(std::vector<std::vector<uint8_t>>& datavecs,
160 cpl_image*
const image,
const int vec_elems,
161 const int bytes_per_pixel)
const;
163 void FillDataVectorFloat(std::vector<std::vector<uint8_t>>& datavecs,
164 cpl_image*
const image,
const int vec_elems,
165 const int bytes_per_pixel)
const;
167 void FillDataVectorDouble(std::vector<std::vector<uint8_t>>& datavecs,
168 cpl_image*
const image,
const int vec_elems,
169 const int bytes_per_pixel)
const;
171 void FillMetaDataWCSItems(
const cpl_propertylist*
const property_list,
175 const int bytes_per_pixel,
176 const uint32_t number_dimensions,
177 const bool complete_flag,
const bool last_segment,
178 const bool byte_order_little_endian,
179 const uint32_t data_type)
const;
182 const int bytes_per_pixel,
183 const uint32_t number_dimensions,
184 const bool complete_flag,
185 const bool byte_order_little_endian,
186 const uint32_t data_type)
const;
189 const uint32_t number_pixels_x,
190 const uint32_t number_pixels_y,
191 const int32_t binning_factor_x,
192 const int32_t binning_factor_y,
193 const uint32_t number_layers,
194 const uint32_t item_size)
const;
197 const uint32_t number_pixels_x,
198 const uint32_t number_pixels_y,
199 const int32_t binning_factor_x,
200 const int32_t binning_factor_y,
201 const uint32_t number_chunks_x,
202 const uint32_t number_chunks_y)
const;
205 const uint32_t first_pixel_x,
206 const uint32_t first_pixel_y,
207 const bool last_segment,
208 const int32_t image_id)
const;
210 void PublishDataImageTransfer(std::vector<cpl_image*>& images,
211 const int bytes_per_pixel,
212 const uint32_t data_type,
const int num_images,
213 const int max_sample_size,
215 std::vector<std::vector<uint8_t>>& datavecs);
217 void PublishDataSegmentedImageTransfer(
const int bytes_per_pixel,
218 const uint32_t number_pixels_x,
219 const uint32_t number_pixels_y,
220 const int vec_elems);
222 void PublishDataMultiDimension(
const uint32_t bytes_per_value,
223 const int number_dimensions,
224 const uint32_t data_type,
225 const std::string array_dimensions,
227 const std::vector<uint8_t>& datavec,
228 std::vector<std::string>& descriptions);
230 void PublishDataUnsignedIntegerTransfer(
231 const uint32_t bytes_per_value,
const int dim1,
const int dim2,
232 const int number_dimensions,
const uint32_t data_type,
233 const int vec_elems,
const std::vector<uint8_t>& datavec,
234 std::vector<std::string>& descriptions);
236 cpl_propertylist* LoadPropertyList(
const std::string file_name);
238 void LogNoSimDataFolder();
239 void LogNoDirectory();
240 void LogNoSimDataFiles();
242 int CreateAndRegPublisher(
const int vec_elems);
245 const std::vector<uint8_t>& datavec,
246 const int32_t sample_id);
248 const uint32_t bytes_per_pixel,
249 const uint32_t number_dimensions,
250 const bool byte_order_little_endian,
251 const bool complete_flag,
const bool last_segment,
252 const uint32_t data_type,
253 const std::string array_dimensions)
const;
255 std::vector<uint8_t> GetDataVectorOscilloscope(
const int dim1);
256 std::vector<uint8_t> GetDataVectorMultiDimension(
const int dim1,
260 void FillDataVectorNumericalSample(
const int dim1,
const int cnt,
261 std::vector<uint8_t>& datavec);
262 void FillDataVectorSegmentedImage(
const uint32_t number_pixels_x,
263 const uint32_t number_pixels_y,
264 const int chunk_cnt_x,
265 const int chunk_cnt_y,
266 const uint32_t number_chunks_x,
267 std::vector<uint8_t>& datavec)
const;
269 std::unique_ptr<DdtDataPublisher> publisher;