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

◆ create_for_modality()

template<typename T >
static DataModule MayaFlux::Kakshya::DataDimension::create_for_modality ( DataModality  modality,
const std::vector< uint64_t > &  shape,
default_value = T {},
MemoryLayout  layout = MemoryLayout::ROW_MAJOR,
OrganizationStrategy  strategy = OrganizationStrategy::PLANAR 
)
inlinestatic

Create data module for a specific modality.

Template Parameters
TData type for storage
Parameters
modalityTarget data modality
shapeDimensional sizes
default_valueInitial value for elements
layoutMemory layout strategy
strategyOrganization strategy
Returns
DataModule with appropriate structure

Definition at line 312 of file NDData.hpp.

315 {},
318 {
319 auto dims = create_dimensions(modality, shape, layout);
320 auto variants = create_variants(modality, shape, default_value, strategy);
321
322 return { std::move(variants), std::move(dims) };
323 }
MemoryLayout
Memory layout for multi-dimensional data.
Definition NDData.hpp:36
@ ROW_MAJOR
C/C++ style (last dimension varies fastest)
OrganizationStrategy
Data organization strategy for multi-channel/multi-frame data.
Definition NDData.hpp:46
@ PLANAR
Separate DataVariant per logical unit (LLL...RRR for stereo)
static std::vector< DataVariant > create_variants(DataModality modality, const std::vector< uint64_t > &shape, T default_value, OrganizationStrategy org=OrganizationStrategy::PLANAR)
Create data variants for a specific modality.
Definition NDData.hpp:413
static std::vector< DataDimension > create_dimensions(DataModality modality, const std::vector< uint64_t > &shape, MemoryLayout layout=MemoryLayout::ROW_MAJOR)
Create dimension descriptors for a data modality.
Definition NDData.cpp:105