FLImaging 7.8.25.3
HysteresisThreshold.h
1#pragma once
2
14
15#include "DefinitionsImageProcessing.h"
16
18namespace FLImaging
19{
21 namespace ImageProcessing
22 {
23 class CInternalHysteresisThreshold;
24
33 class FL_EXPORT CHysteresisThreshold : public CAlgorithmFeature_SR_SP_DI_DR_DP_BLK_FBLK_BAT
34 {
35 public:
36
45 enum EOutputMode :int32_t
46 {
55
64
73 };
74
80
85 CHysteresisThreshold(const CHysteresisThreshold& hysteresisThreshold);
86
91 CHysteresisThreshold(const CHysteresisThreshold* pHysteresisThreshold);
92
98
112 const CHysteresisThreshold& operator=(const CHysteresisThreshold& hysteresisThreshold);
113
129 virtual const FLImaging::CResult Assign(const CHysteresisThreshold& hysteresisThreshold);
130
146 virtual const FLImaging::CResult Assign(const CHysteresisThreshold* pHysteresisThreshold);
147
162
176 virtual const FLImaging::CResult Clear() override;
177
193 virtual const FLImaging::CResult SetMaxLength(int32_t i32MaxLength = 0);
194
206 virtual int32_t GetMaxLength() const;
207
226
240 virtual EOutputMode GetOutputMode() const;
241
260
275
294
309
328
343
344 virtual bool IsLicenseAvailable() const override;
345
346 DeclareGetClassType();
347 SupportToDuplicateObject(CHysteresisThreshold, *this);
348
349 protected:
350
359
372
385
398
411
412 protected:
413 friend class CInternalHysteresisThreshold;
414 CInternalHysteresisThreshold* m_pInternal;
415 };
416 }
417}
Multi variable class.
Definition MultiVar.h:31
FLImaging module execution result object.
Definition ResultsDef.h:1704
EOutputMode m_eOutputMode
Definition HysteresisThreshold.h:371
int32_t m_i32MaxLength
Definition HysteresisThreshold.h:358
virtual const FLImaging::CResult SetLogicalConditionOfChannels(ELogicalConditionOfChannels eLogicalConditionOfChannels=ELogicalConditionOfChannels_And)
virtual FLImaging::Base::CMultiVar< double > GetLowThreshold() const
CHysteresisThreshold(const CHysteresisThreshold &hysteresisThreshold)
ELogicalConditionOfChannels m_eLogicalConditionOfChannels
Definition HysteresisThreshold.h:384
virtual const FLImaging::CResult Execute()
virtual const FLImaging::CResult Clear() override
Base::CMultiVar< double > m_mvLowThreshold
Definition HysteresisThreshold.h:397
virtual const FLImaging::CResult SetLowThreshold(CMultiVar< double > mvLowThreshold)
virtual FLImaging::Base::CMultiVar< double > GetHighThreshold() const
Base::CMultiVar< double > m_mvHighThreshold
Definition HysteresisThreshold.h:410
virtual FLImaging::ImageProcessing::ELogicalConditionOfChannels GetLogicalConditionOfChannels() const
virtual const FLImaging::CResult SetHighThreshold(CMultiVar< double > mvHighThreshold)
virtual bool IsLicenseAvailable() const override
Returns whether the algorithm can be used with the current license.
const CHysteresisThreshold & operator=(const CHysteresisThreshold &hysteresisThreshold)
virtual const FLImaging::CResult Assign(const CHysteresisThreshold &hysteresisThreshold)
virtual const FLImaging::CResult SetMaxLength(int32_t i32MaxLength=0)
CHysteresisThreshold(const CHysteresisThreshold *pHysteresisThreshold)
EOutputMode
Definition HysteresisThreshold.h:46
@ EOutputMode_Binary
Definition HysteresisThreshold.h:72
@ EOutputMode_Original
Definition HysteresisThreshold.h:54
@ EOutputMode_Grayscale
Definition HysteresisThreshold.h:63
virtual const FLImaging::CResult SetOutputMode(EOutputMode eOutputMode=EOutputMode_Binary)
virtual const FLImaging::CResult Assign(const CHysteresisThreshold *pHysteresisThreshold)
Definition AbsoluteThreshold.h:25
ELogicalConditionOfChannels
Definition DefinitionsImgProcBase.h:55
@ ELogicalConditionOfChannels_And
Definition DefinitionsImgProcBase.h:60