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

◆ extract_transformation_parameters()

template<ComputeData InputType = Kakshya::DataVariant, ComputeData OutputType = InputType>
std::vector< double > MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::extract_transformation_parameters ( const input_type &  input) const
inlineprotected

Helper method to apply transformation keys to extract parameters.

Parameters
inputInput data to extract parameters from
Returns
Vector of extracted parameter values

Processes all transformation keys to extract parameter values from the input data. Applies normalization, intensity, and weight adjustments as configured. Used for data-driven and adaptive transformations.

Definition at line 609 of file UniversalTransformer.hpp.

610 {
611 std::vector<double> parameters;
612 parameters.reserve(m_transformation_keys.size());
613
614 for (const auto& key : m_transformation_keys) {
615 try {
616 double param {};
617 if (key.axis.has_value()) {
618 // TODO: Implement dimension validation
619 } else {
620 param = key.parameter_extractor(input.data[key.channel]);
621 }
622 if (key.normalize) {
623 param = std::clamp(param, 0.0, 1.0);
624 }
625 parameters.push_back(param * key.intensity * key.weight);
626 } catch (...) {
627 parameters.push_back(0.0);
628 }
629 }
630
631 return parameters;
632 }
Core::GlobalInputConfig input
Definition Config.cpp:42
std::vector< TransformationKey > m_transformation_keys
Multi-dimensional transformation keys.

References input, and MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::m_transformation_keys.