MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ extract_all_regions_info()

std::vector< std::unordered_map< std::string, std::any > > MayaFlux::Kakshya::extract_all_regions_info ( const std::shared_ptr< SignalSourceContainer > &  container)

Extract all regions from container's region groups.

Parameters
containerContainer to extract regions from.
Returns
Vector of structured region information.

Definition at line 271 of file RegionUtils.cpp.

272{
273 if (!container) {
274 error<std::invalid_argument>(
275 Journal::Component::Kakshya, Journal::Context::Runtime,
276 std::source_location::current(),
277 "Container is null");
278 }
279
280 auto all_groups = container->get_all_region_groups();
281 std::vector<std::unordered_map<std::string, std::any>> regions_info;
282
283 for (const auto& [group_name, group] : all_groups) {
284 for (size_t i = 0; i < group.regions.size(); ++i) {
285 const auto& region = group.regions[i];
286
287 std::unordered_map<std::string, std::any> region_info;
288 region_info["group_name"] = group_name;
289 region_info["region_index"] = i;
290 region_info["start_coordinates"] = region.start_coordinates;
291 region_info["end_coordinates"] = region.end_coordinates;
292 region_info["attributes"] = region.attributes;
293
294 regions_info.push_back(std::move(region_info));
295 }
296 }
297
298 return regions_info;
299}

References MayaFlux::Journal::Kakshya, and MayaFlux::Journal::Runtime.