![]() |
IDS peak AFL v2.0.0
|
Auto target feature implementation for auto controllers. More...
#include <peak_afl/pipeline/modules/controllers/features/peak_afl_auto_target.hpp>
Public Member Functions | |
| AutoTarget (std::shared_ptr< peak::afl::Controller > controller) | |
| Constructs an AutoTarget feature with the specified controller. | |
| void | Set (const uint32_t &value) override |
| Sets the auto target brightness value. | |
| uint32_t | Get () const override |
| Gets the current auto target brightness value. | |
| peak::common::RangeU | GetRange () const override |
| Gets the valid range for auto target values. | |
| void | Serialize (peak::common::serialization::IArchive &archive) const override |
| Serializes the current auto target value to an archive. | |
| void | Deserialize (const peak::common::serialization::IArchive &archive) override |
| Deserializes the auto target value from an archive. | |
| Public Member Functions inherited from IFeature< uint32_t > | |
| virtual | ~IFeature ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
Auto target feature implementation for auto controllers.
The AutoTarget class provides a feature interface for managing the auto target parameter of auto controllers. This feature controls the target brightness value that the automatic exposure and brightness algorithms aim to achieve.
The target value represents the desired brightness level in the image, typically expressed as a value in the range of 0-255 for 8-bit images or scaled accordingly for other bit depths. The auto algorithms will adjust exposure, gain, and other parameters to achieve this target brightness in the specified region of interest.
This class inherits from IRangeFeature<uint32_t> and provides serialization support for configuration persistence.
|
inlineexplicit |
Constructs an AutoTarget feature with the specified controller.
| [in] | controller | Shared pointer to the auto controller that will be used to manage the auto target parameter. The controller must support auto target operations. |
|
inlineoverridevirtual |
Deserializes the auto target value from an archive.
Loads the auto target value from the provided archive and applies it to the controller. The value is expected to be stored with the key "AutoTarget".
| [in] | archive | The archive to read the auto target value from |
| May | throw serialization exceptions if the archive operation fails |
| May | throw controller exceptions if the deserialized value is invalid |
Implements ISerializable.
|
inlineoverridevirtual |
Gets the current auto target brightness value.
Retrieves the currently configured target brightness value that the automatic algorithms are trying to achieve.
| May | throw exceptions based on the underlying controller implementation if the controller is in an invalid state. |
Implements IFeature< uint32_t >.
|
inlineoverridevirtual |
Gets the valid range for auto target values.
Retrieves the minimum, maximum, and increment values that are valid for the auto target parameter. This information can be used to validate input values or to populate user interface controls.
| May | throw exceptions based on the underlying controller implementation if the controller is in an invalid state. |
Implements IRangeFeature< uint32_t >.
|
inlineoverridevirtual |
Serializes the current auto target value to an archive.
Stores the current auto target value in the provided archive for configuration persistence. The value is stored with the key "AutoTarget".
| [in,out] | archive | The archive to write the auto target value to |
| May | throw serialization exceptions if the archive operation fails |
Implements ISerializable.
|
inlineoverridevirtual |
Sets the auto target brightness value.
Sets the target brightness value that the automatic exposure and brightness algorithms will aim to achieve. The auto algorithms will adjust camera parameters to reach this target brightness level in the analyzed region.
| [in] | value | The target brightness value to set. Typically ranges from 0 to 255 for 8-bit images. The exact valid range can be obtained using GetRange(). |
| May | throw exceptions based on the underlying controller implementation if the value is outside the valid range or if the controller is in an invalid state. |
Implements IFeature< uint32_t >.