126 std::unique_ptr<DdtLogger> logger;
128 std::string broker_uri;
129 std::string data_stream_identifier;
130 int publishing_interval_milliseconds;
131 int num_samples_in_buffer;
132 std::string image_folder;
139 bool debug_log_enabled =
false;
153 bool CheckBytesPerPixel(std::vector<std::string>& file_list);
155 void DetermineBytesPerPixelAndDataType(
156 const cpl_propertylist*
const property_list,
const cpl_image*
const image,
157 int*
const bytes_per_pixel, uint32_t*
const data_type,
158 cpl_type*
const cplImageType);
160 bool GetSimulationData(std::vector<std::string>& file_list,
161 std::vector<cpl_image*>& images);
163 void FillDataVectors(std::vector<std::vector<uint8_t>>& datavecs,
164 int& max_sample_size, std::vector<cpl_image*>& images,
165 const int num_images,
const cpl_type cplImageType,
166 const int bytes_per_pixel)
const;
168 void FillDataVectorInt(std::vector<std::vector<uint8_t>>& datavecs,
169 cpl_image*
const image,
const int vec_elems,
170 const int bytes_per_pixel)
const;
172 void FillDataVectorFloat(std::vector<std::vector<uint8_t>>& datavecs,
173 cpl_image*
const image,
const int vec_elems,
174 const int bytes_per_pixel)
const;
176 void FillDataVectorDouble(std::vector<std::vector<uint8_t>>& datavecs,
177 cpl_image*
const image,
const int vec_elems,
178 const int bytes_per_pixel)
const;
180 void FillMetaDataWCSItems(
const cpl_propertylist*
const property_list,
184 const int bytes_per_pixel,
185 const uint32_t number_dimensions,
186 const bool complete_flag,
const bool last_segment,
187 const bool byte_order_little_endian,
188 const uint32_t data_type)
const;
191 const int bytes_per_pixel,
192 const uint32_t number_dimensions,
193 const bool complete_flag,
194 const bool byte_order_little_endian,
195 const uint32_t data_type)
const;
198 const uint32_t number_pixels_x,
199 const uint32_t number_pixels_y,
200 const int32_t binning_factor_x,
201 const int32_t binning_factor_y,
202 const uint32_t number_layers,
203 const uint32_t item_size)
const;
206 const uint32_t number_pixels_x,
207 const uint32_t number_pixels_y,
208 const int32_t binning_factor_x,
209 const int32_t binning_factor_y,
210 const uint32_t number_chunks_x,
211 const uint32_t number_chunks_y)
const;
214 const uint32_t first_pixel_x,
215 const uint32_t first_pixel_y,
216 const bool last_segment,
217 const int32_t image_id)
const;
219 void PublishDataImageTransfer(std::vector<cpl_image*>& images,
220 const int bytes_per_pixel,
221 const uint32_t data_type,
const int num_images,
222 const int max_sample_size,
224 std::vector<std::vector<uint8_t>>& datavecs);
226 void PublishDataSegmentedImageTransfer(
const int bytes_per_pixel,
227 const uint32_t number_pixels_x,
228 const uint32_t number_pixels_y,
229 const int vec_elems);
231 void PublishDataMultiDimension(
const uint32_t bytes_per_value,
232 const int number_dimensions,
233 const uint32_t data_type,
234 const std::string array_dimensions,
236 const std::vector<uint8_t>& datavec,
237 std::vector<std::string>& descriptions);
239 void PublishDataUnsignedIntegerTransfer(
240 const uint32_t bytes_per_value,
const int dim1,
const int dim2,
241 const int number_dimensions,
const uint32_t data_type,
242 const int vec_elems,
const std::vector<uint8_t>& datavec,
243 std::vector<std::string>& descriptions);
245 cpl_propertylist* LoadPropertyList(
const std::string file_name);
247 void LogNoSimDataFolder();
248 void LogNoDirectory();
249 void LogNoSimDataFiles();
251 int CreateAndRegPublisher(
const int vec_elems);
254 const std::vector<uint8_t>& datavec,
255 const int32_t sample_id);
257 const uint32_t bytes_per_pixel,
258 const uint32_t number_dimensions,
259 const bool byte_order_little_endian,
260 const bool complete_flag,
const bool last_segment,
261 const uint32_t data_type,
262 const std::string array_dimensions)
const;
264 std::vector<uint8_t> GetDataVectorOscilloscope(
const int dim1);
265 std::vector<uint8_t> GetDataVectorMultiDimension(
const int dim1,
269 void FillDataVectorNumericalSample(
const int dim1,
const int cnt,
270 std::vector<uint8_t>& datavec);
271 void FillDataVectorSegmentedImage(
const uint32_t number_pixels_x,
272 const uint32_t number_pixels_y,
273 const int chunk_cnt_x,
274 const int chunk_cnt_y,
275 const uint32_t number_chunks_x,
276 std::vector<uint8_t>& datavec)
const;
278 std::unique_ptr<DdtDataPublisher> publisher;