IDS peak AFL v2.0.0
Loading...
Searching...
No Matches
AdvancedAutoFeatures Class Reference

Advanced automatic features module. More...

#include <peak_afl/pipeline/modules/peak_afl_advanced_auto_features.hpp>

Inheritance diagram for AdvancedAutoFeatures:
IAutoFeature IModule ISerializable

Public Member Functions

 AdvancedAutoFeatures (const std::shared_ptr< peak::core::Device > &device)
 Constructs an AdvancedAutoFeatures instance with the specified device.
void Serialize (peak::common::serialization::IArchive &archive) const override
 Serializes the current state of all advanced auto features to an archive.
void Deserialize (const peak::common::serialization::IArchive &archive) override
 Deserializes advanced auto features state from an archive.
const char * GetType () const override
 Returns the type identifier for this advanced auto features implementation.
peak::common::Any Process (const peak::common::Any &input) const override
 Processes input data through all enabled advanced auto feature controllers.
void ResetToDefault () override
 Resets all advanced auto feature controllers to their default settings.
void SetGainModule (std::shared_ptr< peak::pipeline::modules::IGain > gainModule) override
 Sets the gain module for use when host gains are applied.
void SetColorCorrectionMatrix (const std::array< float, 9 > &ccm) override
 Sets the color correction matrix for advanced image processing.
void SetEnabled (const bool enabled) override
 Sets the enabled state for all advanced auto feature controllers.
bool IsEnabled () const override
 Checks if advanced auto features are currently enabled.
autofeature::AdvancedAutoBrightness & AutoBrightness () const
 Gets a reference to the advanced brightness controller.
bool HasAutoBrightness () const
 Checks if advanced brightness control is available.
autofeature::AdvancedAutoFocus & AutoFocus () const
 Gets a reference to the advanced focus controller.
bool HasAutoFocus () const
 Checks if advanced focus control is available.
autofeature::AdvancedAutoWhiteBalance & AutoWhiteBalance () const
 Gets a reference to the advanced white balance controller.
bool HasAutoWhiteBalance () const
 Checks if advanced white balance control is available.

Detailed Description

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

Constructor & Destructor Documentation

◆ AdvancedAutoFeatures()

AdvancedAutoFeatures ( const std::shared_ptr< peak::core::Device > & device)
inlineexplicit

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
deviceShared 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
peak::afl::error::InvalidParameterExceptionif device is nullptr
peak::afl::error::InternalErrorExceptionif an internal error occurs
Note
The device must support advanced auto features for full functionality
Since
1.8

Member Function Documentation

◆ AutoBrightness()

autofeature::AdvancedAutoBrightness & AutoBrightness ( ) const
inline

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
peak::afl::error::NotSupportedExceptionif advanced brightness control is not supported by the device
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()

autofeature::AdvancedAutoFocus & AutoFocus ( ) const
inline

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
peak::afl::error::NotSupportedExceptionif advanced focus control is not supported by the device
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()

autofeature::AdvancedAutoWhiteBalance & AutoWhiteBalance ( ) const
inline

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
peak::afl::error::NotSupportedExceptionif advanced white balance control is not supported by the device
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()

void Deserialize ( const peak::common::serialization::IArchive & archive)
inlineoverridevirtual

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
archiveReference to the archive containing the serialized data
Precondition
archive must contain valid serialized AdvancedAutoFeatures data
Postcondition
Current controller settings are restored from archive
Exceptions
peak::afl::error::Exceptionif deserialization fails
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()

const char * GetType ( ) const
inlineoverridevirtual

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()

bool HasAutoBrightness ( ) const
inline

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()

bool HasAutoFocus ( ) const
inline

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()

bool HasAutoWhiteBalance ( ) const
inline

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()

bool IsEnabled ( ) const
inlineoverridevirtual

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()

peak::common::Any Process ( const peak::common::Any & input) const
inlineoverridevirtual

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
inputThe 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
peak::afl::error::InvalidCastExceptionif input type is incompatible
Note
Only enabled controllers will process the input
Processing order: brightness → white balance → focus
See also
SetEnabled()
Since
1.8

Implements IModule.

◆ ResetToDefault()

void ResetToDefault ( )
inlineoverridevirtual

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()

void Serialize ( peak::common::serialization::IArchive & archive) const
inlineoverridevirtual

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
archiveReference 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
ccmArray 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
peak::afl::error::Exceptionif matrix values are invalid
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
enabledTrue 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()

void SetGainModule ( std::shared_ptr< peak::pipeline::modules::IGain > gainModule)
inlineoverridevirtual

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
gainModuleShared 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: