84 using ProcessingCallback = std::function<void()>;
87 friend BrightnessComponent;
106 : IController(manager)
107 , m_genericController{ manager, std::move(callback),
128 PEAK_COMMON_NO_DISCARD std::string
GetName()
const override
130 return "AdvancedAutoBrightness";
154 m_genericController.Serialize(archive);
174 m_genericController.Deserialize(archive);
188 return m_genericController.GetType();
204 m_genericController.SetMode(mode);
220 return m_genericController.GetMode();
236 return m_genericController.IsRunning();
333 return m_genericController.
Roi();
352 return m_genericController.AnalysisAlgorithm();
371 PEAK_COMMON_NO_DISCARD BrightnessComponent&
Exposure()
const
373 return m_genericController.ExposureComponent();
389 return m_genericController.HasExposureComponent();
410 PEAK_COMMON_NO_DISCARD BrightnessComponent&
AnalogGain()
const
412 return m_genericController.AnalogGainComponent();
428 return m_genericController.HasAnalogGainComponent();
451 return m_genericController.DigitalGainComponent();
467 return m_genericController.HasDigitalGainComponent();
490 return m_genericController.CombinedGainComponent();
506 return m_genericController.HasCombinedGainComponent();
527 PEAK_COMMON_NO_DISCARD BrightnessComponent&
HostGain()
const
529 return m_genericController.HostGainComponent();
545 return m_genericController.HasHostGainComponent();
564 PEAK_COMMON_NO_DISCARD std::vector<BrightnessComponent*>
GetComponents()
const
566 return m_genericController.GetComponents();
586 return m_genericController.GetComponent(componentType);
609 m_genericController.ResetToDefault();
630 return m_genericController.RegisterFinishedCallback(callback);
647 m_genericController.UnregisterFinishedCallback(callbackHandle);
651 detail::GenericAutoBrightness m_genericController;
Central coordination object for automatic camera feature control.
Definition peak_afl.hpp:663
Interface for a hierarchical key-value archive system.
Definition peak_common_iarchive.hpp:59
features::BrightnessAlgorithm & AnalysisAlgorithm()
Gets access to the brightness algorithm feature for algorithm selection.
Definition peak_afl_advanced_auto_brightness.hpp:350
void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
Unregisters a previously registered completion callback.
Definition peak_afl_advanced_auto_brightness.hpp:645
features::AutoTolerance & AutoTolerance()
Gets access to the auto tolerance feature for brightness stability control.
Definition peak_afl_advanced_auto_brightness.hpp:294
features::AutoTarget & AutoTarget()
Gets access to the auto target feature for brightness target configuration.
Definition peak_afl_advanced_auto_brightness.hpp:274
BrightnessComponent & DigitalGain() const
Gets access to the digital gain component for post-processing gain control.
Definition peak_afl_advanced_auto_brightness.hpp:449
~AdvancedAutoBrightness() override=default
Destructor for AdvancedAutoBrightness.
ControllerMode GetMode() const override
Gets the current operation mode of the brightness controller.
Definition peak_afl_advanced_auto_brightness.hpp:218
BrightnessComponent * GetComponent(BrightnessComponentType componentType) const
Gets a specific brightness component by type.
Definition peak_afl_advanced_auto_brightness.hpp:584
features::AutoPercentile & AutoPercentile()
Gets access to the auto percentile feature used for automatic brightness adjustment.
Definition peak_afl_advanced_auto_brightness.hpp:313
std::vector< BrightnessComponent * > GetComponents() const
Gets a vector of all available brightness components.
Definition peak_afl_advanced_auto_brightness.hpp:564
std::string GetName() const override
Gets the name identifier for this controller.
Definition peak_afl_advanced_auto_brightness.hpp:128
features::SkipFrames & SkipFrames()
Gets access to the skip frames feature.
Definition peak_afl_advanced_auto_brightness.hpp:254
bool HasDigitalGain() const
Checks if the digital gain component is available on the current device.
Definition peak_afl_advanced_auto_brightness.hpp:465
void Serialize(peak::common::serialization::IArchive &archive) const override
Serializes the current controller state and configuration to an archive.
Definition peak_afl_advanced_auto_brightness.hpp:152
bool HasExposure() const
Checks if the exposure component is available on the current device.
Definition peak_afl_advanced_auto_brightness.hpp:387
bool HasHostGain() const
Checks if the host gain component is available on the current device.
Definition peak_afl_advanced_auto_brightness.hpp:543
BrightnessComponent & AnalogGain() const
Gets access to the analog gain component for sensor-level gain control.
Definition peak_afl_advanced_auto_brightness.hpp:410
IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback &callback)
Registers a callback function to be invoked when brightness adjustment completes.
Definition peak_afl_advanced_auto_brightness.hpp:628
BrightnessComponent & HostGain() const
Gets access to the host gain component for software-based gain control.
Definition peak_afl_advanced_auto_brightness.hpp:527
void SetMode(ControllerMode mode) override
Sets the operation mode for the brightness controller.
Definition peak_afl_advanced_auto_brightness.hpp:202
bool HasCombinedGain() const
Checks if the combined gain component is available on the current device.
Definition peak_afl_advanced_auto_brightness.hpp:504
void Deserialize(const peak::common::serialization::IArchive &archive) override
Deserializes controller state and configuration from an archive.
Definition peak_afl_advanced_auto_brightness.hpp:172
ControllerType GetType() const override
Gets the controller type identifier.
Definition peak_afl_advanced_auto_brightness.hpp:186
void ResetToDefault() override
Resets all controller settings and components to their default values.
Definition peak_afl_advanced_auto_brightness.hpp:607
BrightnessComponent & CombinedGain() const
Gets access to the combined gain component for unified gain control.
Definition peak_afl_advanced_auto_brightness.hpp:488
bool IsRunning() const override
Checks if the brightness controller is currently running.
Definition peak_afl_advanced_auto_brightness.hpp:234
BrightnessComponent & Exposure() const
Gets access to the exposure component for exposure time control.
Definition peak_afl_advanced_auto_brightness.hpp:371
bool HasAnalogGain() const
Checks if the analog gain component is available on the current device.
Definition peak_afl_advanced_auto_brightness.hpp:426
AdvancedAutoBrightness(peak::afl::Manager &manager, ProcessingCallback callback)
Constructs an AdvancedAutoBrightness controller with the specified manager and callback.
Definition peak_afl_advanced_auto_brightness.hpp:105
features::Roi & Roi()
Gets access to the region of interest (ROI) feature for selective brightness analysis.
Definition peak_afl_advanced_auto_brightness.hpp:331
Abstract base interface for all automatic controllers.
Definition peak_afl_icontroller.hpp:227
Auto percentile feature implementation for auto controllers.
Definition peak_afl_auto_percentile.hpp:58
AutoPercentile(std::shared_ptr< peak::afl::Controller > controller)
Constructs an AutoPercentile feature with the specified controller.
Definition peak_afl_auto_percentile.hpp:72
Auto target feature implementation for auto controllers.
Definition peak_afl_auto_target.hpp:59
AutoTarget(std::shared_ptr< peak::afl::Controller > controller)
Constructs an AutoTarget feature with the specified controller.
Definition peak_afl_auto_target.hpp:73
Auto tolerance feature implementation for auto controllers.
Definition peak_afl_auto_tolerance.hpp:61
AutoTolerance(std::shared_ptr< peak::afl::Controller > controller)
Constructs an AutoTolerance feature with the specified controller.
Definition peak_afl_auto_tolerance.hpp:75
Brightness algorithm feature implementation for auto controllers.
Definition peak_afl_brightness_algorithm.hpp:175
Region of Interest (ROI) feature implementation for auto controllers.
Definition peak_afl_roi.hpp:61
Roi(std::shared_ptr< peak::afl::Controller > controller)
Constructs a Roi feature with the specified controller.
Definition peak_afl_roi.hpp:75
Skip frames feature implementation for auto controllers.
Definition peak_afl_skip_frames.hpp:57
SkipFrames(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SkipFrames feature with the specified controller.
Definition peak_afl_skip_frames.hpp:71
ControllerMode
Controller operation mode enumeration.
Definition peak_afl_icontroller.hpp:59
ControllerType
Controller type enumeration.
Definition peak_afl_icontroller.hpp:40
BrightnessComponentType
Brightness component type enumeration.
Definition peak_afl_brightness_component.hpp:38
@ CombinedGain
Combined gain component - both analog and digital (combined) gain.
Definition peak_afl_brightness_component.hpp:48
@ AnalogGain
Analog gain component - hardware gain applied before digitization.
Definition peak_afl_brightness_component.hpp:44
@ DigitalGain
Digital gain component - gain applied after digitization.
Definition peak_afl_brightness_component.hpp:46
@ HostGain
Host gain component - software-based gain processing.
Definition peak_afl_brightness_component.hpp:50
@ Exposure
Exposure time component - controls sensor integration time.
Definition peak_afl_brightness_component.hpp:42
Interface definitions and implementations for individual module types used within a pipeline.
Definition peak_afl_generic_auto_brightness.hpp:39
Interfaces and implementations for defining and controlling data processing pipelines.
Definition peak_afl_generic_auto_brightness.hpp:37