|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Template-flexible extractor base with instance-defined I/O types. More...
#include <UniversalExtractor.hpp>
Inheritance diagram for MayaFlux::Yantra::UniversalExtractor< InputType, OutputType >:
Collaboration diagram for MayaFlux::Yantra::UniversalExtractor< InputType, OutputType >:Public Types | |
| using | input_type = IO< InputType > |
| using | output_type = IO< OutputType > |
| using | base_type = ComputeOperation< InputType, OutputType > |
Public Types inherited from MayaFlux::Yantra::ComputeOperation< InputType, OutputType > | |
| using | input_type = IO< InputType > |
| using | output_type = IO< OutputType > |
Public Member Functions | |
| virtual | ~UniversalExtractor ()=default |
| virtual ExtractionType | get_extraction_type () const =0 |
| Gets the extraction type category for this extractor. | |
| std::string | get_name () const override |
| Gets human-readable name for this extractor. | |
| void | set_parameter (const std::string &name, std::any value) override |
| Type-safe parameter management with extraction-specific defaults. | |
| std::any | get_parameter (const std::string &name) const override |
| Retrieves a parameter's current value. | |
| std::map< std::string, std::any > | get_all_parameters () const override |
| Retrieves all parameters and their values. | |
| OutputType | extract_data (const InputType &data) |
| Type-safe extraction method. | |
| OutputType | extract_with_scope (const InputType &data, ExtractionScope scope) |
| Extract with specific scope. | |
| std::vector< OutputType > | extract_batch (const std::vector< InputType > &inputs) |
| Batch extraction for multiple inputs. | |
| virtual std::vector< std::string > | get_available_methods () const =0 |
| Get available extraction methods for this extractor. | |
| template<typename T > | |
| T | get_parameter_or_default (const std::string &name, const T &default_value) const |
| Helper to get typed parameter with default value. | |
Public Member Functions inherited from MayaFlux::Yantra::ComputeOperation< InputType, OutputType > | |
| ComputeOperation () | |
| Constructor with data type validation warnings. | |
| virtual | ~ComputeOperation ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
| output_type | apply_operation (const input_type &input) |
| Public synchronous execution interface. | |
| output_type | apply_operation_with_dependencies (const input_type &input) |
| Applies the operation with dependencies resolved. | |
| output_type | operator() (const InputType &data) |
| Convenience overload for direct data processing (backward compatibility) | |
| OutputType | apply_to_data (const InputType &data) |
| Convenience overload that extracts just the data from result. | |
| virtual bool | validate_input (const input_type &) const |
| Validates if the input data meets the operation's requirements. | |
| output_type | execute (const input_type &input) |
| OpUnit interface - operations can act as units in dependency graphs. | |
| void | add_dependency (std::shared_ptr< ComputeOperation > dep) |
| const auto & | get_dependencies () const |
| virtual void | set_container_for_regions (const std::shared_ptr< Kakshya::SignalSourceContainer > &container) |
| virtual const std::shared_ptr< Kakshya::SignalSourceContainer > & | get_container_for_regions () const |
| void | set_last_execution_context (const ExecutionContext &ctx) |
| const ExecutionContext & | get_last_execution_context () const |
| void | set_pre_execution_hook (const OpererationHookCallback &hook) |
| void | set_post_execution_hook (const OpererationHookCallback &hook) |
| void | set_reconstruction_callback (const ReconstructionCallback &callback) |
Protected Member Functions | |
| output_type | operation_function (const input_type &input) override |
| Core operation implementation - called by ComputeOperation interface. | |
| virtual output_type | extract_implementation (const input_type &input)=0 |
| Pure virtual extraction implementation - derived classes implement this. | |
| virtual std::string | get_extractor_name () const |
| Get extractor-specific name (derived classes override this) | |
| virtual void | set_extraction_parameter (const std::string &name, std::any value) |
| Extraction-specific parameter handling (override for custom parameters) | |
| virtual std::any | get_extraction_parameter (const std::string &name) const |
| virtual std::map< std::string, std::any > | get_all_extraction_parameters () const |
| virtual bool | validate_extraction_input (const input_type &) const |
| Input validation (override for custom validation logic) | |
| virtual output_type | apply_scope_filtering (const output_type &raw_output) |
| Apply scope filtering to results. | |
| virtual output_type | filter_to_target_regions (const output_type &raw_output) |
| Filter results to target regions (override for custom filtering) | |
| virtual output_type | apply_content_filtering (const output_type &raw_output) |
| Apply content-based filtering (override for custom filtering) | |
| virtual output_type | apply_data_sampling (const output_type &raw_output) |
| Apply data sampling (override for custom sampling) | |
Protected Member Functions inherited from MayaFlux::Yantra::ComputeOperation< InputType, OutputType > | |
| virtual output_type | apply_operation_internal (const input_type &input, const ExecutionContext &context) |
| Internal execution method - ComputeMatrix can access this. | |
| virtual std::future< output_type > | apply_operation_async (const input_type &input) |
| Optional async implementation - default delegates to operation_function. | |
| virtual output_type | apply_operation_parallel (const input_type &input, const ExecutionContext &ctx) |
| Optional parallel-aware implementation - default delegates to operation_function. | |
| virtual output_type | apply_operation_chained (const input_type &input, const ExecutionContext &ctx) |
| Optional chain-aware implementation - default delegates to operation_function. | |
| 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. | |
Private Attributes | |
| ExtractionScope | m_scope = ExtractionScope::FULL_DATA |
| std::map< std::string, std::any > | m_parameters |
Additional Inherited Members | |
Protected Attributes inherited from MayaFlux::Yantra::ComputeOperation< InputType, OutputType > | |
| std::shared_ptr< Kakshya::SignalSourceContainer > | m_container |
| ExecutionContext | m_last_execution_context |
Template-flexible extractor base with instance-defined I/O types.
The UniversalExtractor provides a clean, concept-based foundation for all extraction operations. I/O types are defined at instantiation time, providing maximum flexibility while maintaining type safety through C++20 concepts.
Key Features:
Definition at line 84 of file UniversalExtractor.hpp.