FLImaging 6.6.27.1
AnisotropicDiffusion.h
1#pragma once
2
14
15#include "DefinitionsImageProcessing.h"
16
18namespace FLImaging
19{
21 namespace ImageProcessing
22 {
23 class CInternalAnisotropicDiffusion;
24
57 class FL_EXPORT CAnisotropicDiffusion : public CAlgorithmFeature_SR_SP_DI_DR_DP_BLK_FBLK_BAT
58 {
59 public:
60
66 {
72
78
84 };
85
91
96 CAnisotropicDiffusion(const CAnisotropicDiffusion& anisotropicDiffusion);
97
102 CAnisotropicDiffusion(const CAnisotropicDiffusion* pAnisotropicDiffusion);
103
109
123 const CAnisotropicDiffusion& operator=(const CAnisotropicDiffusion& anisotropicDiffusion);
124
140 virtual const FLImaging::CResult Assign(const CAnisotropicDiffusion& anisotropicDiffusion);
141
157 virtual const FLImaging::CResult Assign(const CAnisotropicDiffusion* pAnisotropicDiffusion);
158
173
187 virtual const FLImaging::CResult Clear() override;
188
215
236
252 virtual const FLImaging::CResult SetIteration(int64_t i64Iteration = 1);
253
265 virtual int64_t GetIteration();
266
282 virtual const FLImaging::CResult SetContrast(double f64Contrast = 5.);
283
295 virtual double GetContrast();
296
312 virtual const FLImaging::CResult SetTheta(double f64Theta = 10.);
313
325 virtual double GetTheta();
326
345
360
378 virtual const CResult SetPaddingValue(const Base::CMultiVar<double>& mvPaddingValue);
379
394
396
397 virtual const CResult RunWarmUpCuda();
398
399 virtual int64_t GetRequiredGPUMemory() const override;
400
401 virtual bool IsLicenseAvailable() const override;
402
403 DeclareGetClassType();
404 SupportToDuplicateObject(CAnisotropicDiffusion, *this);
405
406 protected:
407
416
425
434
443
449
455
456 protected:
457 friend class CInternalAnisotropicDiffusion;
458 CInternalAnisotropicDiffusion* m_pInternal;
459 };
460 }
461}
다중 변수 클래스
Definition MultiVar.h:31
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
virtual const FLImaging::CResult Assign(const CAnisotropicDiffusion *pAnisotropicDiffusion)
EPaddingMethod m_ePaddingMethod
Definition AnisotropicDiffusion.h:448
virtual Foundation::EProcessingUnitFeatures GetOptimalProcessingUnit() const override
double m_f64Contrast
Definition AnisotropicDiffusion.h:433
EDiffusionCoefficientMode m_eDiffusionMode
Definition AnisotropicDiffusion.h:415
virtual const FLImaging::CResult SetDiffusionMode(EDiffusionCoefficientMode eDiffMode=EDiffusionCoefficientMode_Weickert)
virtual const FLImaging::CResult SetContrast(double f64Contrast=5.)
CAnisotropicDiffusion(const CAnisotropicDiffusion *pAnisotropicDiffusion)
virtual const FLImaging::CResult SetIteration(int64_t i64Iteration=1)
EDiffusionCoefficientMode
Definition AnisotropicDiffusion.h:66
@ EDiffusionCoefficientMode_PeronaMalik
Definition AnisotropicDiffusion.h:77
@ EDiffusionCoefficientMode_Weickert
Definition AnisotropicDiffusion.h:83
@ EDiffusionCoefficientMode_Parabolic
Definition AnisotropicDiffusion.h:71
const CAnisotropicDiffusion & operator=(const CAnisotropicDiffusion &anisotropicDiffusion)
virtual EDiffusionCoefficientMode GetDiffusionMode()
virtual const CResult SetPaddingMethod(EPaddingMethod ePaddingMethod=EPaddingMethod_DecreasingKernel)
virtual const CResult SetPaddingValue(const Base::CMultiVar< double > &mvPaddingValue)
virtual int64_t GetRequiredGPUMemory() const override
virtual const FLImaging::CResult Execute()
double m_f64Theta
Definition AnisotropicDiffusion.h:442
virtual const FLImaging::CResult SetTheta(double f64Theta=10.)
int64_t m_i64Iteration
Definition AnisotropicDiffusion.h:424
virtual bool IsLicenseAvailable() const override
현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
virtual const Base::CMultiVar< double > GetPaddingValue()
CAnisotropicDiffusion(const CAnisotropicDiffusion &anisotropicDiffusion)
Base::CMultiVar< double > m_mvPaddingValue
Definition AnisotropicDiffusion.h:454
virtual const FLImaging::CResult Assign(const CAnisotropicDiffusion &anisotropicDiffusion)
virtual const FLImaging::CResult Clear() override
EProcessingUnitFeatures
Processing Unit Features
Definition AlgorithmBase.h:26
Definition AbsoluteThreshold.h:25
EPaddingMethod
Definition DefinitionsImgProcBase.h:415
@ EPaddingMethod_DecreasingKernel
Definition DefinitionsImgProcBase.h:432