FLImaging 6.7.10.2
VarianceThreshold.h
1#pragma once
2
21
22
24namespace FLImaging
25{
27 namespace ImageProcessing
28 {
29 class CInternalVarianceThreshold;
30
49 class FL_EXPORT CVarianceThreshold : public CAlgorithmFeature_SR_SP_DI_DR_DP_BLK_FBLK_BAT
50 {
51 public:
52
71 {
103
134
165
196 };
197
203
208 CVarianceThreshold(const CVarianceThreshold& VarianceThreshold);
209
214 CVarianceThreshold(const CVarianceThreshold* pVarianceThreshold);
215
221
237 const CVarianceThreshold& operator=(const CVarianceThreshold& VarianceThreshold);
238
252 virtual const CResult Assign(const CVarianceThreshold& VarianceThreshold);
253
265 virtual const CResult Assign(const CVarianceThreshold* pVarianceThreshold);
266
280 virtual const CResult Execute();
281
293 virtual const CResult Clear() override;
294
313
328
346 virtual const CResult SetStdDevScale(const Base::CMultiVar<double>& mvStdDevScale);
347
362
380 virtual const CResult SetAbsThreshold(const Base::CMultiVar<double>& mvAbsThreshold);
381
396
412 virtual const CResult SetKernel(int64_t i64Kernel = 15);
413
431 virtual const CResult SetKernel(int64_t i64KernelWidth, int64_t i64KernelHeight);
432
450 virtual const CResult GetKernel(int64_t& i64KernelWidth, int64_t& i64KernelHeight);
451
469 virtual const CResult SetLogicalCondition(EVarianceThresholdCondition eThresholdCondition);
470
490 virtual const CResult SetLogicalCondition(int64_t i64ThresholdCondition);
491
511 virtual const CResult SetLogicalCondition(const Base::CMultiVar<int64_t>& mvThresholdCondition);
512
529
547 virtual const CResult GetLogicalCondition(EVarianceThresholdCondition& eThresholdCondition) const;
548
568 virtual const CResult GetLogicalCondition(Base::CMultiVar<int64_t>& mvThresholdCondition) const;
569
587 virtual const CResult SetRangeValue(const Base::CMultiVar<double>& mvRangeValue);
588
606 virtual const CResult SetRangeValue(const Base::CMultiVar<uint64_t>& mvRangeValue);
607
625 virtual const CResult SetRangeValue(const Base::CMultiVar<int64_t>& mvRangeValue);
626
642 virtual const CResult GetRangeValue(Base::CMultiVar<double>& mvRangeValue) const;
643
659 virtual const CResult GetRangeValue(Base::CMultiVar<uint64_t>& mvRangeValue) const;
660
676 virtual const CResult GetRangeValue(Base::CMultiVar<int64_t>& mvRangeValue) const;
677
693 virtual const CResult GetRangeValue(Base::CMultiVar<double>* pMvRangeValue) const;
694
710 virtual const CResult GetRangeValue(Base::CMultiVar<uint64_t>* pMvRangeValue) const;
711
727 virtual const CResult GetRangeValue(Base::CMultiVar<int64_t>* pMvRangeValue) const;
728
746 virtual const CResult SetOutOfRangeValue(const Base::CMultiVar<double> mvOutOfRangeValue);
747
765 virtual const CResult SetOutOfRangeValue(const Base::CMultiVar<uint64_t> mvOutOfRangeValue);
766
784 virtual const CResult SetOutOfRangeValue(const Base::CMultiVar<int64_t> mvOutOfRangeValue);
785
801 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<double>& mvOutOfRangeValue) const;
802
818 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<uint64_t>& mvOutOfRangeValue) const;
819
835 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<int64_t>& mvOutOfRangeValue) const;
836
852 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<double>* pMvOutOfRangeValue) const;
853
869 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<uint64_t>* pMvOutOfRangeValue) const;
870
886 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<int64_t>* pMvOutOfRangeValue) const;
887
888 virtual bool IsLicenseAvailable() const override;
889
890
891 DeclareGetClassType();
892 SupportToDuplicateObject(CVarianceThreshold, *this);
893
894 protected:
895
904
913
926
939
952
965
978
991
1004
1017
1030
1043
1044 protected:
1045 CInternalVarianceThreshold* m_pInternal;
1046 friend class CInternalVarianceThreshold;
1047 };
1048 };
1049}
1050
Multi variable class.
Definition MultiVar.h:31
FLImaging module execution result object.
Definition ResultsDef.h:1596
EVarianceThresholdCondition
Binarization calculation method enum.
Definition VarianceThreshold.h:71
@ EVarianceThresholdCondition_Light
A method of binarizing using the sum of average and variable threshold of the kernel size region as a...
Definition VarianceThreshold.h:133
@ EVarianceThresholdCondition_Equal
A method of binarizing using the difference between average and variable threshold of the kernel size...
Definition VarianceThreshold.h:164
@ EVarianceThresholdCondition_NotEqual
A method of binarizing using the difference between average and variable threshold of the kernel size...
Definition VarianceThreshold.h:195
@ EVarianceThresholdCondition_Dark
A method of binarizing using the difference between average and variable threshold of the kernel size...
Definition VarianceThreshold.h:102
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< int64_t > &mvOutOfRangeValue) const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< double > *pMvOutOfRangeValue) const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< double > &mvOutOfRangeValue) const
virtual const CResult GetRangeValue(Base::CMultiVar< int64_t > *pMvRangeValue) const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< int64_t > *pMvOutOfRangeValue) const
CVarianceThreshold(const CVarianceThreshold *pVarianceThreshold)
ELogicalConditionOfChannels m_eLogicalConditionOfChannels
Definition VarianceThreshold.h:964
Base::CMultiVar< uint64_t > m_mvU64OutOfRangeValue
Definition VarianceThreshold.h:1029
virtual const CResult GetLogicalCondition(EVarianceThresholdCondition &eThresholdCondition) const
CVarianceThreshold(const CVarianceThreshold &VarianceThreshold)
virtual const CResult SetRangeValue(const Base::CMultiVar< double > &mvRangeValue)
const CVarianceThreshold & operator=(const CVarianceThreshold &VarianceThreshold)
virtual const CResult SetStdDevScale(const Base::CMultiVar< double > &mvStdDevScale)
virtual const CResult SetLogicalCondition(const Base::CMultiVar< int64_t > &mvThresholdCondition)
Base::CMultiVar< int64_t > m_mvThresholdCondition
Definition VarianceThreshold.h:951
virtual ELogicalConditionOfChannels GetLogicalConditionOfChannels() const
virtual const CResult SetLogicalConditionOfChannels(ELogicalConditionOfChannels eCondition)
Base::CMultiVar< int64_t > m_mvI64OutOfRangeValue
Definition VarianceThreshold.h:1042
virtual const Base::CMultiVar< double > GetAbsThreshold() const
virtual const CResult SetAbsThreshold(const Base::CMultiVar< double > &mvAbsThreshold)
virtual bool IsLicenseAvailable() const override
Returns whether the algorithm can be used with the current license.
virtual const CResult GetRangeValue(Base::CMultiVar< double > &mvRangeValue) const
Base::CMultiVar< int64_t > m_mvI64RangeValue
Definition VarianceThreshold.h:1003
Base::CMultiVar< uint64_t > m_mvU64RangeValue
Definition VarianceThreshold.h:990
virtual const CResult SetRangeValue(const Base::CMultiVar< uint64_t > &mvRangeValue)
virtual const CResult Clear() override
virtual const Base::CMultiVar< int64_t > GetLogicalCondition() const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< uint64_t > &mvOutOfRangeValue) const
virtual const CResult SetOutOfRangeValue(const Base::CMultiVar< uint64_t > mvOutOfRangeValue)
virtual const CResult GetKernel(int64_t &i64KernelWidth, int64_t &i64KernelHeight)
virtual const Base::CMultiVar< double > GetStdDevScale() const
virtual const CResult SetLogicalCondition(int64_t i64ThresholdCondition)
virtual const CResult SetRangeValue(const Base::CMultiVar< int64_t > &mvRangeValue)
Base::CMultiVar< double > m_mvStdDevScale
Definition VarianceThreshold.h:925
virtual const CResult Assign(const CVarianceThreshold &VarianceThreshold)
virtual const CResult GetLogicalCondition(Base::CMultiVar< int64_t > &mvThresholdCondition) const
virtual const CResult GetRangeValue(Base::CMultiVar< int64_t > &mvRangeValue) const
virtual const CResult GetRangeValue(Base::CMultiVar< uint64_t > *pMvRangeValue) const
int64_t m_i64KernelHeight
Definition VarianceThreshold.h:912
Base::CMultiVar< double > m_mvAbsThreshold
Definition VarianceThreshold.h:938
int64_t m_i64KernelWidth
Definition VarianceThreshold.h:903
Base::CMultiVar< double > m_mvF64RangeValue
Definition VarianceThreshold.h:977
virtual const CResult SetKernel(int64_t i64Kernel=15)
virtual const CResult SetLogicalCondition(EVarianceThresholdCondition eThresholdCondition)
virtual const CResult SetOutOfRangeValue(const Base::CMultiVar< int64_t > mvOutOfRangeValue)
virtual const CResult SetOutOfRangeValue(const Base::CMultiVar< double > mvOutOfRangeValue)
virtual const CResult GetRangeValue(Base::CMultiVar< double > *pMvRangeValue) const
virtual const CResult SetKernel(int64_t i64KernelWidth, int64_t i64KernelHeight)
virtual const CResult GetRangeValue(Base::CMultiVar< uint64_t > &mvRangeValue) const
virtual const CResult Assign(const CVarianceThreshold *pVarianceThreshold)
Base::CMultiVar< double > m_mvF64OutOfRangeValue
Definition VarianceThreshold.h:1016
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< uint64_t > *pMvOutOfRangeValue) const
Definition AbsoluteThreshold.h:25
ELogicalConditionOfChannels
Definition DefinitionsImgProcBase.h:55