IDS peak AFL v2.0.1
Loading...
Searching...
No Matches
BrightnessAlgorithm Class Reference

Brightness algorithm feature implementation for auto controllers. More...

#include <peak_afl/pipeline/modules/controllers/features/peak_afl_brightness_algorithm.hpp>

Inheritance diagram for BrightnessAlgorithm:
IFeature< BrightnessAnalysisAlgorithm > ISerializable

Public Member Functions

 BrightnessAlgorithm (std::shared_ptr< peak::afl::Controller > controller)
 Constructs a BrightnessAlgorithm feature with the specified controller.
void Set (const BrightnessAnalysisAlgorithm &value) override
 Sets the brightness analysis algorithm.
BrightnessAnalysisAlgorithm Get () const override
 Gets the current brightness analysis algorithm.
void Serialize (peak::common::serialization::IArchive &archive) const override
 Serializes the current brightness algorithm to an archive.
void Deserialize (const peak::common::serialization::IArchive &archive) override
 Deserializes the brightness algorithm from an archive.
Public Member Functions inherited from IFeature< BrightnessAnalysisAlgorithm >
virtual ~IFeature ()=default
 Virtual destructor for proper cleanup of derived classes.

Detailed Description

Brightness algorithm feature implementation for auto controllers.

The BrightnessAlgorithm class provides a feature interface for managing the brightness analysis algorithm used by auto controllers. This feature controls how the automatic exposure and brightness systems calculate the representative brightness value from the image data.

Different algorithms provide different characteristics:

  • Median: More robust to outliers and extreme values, provides stable results in scenes with high contrast or bright/dark spots
  • Mean: Faster computation, considers all pixel values equally, may be influenced by extreme brightness values

This class inherits from IFeature<BrightnessAnalysisAlgorithm> and provides serialization support for configuration persistence.

Note
Algorithm availability may vary based on the underlying controller implementation and hardware capabilities.
See also
IFeature
BrightnessAnalysisAlgorithm
peak::afl::Controller::SetBrightnessAlgorithm()
peak::afl::Controller::GetBrightnessAlgorithm()
Since
1.8

Constructor & Destructor Documentation

◆ BrightnessAlgorithm()

BrightnessAlgorithm ( std::shared_ptr< peak::afl::Controller > controller)
inlineexplicit

Constructs a BrightnessAlgorithm feature with the specified controller.

Parameters
[in]controllerShared pointer to the auto controller that will be used to manage the brightness algorithm parameter. The controller must support brightness algorithm operations.
Precondition
controller must not be null
controller must support brightness algorithm functionality
Since
1.8

Member Function Documentation

◆ Deserialize()

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

Deserializes the brightness algorithm from an archive.

Loads the brightness analysis algorithm from the provided archive and applies it to the controller. The algorithm is expected to be stored with the key "BrightnessAlgorithm".

Parameters
[in]archiveThe archive to read the brightness algorithm from
Exceptions
Maythrow serialization exceptions if the archive operation fails
Maythrow controller exceptions if the deserialized algorithm is invalid
See also
Serialize()
Since
1.8

Implements ISerializable.

◆ Get()

BrightnessAnalysisAlgorithm Get ( ) const
inlineoverridevirtual

Gets the current brightness analysis algorithm.

Retrieves the currently configured algorithm used for brightness analysis in automatic exposure and brightness control.

Returns
The current brightness analysis algorithm
Exceptions
Maythrow exceptions based on the underlying controller implementation if the controller is in an invalid state.
See also
Set()
BrightnessAnalysisAlgorithm
Since
1.8

Implements IFeature< BrightnessAnalysisAlgorithm >.

◆ Serialize()

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

Serializes the current brightness algorithm to an archive.

Stores the current brightness analysis algorithm in the provided archive for configuration persistence. The algorithm is stored with the key "BrightnessAlgorithm".

Parameters
[in,out]archiveThe archive to write the brightness algorithm to
Exceptions
Maythrow serialization exceptions if the archive operation fails
See also
Deserialize()
Since
1.8

Implements ISerializable.

◆ Set()

void Set ( const BrightnessAnalysisAlgorithm & value)
inlineoverridevirtual

Sets the brightness analysis algorithm.

Sets the algorithm used for analyzing brightness in automatic exposure and brightness control. Different algorithms provide different characteristics in terms of robustness, speed, and sensitivity to outliers.

Parameters
[in]valueThe brightness analysis algorithm to set. Must be one of the values from BrightnessAnalysisAlgorithm enumeration.
Exceptions
Maythrow exceptions based on the underlying controller implementation if the algorithm is not supported or if the controller is in an invalid state.
See also
Get()
BrightnessAnalysisAlgorithm
Since
1.8

Implements IFeature< BrightnessAnalysisAlgorithm >.


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