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

◆ extract_numeric_data() [1/3]

template<typename T >
requires SingleVariant<T>
static std::span< double > MayaFlux::Yantra::OperationHelper::extract_numeric_data ( const T &  compute_data)
inlinestatic

extract numeric data from single-variant types

Template Parameters
TComputeData type
Parameters
compute_dataInput data
Returns
Span of double data

Definition at line 247 of file OperationHelper.hpp.

248 {
249 if constexpr (std::is_same_v<T, Kakshya::DataVariant>) {
250 auto const_span = Kakshya::convert_variant<double>(compute_data);
251 return std::span<double>(const_cast<double*>(const_span.data()), const_span.size());
252 }
253 if constexpr (is_eigen_matrix_v<T>) {
255 return Kakshya::convert_variant<double>(variant, s_complex_strategy);
256 }
257
258 Kakshya::DataVariant variant { compute_data };
260 }
static Kakshya::ComplexConversionStrategy s_complex_strategy
static Kakshya::DataVariant create_data_variant_from_eigen(const EigenType &eigen_data)
Create DataVariant from Eigen matrix/vector.
std::variant< std::vector< double >, std::vector< float >, std::vector< uint8_t >, std::vector< uint16_t >, std::vector< uint32_t >, std::vector< std::complex< float > >, std::vector< std::complex< double > >, std::vector< glm::vec2 >, std::vector< glm::vec3 >, std::vector< glm::vec4 >, std::vector< glm::mat4 > > DataVariant
Multi-type data storage for different precision needs.
Definition NDData.hpp:70
std::span< double > convert_variant_to_double(DataVariant &data, ComplexConversionStrategy strategy=ComplexConversionStrategy::MAGNITUDE)
Convert variant to double span.

Referenced by MayaFlux::Yantra::generate_compute_data_indices(), MayaFlux::Yantra::StandardSorter< InputType, OutputType >::merge_chunks_to_result(), MayaFlux::Yantra::sort_compute_data_inplace(), MayaFlux::Yantra::transform_regions(), MayaFlux::Yantra::transform_regions(), MayaFlux::Yantra::FeatureExtractor< InputType, OutputType >::validate_extraction_input(), and MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::validate_input().

+ Here is the caller graph for this function: