49 : m_logger(componentFramework::GetLogger(
"rtctk"))
51 , m_rtr_prefix_static(GetStaticRtrPrefix(
db_prefix))
52 , m_rtr_prefix_dynamic(GetDynamicRtrPrefix(
db_prefix))
54 , m_broker_endpoint(
"zpb.rr://127.0.0.1:5001") {
55 LOG4CPLUS_INFO(m_logger, fmt::format(
"Creating DdtPulisherImage2d '{}'", SI::ID));
71 m_meta_data.meta_data_base.bytes_per_pixel =
sizeof(
typename SI::PixelType);
72 m_meta_data.meta_data_base.number_dimensions = 1;
73 m_meta_data.meta_data_base.complete_flag =
true;
74 m_meta_data.meta_data_base.last_segment =
true;
81 m_meta_data.meta_data_base.byte_order_little_endian =
82 static_cast<bool>(boost::endian::order::native);
84 m_meta_data.meta_data_base.description = SI::ID;
86 if (
typeid(
typename SI::PixelType) ==
typeid(
uint8_t)) {
87 m_meta_data.meta_data_base.data_type = ddt::UINT8;
88 }
else if (
typeid(
typename SI::PixelType) ==
typeid(
int16_t)) {
89 m_meta_data.meta_data_base.data_type = ddt::SINT16;
90 }
else if (
typeid(
typename SI::PixelType) ==
typeid(
int32_t)) {
91 m_meta_data.meta_data_base.data_type = ddt::SINT32;
92 }
else if (
typeid(
typename SI::PixelType) ==
typeid(
float)) {
93 m_meta_data.meta_data_base.data_type = ddt::FLOAT32;
94 }
else if (
typeid(
typename SI::PixelType) ==
typeid(
double)) {
95 m_meta_data.meta_data_base.data_type = ddt::FLOAT64;
96 }
else if (
typeid(
typename SI::PixelType) ==
typeid(
uint16_t)) {
97 m_meta_data.meta_data_base.data_type = ddt::UINT16;
98 }
else if (
typeid(
typename SI::PixelType) ==
typeid(
uint32_t)) {
99 m_meta_data.meta_data_base.data_type = ddt::UINT32;
104 m_meta_data.binning_factor_x = 1;
105 m_meta_data.binning_factor_y = 1;
106 m_meta_data.number_pixels_x = SI::WIDTH;
107 m_meta_data.number_pixels_y = SI::HEIGHT;
108 m_meta_data.first_pixel_x = 0;
109 m_meta_data.first_pixel_y = 0;
110 m_meta_data.number_chunks_x = 1;
111 m_meta_data.number_chunks_y = 1;
115 m_ddt_publisher = std::make_unique<ddt::DdtDataPublisher>(m_logger);
116 m_ddt_publisher->set_topic_id(m_enc_dec.get_topic_id());
117 int bytes_per_sample = SI::HEIGHT * SI::WIDTH *
sizeof(
typename SI::PixelType);
122 m_ddt_publisher->RegisterPublisher(m_broker_endpoint, std::string(SI::ID),
false);
125 fmt::format(
"Failed to register DDT Publisher: {} against DDT Broker: {} "
126 "Check Broker URI, and ensure that Broker process is running.",
146 m_meta_data.image_id = sample_id;
147 m_meta_data.meta_data_base.utc_timestamp = m_enc_dec.get_utc_timestamp();
148 m_enc_dec.Encode(m_meta_data);
149 std::vector<uint8_t> metadata = m_enc_dec.get_meta_data();
152 m_ddt_publisher->WriteData(
154 m_ddt_publisher->PublishData();