Advanced automatic features module.
More...
#include <peak_afl/pipeline/modules/peak_afl_advanced_auto_features.hpp>
Advanced automatic features module.
The AdvancedAutoFeatures class provides a sophisticated and highly configurable interface for managing automatic camera features. This module integrates advanced controllers for brightness, focus, and white balance with comprehensive feature sets and granular control options.
Integrated Advanced Controllers:
- AdvancedAutoBrightness: Complete brightness control with multiple gain types
- AdvancedAutoFocus: Comprehensive focus control with all algorithms
- AdvancedAutoWhiteBalance: Professional color correction capabilities
Professional Features:
- Granular Control: Individual access to all controller features and algorithms
- Advanced Algorithms: Complete algorithm suites for each auto feature
- Complex Configurations: Support for sophisticated imaging scenarios
- Performance Tuning: Fine-grained optimization for specific applications
- Full Serialization: Complete state management and configuration persistence
Advanced Capabilities:
- Multi-component Brightness: Exposure, analog gain, digital gain, combined gain, host gain
- Precision Focus Control: All search algorithms, sharpness measurements, weighted ROIs
- Professional White Balance: Advanced color analysis and correction algorithms
- Algorithmic Flexibility: Configurable algorithms for each auto feature
- Complex ROI Management: Weighted regions and multi-area analysis
- Note
- This class requires a valid device instance that supports advanced auto features
-
Individual controller access allows for maximum customization and control
-
For simplified usage, consider BasicAutoFeatures instead
- See also
- BasicAutoFeatures
-
IAutoFeature
-
autofeature::AdvancedAutoBrightness
-
autofeature::AdvancedAutoFocus
-
autofeature::AdvancedAutoWhiteBalance
- Since
- 1.8
◆ AdvancedAutoFeatures()
Constructs an AdvancedAutoFeatures instance with the specified device.
Initializes the generic module with the provided device and sets up the advanced automatic feature controllers based on device capabilities.
- Parameters
-
| device | Shared pointer to the device instance that will be used for camera operations. Must be valid and non-null. |
- Precondition
- device must be a valid, non-null shared pointer
-
device must support advanced auto features for full functionality
- Exceptions
-
- Note
- The device must support advanced auto features for full functionality
- Since
- 1.8
◆ AutoBrightness()
Gets a reference to the advanced brightness controller.
Provides access to the advanced brightness controller for sophisticated control over automatic brightness adjustments with enhanced algorithms and precision.
- Returns
- Reference to the advanced AutoBrightness controller
- Precondition
- Device must support advanced brightness control
- Postcondition
- Returns valid reference to brightness controller
- Exceptions
-
- Note
- Check HasAutoBrightness() before calling this method to avoid exceptions
-
Advanced brightness controller offers more sophisticated algorithms than basic version
- See also
- HasAutoBrightness()
- Since
- 1.8
◆ AutoFocus()
Gets a reference to the advanced focus controller.
Provides access to the advanced focus controller for sophisticated control over automatic focus adjustments with enhanced precision and algorithms.
- Returns
- Reference to the advanced AutoFocus controller
- Precondition
- Device must support advanced focus control
- Postcondition
- Returns valid reference to focus controller
- Exceptions
-
- Note
- Check HasAutoFocus() before calling this method to avoid exceptions
-
Advanced focus controller offers more precise control than basic version
- See also
- HasAutoFocus()
- Since
- 1.8
◆ AutoWhiteBalance()
Gets a reference to the advanced white balance controller.
Provides access to the advanced white balance controller for sophisticated control over automatic white balance adjustments with enhanced algorithms and calibration.
- Returns
- Reference to the advanced AutoWhiteBalance controller
- Precondition
- Device must support advanced white balance control
- Postcondition
- Returns valid reference to white balance controller
- Exceptions
-
- Note
- Check HasAutoWhiteBalance() before calling this method to avoid exceptions
-
Advanced white balance controller offers more sophisticated algorithms than basic version
- See also
- HasAutoWhiteBalance()
- Since
- 1.8
◆ Deserialize()
Deserializes advanced auto features state from an archive.
Restores the configuration and state of all advanced controllers from previously serialized data, including algorithm settings and parameters.
- Parameters
-
| archive | Reference to the archive containing the serialized data |
- Precondition
- archive must contain valid serialized AdvancedAutoFeatures data
- Postcondition
- Current controller settings are restored from archive
- Exceptions
-
- Warning
- This will overwrite current controller settings
- Note
- Advanced features may require device compatibility validation during deserialization
- See also
- Serialize()
- Since
- 1.8
Implements ISerializable.
◆ GetType()
Returns the type identifier for this advanced auto features implementation.
- Returns
- Constant string "AdvancedAutoFeatures" identifying this implementation
- Note
- This is used for type identification in serialization and factory patterns
-
Distinguishes this from the basic auto features implementation
- Since
- 1.8
Implements IModule.
◆ HasAutoBrightness()
Checks if advanced brightness control is available.
- Returns
- True if the device supports advanced brightness control, false otherwise
- Note
- Use this method before calling AutoBrightness() to avoid exceptions
-
Advanced brightness control may have different availability than basic version
- See also
- AutoBrightness()
- Since
- 1.8
◆ HasAutoFocus()
Checks if advanced focus control is available.
- Returns
- True if the device supports advanced focus control, false otherwise
- Note
- Use this method before calling AutoFocus() to avoid exceptions
-
Advanced focus control may have different availability than basic version
- See also
- AutoFocus()
- Since
- 1.8
◆ HasAutoWhiteBalance()
Checks if advanced white balance control is available.
- Returns
- True if the device supports advanced white balance control, false otherwise
- Note
- Use this method before calling AutoWhiteBalance() to avoid exceptions
-
Advanced white balance control may have different availability than basic version
- See also
- AutoWhiteBalance()
- Since
- 1.8
◆ IsEnabled()
Checks if advanced auto features are currently enabled.
- Returns
- True if advanced auto features are enabled, false otherwise
- Note
- This returns the overall enabled state, individual controllers may have different states
-
Use individual controller GetMode() methods to check specific controller availability
- See also
- SetEnabled()
- Since
- 1.8
Implements IModule.
◆ Process()
Processes input data through all enabled advanced auto feature controllers.
Applies advanced automatic adjustments for brightness, focus, and white balance using sophisticated algorithms and processing capabilities.
- Parameters
-
| input | The input data to be processed by the advanced auto features |
- Returns
- Processed data with advanced automatic adjustments applied
- Precondition
- input must be compatible with the underlying advanced controllers
- Postcondition
- Returns processed data with automatic adjustments applied
- Exceptions
-
- Note
- Only enabled controllers will process the input
-
Processing order: brightness → white balance → focus
- See also
- SetEnabled()
- Since
- 1.8
Implements IModule.
◆ ResetToDefault()
Resets all advanced auto feature controllers to their default settings.
This will restore factory defaults for all advanced controllers including:
- Default algorithms and processing modes
- Default parameters and thresholds
- Default enable/disable states
- Advanced calibration settings
- Postcondition
- All controllers are reset to factory default settings
- Warning
- This operation cannot be undone
- Note
- Advanced controllers may have more complex default configurations
-
Consider using Serialize() before calling this method to save current state
- Since
- 1.8
Implements IModule.
◆ Serialize()
Serializes the current state of all advanced auto features to an archive.
Saves the configuration and state of all advanced controllers including their current settings, modes, algorithms, and parameters. This allows for state persistence and restoration across application sessions.
- Parameters
-
| archive | Reference to the archive where the serialized data will be stored |
- Precondition
- archive must be a valid, writable archive
- Postcondition
- archive contains serialized state of all advanced auto features
- Note
- This method is const as it doesn't modify the object state
-
Advanced controllers may have more complex serialization data than basic versions
- See also
- Deserialize()
- Since
- 1.8
Implements ISerializable.
◆ SetColorCorrectionMatrix()
| void SetColorCorrectionMatrix |
( |
const std::array< float, 9 > & | ccm | ) |
|
|
inlineoverridevirtual |
Sets the color correction matrix for advanced image processing.
The color correction matrix is a 3x3 matrix used by advanced controllers for enhanced color processing and white balance calculations.
- Parameters
-
| ccm | Array of 9 float values representing the 3x3 color correction matrix in row-major order: [0,0] [0,1] [0,2] [1,0] [1,1] [1,2] [2,0] [2,1] [2,2] |
- Precondition
- ccm must contain 9 valid float values
-
Matrix values should be within reasonable ranges to avoid poor image quality
- Postcondition
- Color correction matrix is set and available for advanced processing
- Exceptions
-
- Note
- Matrix elements should be in row-major order
-
Invalid matrix values may result in poor image quality
- Since
- 1.8
Implements IAutoFeature.
◆ SetEnabled()
| void SetEnabled |
( |
const bool | enabled | ) |
|
|
inlineoverridevirtual |
Sets the enabled state for all advanced auto feature controllers.
Controls the overall enabled state of the advanced auto features system.
- Parameters
-
| enabled | True to enable advanced auto features, false to disable them |
- Postcondition
- Overall enabled state is set to the specified value
- Note
- Individual controllers can still be enabled/disabled separately
-
Advanced controllers may have different enable/disable behavior than basic versions
-
Disabling does not affect individual controller settings, only their operation
- See also
- IsEnabled()
- Since
- 1.8
Implements IModule.
◆ SetGainModule()
Sets the gain module for use when host gains are applied.
The gain module is utilized by the advanced auto features when host-side gain adjustments are being used, allowing the controllers to compensate and optimize their algorithms based on the applied gain values.
- Parameters
-
| gainModule | Shared pointer to the gain module implementation. Pass nullptr to disable host gain integration. |
- Note
- Passing nullptr will disable host gain integration with auto features
-
This is only relevant when using host-side gain control rather than hardware gain
-
Advanced controllers use gain information for auto white balance
- Since
- 1.8
Implements IAutoFeature.
The documentation for this class was generated from the following file: