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

◆ validate_input()

template<ComputeData InputType = Kakshya::DataVariant, ComputeData OutputType = InputType>
bool MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::validate_input ( const input_type &  input) const
inlineoverrideprotectedvirtual

Basic input validation that derived classes can override.

Parameters
inputInput data to validate
Returns
true if input is valid for processing, false otherwise

Base implementation checks for:

  • Non-empty data
  • Basic data type validity
  • Finite values (no NaN/infinity in sample data)

Derived transformers can override to add specific requirements (e.g., minimum size for spectral operations, specific data structure requirements).

Reimplemented from MayaFlux::Yantra::ComputeOperation< InputType, OutputType >.

Definition at line 647 of file UniversalTransformer.hpp.

648 {
649 if constexpr (RequiresContainer<InputType>) {
650 if (!input.has_container()) {
651 return false;
652 }
653 auto numeric_data = OperationHelper::extract_numeric_data(input.data, input.container.value());
654 return validate_multi_channel_data(numeric_data);
655 } else {
656 auto numeric_data = OperationHelper::extract_numeric_data(input.data);
657 return validate_multi_channel_data(numeric_data);
658 }
659 }
Core::GlobalInputConfig input
Definition Config.cpp:42
static std::span< double > extract_numeric_data(const T &compute_data)
extract numeric data from single-variant types
bool validate_multi_channel_data(const std::vector< std::span< double > > &channels) const
Validates multi-channel numeric data for NaN/Infinity values.

References MayaFlux::Yantra::OperationHelper::extract_numeric_data(), input, and MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::validate_multi_channel_data().

Referenced by MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::operation_function().

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