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

◆ create_output()

template<ComputeData InputType = std::vector<Kakshya::DataVariant>, ComputeData OutputType = InputType>
output_type MayaFlux::Yantra::ConvolutionTransformer< InputType, OutputType >::create_output ( const input_type input)
inlineprivate

Creates output with proper type conversion.

Parameters
dataInput data to convert
Returns
Output with converted data type

Handles type conversion between InputType and OutputType when necessary, or direct assignment when types match. Ensures convolution processing results maintain the correct output type and signal characteristics.

Definition at line 234 of file ConvolutionTransformer.hpp.

235 {
236 if constexpr (std::is_same_v<InputType, OutputType>) {
237 return input;
238 } else {
239 auto [result_data, metadata] = OperationHelper::extract_structured_double(input);
240 return this->convert_result(result_data, metadata);
241 }
242 }
output_type convert_result(std::vector< std::vector< double > > &result_data, DataStructureInfo &metadata)
Convert processed double data back to OutputType using metadata and optional callback.
static std::tuple< std::vector< std::span< double > >, DataStructureInfo > extract_structured_double(T &compute_data)
Extract structured double data from Datum container or direct ComputeData with automatic container ha...