Infer dimensions and modality from any ComputeData type.
148{
149
152 } else if constexpr (CompositeContainerData<T>) {
153 return infer_from_composite_container(data);
154 } else if constexpr (std::is_same_v<T, Kakshya::DataVariant>) {
155 return infer_from_data_variant(data);
156 } else if constexpr (std::is_same_v<T, std::shared_ptr<Kakshya::SignalSourceContainer>>) {
158 } else if constexpr (std::is_same_v<T, Kakshya::Region>) {
160 } else if constexpr (std::is_same_v<T, Kakshya::RegionGroup>) {
162 } else if constexpr (std::is_same_v<T, std::vector<Kakshya::RegionSegment>>) {
164 } else if constexpr (is_eigen_matrix_v<T>) {
166 } else {
168 }
169}
An owning array of schema-bearing Composite elements.
static std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_from_eigen(const EigenType &eigen_data)
Infer structure from Eigen matrix/vector.
std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_from_composite_array(const Kakshya::CompositeArray &data)
Infer the element axis and modality of a CompositeArray.
std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_from_region(const Kakshya::Region ®ion, const std::shared_ptr< Kakshya::SignalSourceContainer > &container)
Infer structure from Region (placeholder since regions are markers)
std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_from_segments(const std::vector< Kakshya::RegionSegment > &segments, const std::shared_ptr< Kakshya::SignalSourceContainer > &container)
Infer structure from RegionSegments.
static std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_generic_structure(const T &data)
Generic structure inference for unknown types.
std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_from_container(const std::shared_ptr< Kakshya::SignalSourceContainer > &container)
Infer structure from SignalSourceContainer.
std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_from_region_group(const Kakshya::RegionGroup &group, const std::shared_ptr< Kakshya::SignalSourceContainer > &container)
Infer structure from RegionGroup.