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

◆ generate_compute_data_indices()

template<ComputeData T>
std::vector< std::vector< size_t > > MayaFlux::Yantra::generate_compute_data_indices ( const Datum< T > &  data,
SortingDirection  direction 
)

Generate sort indices for any ComputeData type.

Template Parameters
TComputeData type
Parameters
dataData to generate indices for
directionSort direction
Returns
Vector of index vectors (one per channel)

Definition at line 128 of file SortingHelper.hpp.

130{
131 if constexpr (RequiresContainer<T>) {
132 auto channels = OperationHelper::extract_numeric_data(data.data, data.container.value());
133 return Kinesis::Discrete::channels_sort_indices(channels, direction);
134 }
135
136 if constexpr (SingleVariant<T>) {
137 auto channel = OperationHelper::extract_numeric_data(data.data);
138 return { Kinesis::Discrete::span_sort_indices({ channel }, direction) };
139 } else {
140 auto channels = OperationHelper::extract_numeric_data(data.data, data.needs_processig());
141 return Kinesis::Discrete::channels_sort_indices(channels, direction);
142 }
143}
T data
The actual computation data.
Definition DataIO.hpp:25
bool needs_processig() const
Check if processing is needed (for container types)
Definition DataIO.hpp:164
std::optional< std::shared_ptr< Kakshya::SignalSourceContainer > > container
Optional reference to container, required for regions.
Definition DataIO.hpp:31

References MayaFlux::Kinesis::Discrete::channels_sort_indices(), MayaFlux::Yantra::Datum< T >::container, MayaFlux::Yantra::Datum< T >::data, MayaFlux::Yantra::OperationHelper::extract_numeric_data(), MayaFlux::Yantra::Datum< T >::needs_processig(), and MayaFlux::Kinesis::Discrete::span_sort_indices().

Referenced by MayaFlux::Yantra::StandardSorter< InputType, OutputType >::sort_indices_only().

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