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

Concrete feature extractor using analyzer-guided extraction. More...

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

Go to the source code of this file.

Classes

class  MayaFlux::Yantra::FeatureExtractor< InputType, OutputType >
 Analyzer-guided feature extractor with enum-based configuration. More...
 

Namespaces

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

Typedefs

using MayaFlux::Yantra::StandardFeatureExtractor = FeatureExtractor< std::vector< Kakshya::DataVariant >, std::vector< std::vector< double > > >
 Standard feature extractor: vector of [DataVariant -> vector<double>].
 
using MayaFlux::Yantra::MatrixFeatureExtractor = FeatureExtractor< std::vector< Kakshya::DataVariant >, Eigen::MatrixXd >
 Eigen Matrix feature extractor: DataVariant -> Matrixxd.
 
using MayaFlux::Yantra::ContainerFeatureExtractor = FeatureExtractor< std::shared_ptr< Kakshya::SignalSourceContainer >, std::vector< std::vector< double > > >
 Container feature extractor: SignalContainer -> multi vector<double>
 
using MayaFlux::Yantra::RegionFeatureExtractor = FeatureExtractor< Kakshya::Region, std::vector< std::vector< double > > >
 Region feature extractor: Region -> multi vector<double>
 
using MayaFlux::Yantra::VariantFeatureExtractor = FeatureExtractor< std::vector< Kakshya::DataVariant >, std::vector< Kakshya::DataVariant > >
 Variant feature extractor: DataVariant -> DataVariant.
 

Enumerations

enum class  MayaFlux::Yantra::ExtractionMethod : uint8_t {
  MayaFlux::Yantra::HIGH_ENERGY_DATA , MayaFlux::Yantra::PEAK_DATA , MayaFlux::Yantra::OUTLIER_DATA , MayaFlux::Yantra::HIGH_SPECTRAL_DATA ,
  MayaFlux::Yantra::ABOVE_MEAN_DATA , MayaFlux::Yantra::OVERLAPPING_WINDOWS , MayaFlux::Yantra::ZERO_CROSSING_DATA , MayaFlux::Yantra::SILENCE_DATA ,
  MayaFlux::Yantra::ONSET_DATA
}
 Supported extraction methods for FeatureExtractor. More...
 

Detailed Description

Concrete feature extractor using analyzer-guided extraction.

FeatureExtractor demonstrates the modern extraction paradigm by using analyzers (EnergyAnalyzer, StatisticalAnalyzer) to identify regions of interest, then extracting the actual data from those regions. Uses enum-based configuration instead of string parsing for type safety and performance.

Example Usage:

// Extract high-energy audio data
auto extractor = std::make_shared<StandardFeatureExtractor>();
extractor->set_extraction_method(ExtractionMethod::HIGH_ENERGY_DATA);
extractor->set_parameter("energy_threshold", 0.2);
auto high_energy_audio = extractor->extract_data(audio_data);
// Extract data from statistical outlier regions
extractor->set_extraction_method(ExtractionMethod::OUTLIER_DATA);
extractor->set_parameter("std_dev_threshold", 2.5);
auto outlier_audio = extractor->extract_data(audio_data);

Definition in file FeatureExtractor.hpp.