IDS peak AFL v1.8.0
Loading...
Searching...
No Matches
peak_afl_advanced_auto_focus.hpp
Go to the documentation of this file.
1
10
11#pragma once
12
13#include <peak_afl/peak_afl.hpp>
21
23
24namespace peak
25{
26namespace pipeline
27{
28namespace modules
29{
30namespace autofeature
31{
32
77{
78public:
89 : IController(manager)
90 , m_genericController(manager)
91 {}
92
98 ~AdvancedAutoFocus() override = default;
99
108 PEAK_COMMON_NO_DISCARD std::string GetName() const override
109 {
110 return "AdvancedAutoFocus";
111 }
112
124 {
125 m_genericController.Serialize(archive);
126 }
127
138 {
139 m_genericController.Deserialize(archive);
140 }
141
152 void SetMode(ControllerMode mode) override
153 {
154 m_genericController.SetMode(mode);
155 }
156
166 {
167 return m_genericController.GetMode();
168 }
169
181 PEAK_COMMON_NO_DISCARD bool IsRunning() const override
182 {
183 return m_genericController.IsRunning();
184 }
185
194 void ResetToDefault() override
195 {
196 m_genericController.ResetToDefault();
197 }
198
212 {
213 return m_genericController.SkipFrames();
214 }
215
229 {
230 return m_genericController.Hysteresis();
231 }
232
246 {
247 return m_genericController.WeightedROIs();
248 }
249
263 {
264 return m_genericController.SharpnessAlgorithm();
265 }
266
280 {
281 return m_genericController.SearchAlgorithm();
282 }
283
297 {
298 return m_genericController.FocusLimit();
299 }
300
310 {
311 return m_genericController.GetType();
312 }
313
325 IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback& callback)
326 {
327 return m_genericController.RegisterFinishedCallback(callback);
328 }
329
339 void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
340 {
341 m_genericController.UnregisterFinishedCallback(callbackHandle);
342 }
343
344private:
352 detail::GenericAutoFocus m_genericController;
353};
354
355} // namespace autofeature
356} // namespace modules
357} // namespace pipeline
358} // namespace peak
The autofeature manager.
Definition peak_afl.hpp:306
Interface for a hierarchical key-value archive system.
Definition peak_common_iarchive.hpp:59
AdvancedAutoFocus(peak::afl::Manager &manager)
Constructs an AdvancedAutoFocus instance.
Definition peak_afl_advanced_auto_focus.hpp:88
PEAK_COMMON_NO_DISCARD features::FocusLimit & FocusLimit() const
Gets the focus limit feature controller.
Definition peak_afl_advanced_auto_focus.hpp:296
PEAK_COMMON_NO_DISCARD features::Hysteresis & Hysteresis() const
Gets the hysteresis feature controller.
Definition peak_afl_advanced_auto_focus.hpp:228
PEAK_COMMON_NO_DISCARD std::string GetName() const override
Gets the controller name.
Definition peak_afl_advanced_auto_focus.hpp:108
void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
Unregisters a previously registered callback.
Definition peak_afl_advanced_auto_focus.hpp:339
PEAK_COMMON_NO_DISCARD bool IsRunning() const override
Checks if the controller is currently running.
Definition peak_afl_advanced_auto_focus.hpp:181
PEAK_COMMON_NO_DISCARD ControllerMode GetMode() const override
Gets the current controller operation mode.
Definition peak_afl_advanced_auto_focus.hpp:165
PEAK_COMMON_NO_DISCARD features::SharpnessAlgorithm & SharpnessAlgorithm() const
Gets the sharpness algorithm feature controller.
Definition peak_afl_advanced_auto_focus.hpp:262
void Serialize(peak::common::serialization::IArchive &archive) const override
Serializes the controller configuration to an archive.
Definition peak_afl_advanced_auto_focus.hpp:123
IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback &callback)
Registers a callback for processing completion notifications.
Definition peak_afl_advanced_auto_focus.hpp:325
PEAK_COMMON_NO_DISCARD ControllerType GetType() const override
Gets the controller type identifier.
Definition peak_afl_advanced_auto_focus.hpp:309
void SetMode(ControllerMode mode) override
Sets the controller operation mode.
Definition peak_afl_advanced_auto_focus.hpp:152
PEAK_COMMON_NO_DISCARD features::SearchAlgorithm & SearchAlgorithm() const
Gets the search algorithm feature controller.
Definition peak_afl_advanced_auto_focus.hpp:279
void Deserialize(const peak::common::serialization::IArchive &archive) override
Deserializes the controller configuration from an archive.
Definition peak_afl_advanced_auto_focus.hpp:137
PEAK_COMMON_NO_DISCARD features::SkipFrames & SkipFrames() const
Gets the skip frames feature controller.
Definition peak_afl_advanced_auto_focus.hpp:211
void ResetToDefault() override
Resets the controller to its default configuration.
Definition peak_afl_advanced_auto_focus.hpp:194
PEAK_COMMON_NO_DISCARD features::WeightedRois & WeightedROIs() const
Gets the weighted regions of interest feature controller.
Definition peak_afl_advanced_auto_focus.hpp:245
Abstract base interface for all automatic controllers.
Definition peak_afl_icontroller.hpp:228
Focus limit feature implementation for auto focus controllers.
Definition peak_afl_focus_limit.hpp:64
FocusLimit(std::shared_ptr< peak::afl::Controller > controller)
Constructs a FocusLimit feature with the specified controller.
Definition peak_afl_focus_limit.hpp:78
Hysteresis feature implementation for auto controllers.
Definition peak_afl_hysteresis.hpp:61
Hysteresis(std::shared_ptr< peak::afl::Controller > controller)
Constructs a Hysteresis feature with the specified controller.
Definition peak_afl_hysteresis.hpp:75
Search algorithm feature implementation for auto focus controllers.
Definition peak_afl_search_algorithm.hpp:209
SearchAlgorithm(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SearchAlgorithm feature with the specified controller.
Definition peak_afl_search_algorithm.hpp:223
Sharpness algorithm feature implementation for auto focus controllers.
Definition peak_afl_sharpness_algorithm.hpp:214
SharpnessAlgorithm(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SharpnessAlgorithm feature with the specified controller.
Definition peak_afl_sharpness_algorithm.hpp:228
Skip frames feature implementation for auto controllers.
Definition peak_afl_skip_frames.hpp:58
SkipFrames(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SkipFrames feature with the specified controller.
Definition peak_afl_skip_frames.hpp:72
Weighted regions of interest feature implementation for auto controllers.
Definition peak_afl_weighted_rois.hpp:225
ControllerMode
Controller operation mode enumeration.
Definition peak_afl_icontroller.hpp:60
ControllerType
Controller type enumeration.
Definition peak_afl_icontroller.hpp:41
#define PEAK_COMMON_NO_DISCARD
Compatability macro for the nodiscard attribute.
Definition peak_common_defines.hpp:91
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