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

◆ infer_from_container()

std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > MayaFlux::Yantra::infer_from_container ( const std::shared_ptr< Kakshya::SignalSourceContainer > &  container)

Infer structure from SignalSourceContainer.

Definition at line 29 of file StructureIntrospection.cpp.

30{
31 if (!container) {
32 throw std::invalid_argument("Cannot infer structure from null container");
33 }
34
35 const auto& structure = container->get_structure();
36 auto dimensions = structure.dimensions;
37
38 auto modality = structure.modality;
39 if (modality == Kakshya::DataModality::UNKNOWN) {
40 modality = Kakshya::detect_data_modality(dimensions);
41 }
42
43 if (dimensions.empty()) {
44 auto total_elements = structure.get_total_elements();
45 if (total_elements > 0) {
46 dimensions.emplace_back(Kakshya::DataDimension::time(total_elements));
47 modality = Kakshya::DataModality::AUDIO_1D;
48 }
49 }
50
51 return std::make_pair(std::move(dimensions), modality);
52}

References MayaFlux::Kakshya::AUDIO_1D, MayaFlux::Kakshya::detect_data_modality(), MayaFlux::Kakshya::DataDimension::time(), and MayaFlux::Kakshya::UNKNOWN.

Referenced by infer_from_region(), and infer_structure().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: