IDS peak AFL v2.1.0
Loading...
Searching...
No Matches
peak_afl_advanced_auto_focus.hpp
Go to the documentation of this file.
1
6
7#pragma once
8
17
19
20namespace peak
21{
22namespace pipeline
23{
24namespace modules
25{
26namespace autofeature
27{
28
73{
74public:
85 : IController(manager)
86 , m_genericController(manager)
87 {}
88
94 ~AdvancedAutoFocus() override = default;
95
104 PEAK_COMMON_NO_DISCARD std::string GetName() const override
105 {
106 return "AdvancedAutoFocus";
107 }
108
120 {
121 m_genericController.Serialize(archive);
122 }
123
134 {
135 m_genericController.Deserialize(archive);
136 }
137
148 void SetMode(ControllerMode mode) override
149 {
150 m_genericController.SetMode(mode);
151 }
152
161 PEAK_COMMON_NO_DISCARD ControllerMode GetMode() const override
162 {
163 return m_genericController.GetMode();
164 }
165
177 PEAK_COMMON_NO_DISCARD bool IsRunning() const override
178 {
179 return m_genericController.IsRunning();
180 }
181
190 void ResetToDefault() override
191 {
192 m_genericController.ResetToDefault();
193 }
194
207 PEAK_COMMON_NO_DISCARD features::SkipFrames& SkipFrames() const
208 {
209 return m_genericController.SkipFrames();
210 }
211
224 PEAK_COMMON_NO_DISCARD features::Hysteresis& Hysteresis() const
225 {
226 return m_genericController.Hysteresis();
227 }
228
241 PEAK_COMMON_NO_DISCARD features::WeightedRois& WeightedROIs() const
242 {
243 return m_genericController.WeightedROIs();
244 }
245
258 PEAK_COMMON_NO_DISCARD features::SharpnessAlgorithm& SharpnessAlgorithm() const
259 {
260 return m_genericController.SharpnessAlgorithm();
261 }
262
275 PEAK_COMMON_NO_DISCARD features::SearchAlgorithm& SearchAlgorithm() const
276 {
277 return m_genericController.SearchAlgorithm();
278 }
279
292 PEAK_COMMON_NO_DISCARD features::FocusLimit& FocusLimit() const
293 {
294 return m_genericController.FocusLimit();
295 }
296
305 PEAK_COMMON_NO_DISCARD ControllerType GetType() const override
306 {
307 return m_genericController.GetType();
308 }
309
321 IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback& callback)
322 {
323 return m_genericController.RegisterFinishedCallback(callback);
324 }
325
335 void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
336 {
337 m_genericController.UnregisterFinishedCallback(callbackHandle);
338 }
339
340private:
348 detail::GenericAutoFocus m_genericController;
349};
350
351} // namespace autofeature
352} // namespace modules
353} // namespace pipeline
354} // namespace peak
Central coordination object for automatic camera feature control.
Definition peak_afl.hpp:708
Interface for a hierarchical key-value archive system.
Definition peak_common_iarchive.hpp:54
AdvancedAutoFocus(peak::afl::Manager &manager)
Constructs an AdvancedAutoFocus instance.
Definition peak_afl_advanced_auto_focus.hpp:84
features::SearchAlgorithm & SearchAlgorithm() const
Gets the search algorithm feature controller.
Definition peak_afl_advanced_auto_focus.hpp:275
features::SkipFrames & SkipFrames() const
Gets the skip frames feature controller.
Definition peak_afl_advanced_auto_focus.hpp:207
void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
Unregisters a previously registered callback.
Definition peak_afl_advanced_auto_focus.hpp:335
features::WeightedRois & WeightedROIs() const
Gets the weighted regions of interest feature controller.
Definition peak_afl_advanced_auto_focus.hpp:241
features::SharpnessAlgorithm & SharpnessAlgorithm() const
Gets the sharpness algorithm feature controller.
Definition peak_afl_advanced_auto_focus.hpp:258
ControllerMode GetMode() const override
Gets the current controller operation mode.
Definition peak_afl_advanced_auto_focus.hpp:161
std::string GetName() const override
Gets the controller name.
Definition peak_afl_advanced_auto_focus.hpp:104
features::Hysteresis & Hysteresis() const
Gets the hysteresis feature controller.
Definition peak_afl_advanced_auto_focus.hpp:224
void Serialize(peak::common::serialization::IArchive &archive) const override
Serializes the controller configuration to an archive.
Definition peak_afl_advanced_auto_focus.hpp:119
IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback &callback)
Registers a callback for processing completion notifications.
Definition peak_afl_advanced_auto_focus.hpp:321
void SetMode(ControllerMode mode) override
Sets the controller operation mode.
Definition peak_afl_advanced_auto_focus.hpp:148
void Deserialize(const peak::common::serialization::IArchive &archive) override
Deserializes the controller configuration from an archive.
Definition peak_afl_advanced_auto_focus.hpp:133
ControllerType GetType() const override
Gets the controller type identifier.
Definition peak_afl_advanced_auto_focus.hpp:305
features::FocusLimit & FocusLimit() const
Gets the focus limit feature controller.
Definition peak_afl_advanced_auto_focus.hpp:292
void ResetToDefault() override
Resets the controller to its default configuration.
Definition peak_afl_advanced_auto_focus.hpp:190
bool IsRunning() const override
Checks if the controller is currently running.
Definition peak_afl_advanced_auto_focus.hpp:177
Abstract base interface for all automatic controllers.
Definition peak_afl_icontroller.hpp:223
Focus limit feature implementation for auto focus controllers.
Definition peak_afl_focus_limit.hpp:59
FocusLimit(std::shared_ptr< peak::afl::Controller > controller)
Constructs a FocusLimit feature with the specified controller.
Definition peak_afl_focus_limit.hpp:73
Hysteresis feature implementation for auto controllers.
Definition peak_afl_hysteresis.hpp:56
Hysteresis(std::shared_ptr< peak::afl::Controller > controller)
Constructs a Hysteresis feature with the specified controller.
Definition peak_afl_hysteresis.hpp:70
Search algorithm feature implementation for auto focus controllers.
Definition peak_afl_search_algorithm.hpp:224
SearchAlgorithm(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SearchAlgorithm feature with the specified controller.
Definition peak_afl_search_algorithm.hpp:238
Sharpness algorithm feature implementation for auto focus controllers.
Definition peak_afl_sharpness_algorithm.hpp:230
SharpnessAlgorithm(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SharpnessAlgorithm feature with the specified controller.
Definition peak_afl_sharpness_algorithm.hpp:244
Skip frames feature implementation for auto controllers.
Definition peak_afl_skip_frames.hpp:53
SkipFrames(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SkipFrames feature with the specified controller.
Definition peak_afl_skip_frames.hpp:67
Weighted regions of interest feature implementation for auto controllers.
Definition peak_afl_weighted_rois.hpp:233
ControllerMode
Controller operation mode enumeration.
Definition peak_afl_icontroller.hpp:55
ControllerType
Controller type enumeration.
Definition peak_afl_icontroller.hpp:36
Interface definitions and implementations for individual module types used within a pipeline.
Definition peak_afl_generic_auto_brightness.hpp:35
Interfaces and implementations for defining and controlling data processing pipelines.
Definition peak_afl_generic_auto_brightness.hpp:33