MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MatrixHelper.hpp File Reference

Region-aware and matrix transformation functions leveraging existing ecosystem. More...

+ Include dependency graph for MatrixHelper.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Yantra
 

Functions

template<OperationReadyData DataType, typename TransformFunc >
requires std::invocable<TransformFunc, DataType>
DataType MayaFlux::Yantra::transform_regions (DataType &input, const std::shared_ptr< Kakshya::SignalSourceContainer > &container, const std::vector< Kakshya::Region > &regions, TransformFunc transform_func)
 Region-selective transformation using container-based extraction (IN-PLACE)
 
template<OperationReadyData DataType, typename TransformFunc >
requires std::invocable<TransformFunc, DataType>
DataType MayaFlux::Yantra::transform_regions (DataType &input, const std::shared_ptr< Kakshya::SignalSourceContainer > &container, const std::vector< Kakshya::Region > &regions, TransformFunc transform_func, std::vector< std::vector< double > > &working_buffer)
 Region-selective transformation using container-based extraction (OUT-OF-PLACE)
 
template<OperationReadyData DataType, typename TransformFunc >
requires std::invocable<TransformFunc, double>
DataType MayaFlux::Yantra::transform_by_energy (DataType &input, double energy_threshold, TransformFunc transform_func, uint32_t window_size=1024, uint32_t hop_size=512)
 Energy-based transformation using existing EnergyAnalyzer (IN-PLACE)
 
template<OperationReadyData DataType, typename TransformFunc >
requires std::invocable<TransformFunc, double>
DataType MayaFlux::Yantra::transform_by_energy (DataType &input, double energy_threshold, TransformFunc transform_func, uint32_t window_size, uint32_t hop_size, std::vector< std::vector< double > > &working_buffer)
 Energy-based transformation using existing EnergyAnalyzer (OUT-OF-PLACE)
 
template<OperationReadyData DataType, typename TransformFunc >
requires std::invocable<TransformFunc, double>
DataType MayaFlux::Yantra::transform_outliers (DataType &input, double std_dev_threshold, TransformFunc transform_func)
 Statistical outlier transformation using existing StatisticalAnalyzer (IN-PLACE)
 
template<OperationReadyData DataType, typename TransformFunc >
requires std::invocable<TransformFunc, double>
DataType MayaFlux::Yantra::transform_outliers (DataType &input, double std_dev_threshold, TransformFunc transform_func, std::vector< std::vector< double > > &working_buffer)
 Statistical outlier transformation using existing StatisticalAnalyzer (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_crossfade_regions (DataType &input, const std::vector< std::pair< Kakshya::Region, Kakshya::Region > > &fade_regions, uint32_t fade_duration)
 Cross-fade between regions with smooth transitions (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_crossfade_regions (DataType &input, const std::vector< std::pair< Kakshya::Region, Kakshya::Region > > &fade_regions, uint32_t fade_duration, std::vector< std::vector< double > > &working_buffer)
 Cross-fade between regions with smooth transitions (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_matrix (DataType &input, const Eigen::MatrixXd &transformation_matrix)
 Matrix transformation using existing infrastructure (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_matrix (DataType &input, const Eigen::MatrixXd &transformation_matrix, std::vector< std::vector< double > > &working_buffer)
 Matrix transformation using existing infrastructure (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_matrix_multichannel (DataType &input, const Eigen::MatrixXd &transformation_matrix, uint32_t num_channels)
 Multi-channel matrix transformation with error handling (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_matrix_multichannel (DataType &input, const Eigen::MatrixXd &transformation_matrix, uint32_t num_channels, std::vector< std::vector< double > > &working_buffer)
 Multi-channel matrix transformation with error handling (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_channel_operation (DataType &input, uint32_t num_channels, bool interleave)
 Channel operations using C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_channel_operation (DataType &input, uint32_t num_channels, bool interleave, std::vector< std::vector< double > > &working_buffer)
 Channel operations using C++20 ranges (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
std::vector< Kakshya::RegionMayaFlux::Yantra::detect_regions_by_energy (const DataType &input, double energy_threshold, uint32_t min_region_size, uint32_t window_size, uint32_t hop_size)
 Detect regions based on energy threshold using existing EnergyAnalyzer.
 
Eigen::MatrixXd MayaFlux::Yantra::create_rotation_matrix (double angle, uint32_t axis, uint32_t dimensions)
 
Eigen::MatrixXd MayaFlux::Yantra::create_scaling_matrix (const std::vector< double > &scale_factors)
 

Detailed Description

Region-aware and matrix transformation functions leveraging existing ecosystem.

  • Uses EnergyAnalyzer for region detection instead of manual implementation
  • Leverages StatisticalAnalyzer for outlier detection instead of manual stats
  • Uses ExtractionHelper functions for data extraction
  • Uses normalization from MathematicalTransform where appropriate

Definition in file MatrixHelper.hpp.