FLImaging 6.6.27.1
Integral.h
1#pragma once
2
18
19#include "AlgorithmFeature_SR_DI_BAT.h"
20
21
23namespace FLImaging
24{
26 namespace ImageProcessing
27 {
28 class CInternalIntegral;
29
45 class FL_EXPORT CIntegral : public CAlgorithmFeature_SR_DI_BAT
46 {
47 public:
48
58 {
67
76
85
94
103
112 };
113
123 {
132
141
150
159 };
160
170 {
179
188
197 };
198
207
215 CIntegral(const CIntegral& Integral);
216
224 CIntegral(const CIntegral* pIntegral);
225
233 virtual ~CIntegral();
234
250 const CIntegral& operator=(const CIntegral& Integral);
251
265 virtual const CResult Assign(const CIntegral& Integral);
266
280 virtual const CResult Assign(const CIntegral* pIntegral);
281
294 virtual const CResult Execute();
295
307 virtual const CResult Clear() override;
308
324 virtual const CResult SetDataType(EDataType eDataType = EDataType_Uint64);
325
338
355
368
384 virtual const CResult SetDirection(EDirection eDirection = EDirection_XY);
385
397 virtual EDirection GetDirection() const;
398
421 virtual const CResult SetCoefficients(double f64QuadraticTerm = 1.0, double f64LinearTerm = 1.0, double f64Constant = 1.0);
422
447 virtual const CResult SetCoefficients(const Base::CMultiVar<double>& mvCoefficients = Base::CMultiVar<double>(1, 1, 1));
448
470
472 virtual bool IsLicenseAvailable() const override;
473
474
475 DeclareGetClassType();
476 SupportToDuplicateObject(CIntegral, *this);
477
478 protected:
479
490
501
512
529
530 protected:
531 friend class CInternalIntegral;
532 CInternalIntegral* m_pInternal;
533 };
534 };
535}
다중 변수 클래스
Definition MultiVar.h:31
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
const CIntegral & operator=(const CIntegral &Integral)
virtual const CResult SetDirection(EDirection eDirection=EDirection_XY)
EDirection
Definition Integral.h:170
@ EDirection_X
Definition Integral.h:187
@ EDirection_XY
Definition Integral.h:178
@ EDirection_Y
Definition Integral.h:196
virtual Foundation::EProcessingUnitFeatures GetOptimalProcessingUnit() const override
virtual ECalculationMode GetCalculationMode() const
virtual const Base::CMultiVar< double > GetCoefficients() const
EDataType
Definition Integral.h:58
@ EDataType_Uint32
Definition Integral.h:66
@ EDataType_Float32
Definition Integral.h:102
@ EDataType_Int64
Definition Integral.h:93
@ EDataType_Int32
Definition Integral.h:75
@ EDataType_Float64
Definition Integral.h:111
@ EDataType_Uint64
Definition Integral.h:84
virtual const CResult Assign(const CIntegral *pIntegral)
virtual const CResult Execute()
ECalculationMode m_eCalculationMode
Definition Integral.h:500
virtual const CResult SetCoefficients(const Base::CMultiVar< double > &mvCoefficients=Base::CMultiVar< double >(1, 1, 1))
CIntegral(const CIntegral *pIntegral)
virtual const CResult Assign(const CIntegral &Integral)
ECalculationMode
Definition Integral.h:123
@ ECalculationMode_Sum
Definition Integral.h:131
@ ECalculationMode_SquareAndSum
Definition Integral.h:149
@ ECalculationMode_Polynomial
Definition Integral.h:158
@ ECalculationMode_SquareSum
Definition Integral.h:140
virtual const CResult SetDataType(EDataType eDataType=EDataType_Uint64)
virtual bool IsLicenseAvailable() const override
현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
virtual EDirection GetDirection() const
Base::CMultiVar< double > m_mvCoefficients
Definition Integral.h:528
EDirection m_eDirection
Definition Integral.h:511
virtual const CResult SetCalculationMode(ECalculationMode eCalculationMode=ECalculationMode_Sum)
CIntegral(const CIntegral &Integral)
virtual const CResult SetCoefficients(double f64QuadraticTerm=1.0, double f64LinearTerm=1.0, double f64Constant=1.0)
virtual const CResult Clear() override
EDataType m_eDataType
Definition Integral.h:489
EProcessingUnitFeatures
Processing Unit Features
Definition AlgorithmBase.h:26
Definition AbsoluteThreshold.h:25