IDS peak AFL v2.1.0
Loading...
Searching...
No Matches
AdvancedAutoWhiteBalance Class Reference

Advanced automatic white balance controller with comprehensive feature set. More...

#include <peak_afl/pipeline/modules/controllers/peak_afl_advanced_auto_white_balance.hpp>

Inheritance diagram for AdvancedAutoWhiteBalance:
IController ISerializable

Public Member Functions

 AdvancedAutoWhiteBalance (peak::afl::Manager &manager, ProcessingCallback callback)
 Constructs an AdvancedAutoWhiteBalance instance.
 ~AdvancedAutoWhiteBalance () override=default
 Destructor.
std::string GetName () const override
 Gets the controller name.
void Serialize (peak::common::serialization::IArchive &archive) const override
 Serializes the controller configuration to an archive.
void Deserialize (const peak::common::serialization::IArchive &archive) override
 Deserializes the controller configuration from an archive.
void SetMode (ControllerMode mode) override
 Sets the controller operation mode.
ControllerMode GetMode () const override
 Gets the current controller operation mode.
bool IsRunning () const override
 Checks if the controller is currently running.
void ResetToDefault () override
 Resets the controller to its default configuration.
features::SkipFrames & SkipFrames () const
 Gets the skip frames feature controller.
features::Roi & Roi () const
 Gets the region of interest (ROI) feature controller.
ControllerType GetType () const override
 Gets the controller type identifier.
IController::FinishedCallbackHandle RegisterFinishedCallback (const IController::FinishedCallback &callback)
 Registers a callback for processing completion notifications.
void UnregisterFinishedCallback (IController::FinishedCallbackHandle callbackHandle)
 Unregisters a previously registered callback.
Public Member Functions inherited from IController
virtual ~IController ()=default
 Virtual destructor for proper cleanup of derived classes.
 IController (const IController &)=delete
 Copy constructor deleted to prevent copying.
IController & operator= (const IController &)=delete
 Copy assignment deleted to prevent copying.
 IController (IController &&)=delete
 Move constructor deleted to prevent moving.
IController & operator= (IController &&)=delete
 Move assignment deleted to prevent moving.

Additional Inherited Members

Public Types inherited from IController
using FinishedCallback
 Callback function type for operation completion notifications.
using FinishedCallbackHandle
 Handle type for managing callback registrations.
Protected Member Functions inherited from IController
peak::afl::Manager & GetManager ()
 Gets a reference to the API manager.

Detailed Description

Advanced automatic white balance controller with comprehensive feature set.

The AdvancedAutoWhiteBalance class provides a sophisticated and highly configurable interface for automatic white balance control. This controller offers the complete white balance feature set with granular control over all color correction mechanisms and algorithmic options.

Advanced Features:

  • Precision color analysis: Algorithms for accurate color temperature detection
  • Complex ROI management: Multiple region analysis for challenging lighting scenarios
  • Processing callbacks: Real-time feedback during white balance operations
  • Full serialization: Complete configuration state management
  • Controller modes: Continuous, once, and manual white balance control
Note
This controller requires a valid manager instance for camera communication
Advanced features may require specific hardware color processing capabilities
Processing callback provides real-time operation feedback
For simplified usage, consider BasicAutoWhiteBalance instead
See also
BasicAutoWhiteBalance
detail::IController
features::Roi
Since
1.8

Constructor & Destructor Documentation

◆ AdvancedAutoWhiteBalance()

AdvancedAutoWhiteBalance ( peak::afl::Manager & manager,
ProcessingCallback callback )
inlineexplicit

Constructs an AdvancedAutoWhiteBalance instance.

Parameters
managerReference to the API manager that handles controller lifecycle
callbackProcessing completion callback function

Initializes the white balance controller with the specified manager and callback. The callback will be invoked when white balance processing operations complete.

Since
1.8

◆ ~AdvancedAutoWhiteBalance()

~AdvancedAutoWhiteBalance ( )
overridedefault

Destructor.

Default destructor that properly cleans up controller resources.

Since
1.8

Member Function Documentation

◆ Deserialize()

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

Deserializes the controller configuration from an archive.

Parameters
archiveReference to the serialization archive containing configuration data

Restores the controller configuration state from the provided archive. This allows previously saved white balance controller settings to be loaded and applied.

Since
1.8

Implements ISerializable.

◆ GetMode()

ControllerMode GetMode ( ) const
inlineoverridevirtual

Gets the current controller operation mode.

Returns
ControllerMode The current operation mode of the controller
Note
This method is marked as NO_DISCARD to ensure the return value is used
Since
1.8

Implements IController.

◆ GetName()

std::string GetName ( ) const
inlineoverridevirtual

Gets the controller name.

Returns
std::string The name identifier for this controller ("AdvancedAutoWhiteBalance")
Note
This method is marked as NO_DISCARD to ensure the return value is used
Since
1.8

Implements IController.

◆ GetType()

ControllerType GetType ( ) const
inlineoverridevirtual

Gets the controller type identifier.

Returns
ControllerType The type identifier for this controller (ControllerType::WhiteBalance)
Note
This method is marked as NO_DISCARD to ensure the return value is used
Since
1.8

Implements IController.

◆ IsRunning()

bool IsRunning ( ) const
inlineoverridevirtual

Checks if the controller is currently running.

Returns
bool True if the controller is active (not in Off mode), false otherwise

A controller is considered running when it's not in the Off mode. This indicates whether the white balance processing is currently active.

Note
This method is marked as NO_DISCARD to ensure the return value is used
Since
1.8

Implements IController.

◆ RegisterFinishedCallback()

IController::FinishedCallbackHandle RegisterFinishedCallback ( const IController::FinishedCallback & callback)
inline

Registers a callback for processing completion notifications.

Parameters
callbackThe callback function to register
Returns
IController::FinishedCallbackHandle Handle for the registered callback

Registers a callback function that will be invoked when white balance processing operations complete. This includes both successful white balance adjustments and processing failures. The returned handle can be used to unregister the callback later.

Since
1.8

◆ ResetToDefault()

void ResetToDefault ( )
inlineoverridevirtual

Resets the controller to its default configuration.

Restores all controller settings to their default values. This includes resetting operation mode, white balance algorithm settings, ROI configurations, and other configuration parameters to factory defaults.

Since
1.8

Implements IController.

◆ Roi()

features::Roi & Roi ( ) const
inline

Gets the region of interest (ROI) feature controller.

Returns
features::Roi& Reference to the ROI feature controller

The ROI feature allows limiting white balance analysis to a specific rectangular region within the image, which can improve accuracy and performance by focusing the color analysis on the most relevant area of the scene.

Note
This method is marked as NO_DISCARD to ensure the return value is used
Since
1.8

◆ Serialize()

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

Serializes the controller configuration to an archive.

Parameters
archiveReference to the serialization archive for writing configuration data

Saves the current controller configuration state to the provided archive. This includes white balance algorithm settings, ROI configurations, and other controller parameters, allowing the controller settings to be persisted and restored later.

Since
1.8

Implements ISerializable.

◆ SetMode()

void SetMode ( ControllerMode mode)
inlineoverridevirtual

Sets the controller operation mode.

Parameters
modeThe desired controller operation mode

Changes the controller's operation mode, which determines how the white balance processing behaves. Different modes may include automatic white balance calculation, manual override, or disabled states.

Since
1.8

Implements IController.

◆ SkipFrames()

features::SkipFrames & SkipFrames ( ) const
inline

Gets the skip frames feature controller.

Returns
features::SkipFrames& Reference to the skip frames feature controller

The skip frames feature allows the controller to process only every Nth frame, which can improve performance when full-rate white balance processing is not required. This is particularly useful for reducing computational load in high frame rate scenarios.

Note
This method is marked as NO_DISCARD to ensure the return value is used
Since
1.8

◆ UnregisterFinishedCallback()

void UnregisterFinishedCallback ( IController::FinishedCallbackHandle callbackHandle)
inline

Unregisters a previously registered callback.

Parameters
callbackHandleHandle of the callback to unregister

Removes a previously registered callback using its handle. After unregistration, the callback will no longer be invoked for white balance processing events.

Since
1.8

The documentation for this class was generated from the following file: