|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Sorts grains by a named attribute key, with optional GPU dispatch. More...
#include <GranularWorkflow.hpp>
Inheritance diagram for MayaFlux::Yantra::Granular::SortOp:
Collaboration diagram for MayaFlux::Yantra::Granular::SortOp:Public Member Functions | |
| SortingType | get_sorting_type () const override |
| Gets the sorting type category for this sorter. | |
Public Member Functions inherited from MayaFlux::Yantra::StandardSorter< Kakshya::RegionGroup, Kakshya::RegionGroup > | |
| SortingAlgorithm | get_algorithm () const |
| SortingType | get_sorting_type () const override |
| Get sorting type category. | |
| void | set_algorithm (SortingAlgorithm algorithm) |
| Configure sorting algorithm. | |
| StandardSorter () | |
| Constructor with default configuration. | |
Public Member Functions inherited from MayaFlux::Yantra::UniversalSorter< InputType, OutputType > | |
| std::map< std::string, std::any > | get_all_parameters () const override |
| Retrieves all parameters and their values. | |
| SortingDirection | get_direction () const |
| SortingGranularity | get_granularity () const |
| std::string | get_name () const override |
| Gets human-readable name for this sorter. | |
| OperationType | get_operation_type () const override |
| Returns the category of this operation for grammar and registry discovery. | |
| std::any | get_parameter (const std::string &name) const override |
| Retrieves a parameter's current value. | |
| T | get_parameter_or_default (const std::string &name, const T &default_value) const |
| Type-safe parameter access with defaults. | |
| const std::vector< SortKey > & | get_sort_keys () const |
| SortingStrategy | get_strategy () const |
| void | set_custom_comparator (std::function< bool(const T &, const T &)> comparator) |
| Configure custom comparator for CUSTOM direction. | |
| void | set_direction (SortingDirection direction) |
| Configure sorting direction. | |
| void | set_granularity (SortingGranularity granularity) |
| Configure output granularity. | |
| void | set_parameter (const std::string &name, std::any value) override |
| Type-safe parameter management with sorting-specific defaults. | |
| void | set_sort_keys (const std::vector< SortKey > &keys) |
| Add multi-key sorting capability. | |
| void | set_strategy (SortingStrategy strategy) |
| Configure sorting strategy. | |
| virtual | ~UniversalSorter ()=default |
Public Member Functions inherited from MayaFlux::Yantra::ComputeOperation< InputType, OutputType > | |
| void | add_dependency (std::shared_ptr< ComputeOperation > dep) |
| 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. | |
| OutputType | apply_to_data (const InputType &data) |
| Convenience overload that extracts just the data from result. | |
| ComputeOperation () | |
| Constructor with data type validation warnings. | |
| output_type | execute (const input_type &input) |
| OpUnit interface - operations can act as units in dependency graphs. | |
| virtual const std::shared_ptr< Kakshya::SignalSourceContainer > & | get_container_for_regions () const |
| const auto & | get_dependencies () const |
| const ExecutionContext & | get_last_execution_context () const |
| bool | has_gpu_backend () const |
| output_type | operator() (const InputType &data) |
| Convenience overload for direct data processing (backward compatibility) | |
| virtual void | set_container_for_regions (const std::shared_ptr< Kakshya::SignalSourceContainer > &container) |
| void | set_gpu_backend (std::shared_ptr< GpuExecutionContext< InputType, OutputType > > backend) |
| Attach a GPU execution backend. | |
| void | set_last_execution_context (const ExecutionContext &ctx) |
| void | set_post_execution_hook (const OperationHookCallback &hook) |
| void | set_pre_execution_hook (const OperationHookCallback &hook) |
| void | set_reconstruction_callback (const ReconstructionCallback &callback) |
| virtual bool | validate_input (const input_type &) const |
| Validates if the input data meets the operation's requirements. | |
| virtual | ~ComputeOperation ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
Protected Member Functions | |
| std::string | get_sorter_name () const override |
| Get sorter-specific name (derived classes override this) | |
| Datum< Kakshya::RegionGroup > | sort_implementation (const Datum< Kakshya::RegionGroup > &input) override |
Protected Member Functions inherited from MayaFlux::Yantra::StandardSorter< Kakshya::RegionGroup, Kakshya::RegionGroup > | |
| std::string | get_sorter_name () const override |
| Get sorter name. | |
| std::any | get_sorting_parameter (const std::string &name) const override |
| void | set_sorting_parameter (const std::string &name, std::any value) override |
| Custom parameter handling. | |
| output_type | sort_implementation (const input_type &input) override |
| Main sorting implementation with type dispatch. | |
| bool | validate_sorting_input (const input_type &input) const override |
| Input validation. | |
Protected Member Functions inherited from MayaFlux::Yantra::UniversalSorter< InputType, OutputType > | |
| virtual output_type | add_sorting_metadata (const output_type &raw_output) |
| Add sorting metadata to results (override for custom attribution) | |
| bool | apply_custom_comparator (const std::any &a, const std::any &b) const |
| Apply custom comparator if available. | |
| virtual output_type | apply_granularity_formatting (const output_type &raw_output) |
| Apply granularity-based output formatting. | |
| virtual output_type | create_sorting_analysis (const output_type &raw_output) |
| Create detailed sorting analysis (override for custom analysis) | |
| virtual std::map< std::string, std::any > | get_all_sorting_parameters () const |
| bool | has_custom_comparator () const |
| Helper to check if custom comparator is available. | |
| output_type | operation_function (const input_type &input) override |
| Core operation implementation - called by ComputeOperation interface. | |
| virtual output_type | organize_into_groups (const output_type &raw_output) |
| Organize results into hierarchical groups (override for custom grouping) | |
| virtual bool | should_use_multi_key_sorting () const |
| Apply multi-key sorting if keys are configured. | |
| void | store_current_sorting (SortingResultType &&result) const |
Protected Member Functions inherited from MayaFlux::Yantra::ComputeOperation< InputType, OutputType > | |
| output_type | apply_hooks (const input_type &input, const ExecutionContext &context) |
| 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_chained (const input_type &input, const ExecutionContext &ctx) |
| Optional chain-aware implementation - default delegates to operation_function. | |
| virtual output_type | apply_operation_internal (const input_type &input, const ExecutionContext &context) |
| Internal execution method - ComputeMatrix can access this. | |
| virtual output_type | apply_operation_parallel (const input_type &input, const ExecutionContext &ctx) |
| Optional parallel-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. | |
Sorts grains by a named attribute key, with optional GPU dispatch.
Parameters (via set_parameter or ExecutionContext):
Definition at line 247 of file GranularWorkflow.hpp.