FLImaging 7.8.25.3
Denoising3D.h
1#pragma once
2
11
12#include "DefinitionsThreeDim.h"
13#include "AlgorithmFeature3D_SO_DO.h"
14
16namespace FLImaging
17{
19 namespace ThreeDim
20 {
21 class CInternalDenoising3D;
22
33 class FL_EXPORT CDenoising3D : public CAlgorithmFeature3D_SO_DO
34 {
35 public:
36
42
47 CDenoising3D(const CDenoising3D& Denoising3D);
48
53 CDenoising3D(const CDenoising3D* pDenoising3D);
54
59 virtual ~CDenoising3D();
60
74 const CDenoising3D& operator=(const CDenoising3D& Denoising3D);
75
91 virtual const CResult Assign(const CDenoising3D& Denoising3D);
92
108 virtual const CResult Assign(const CDenoising3D* pDenoising3D);
109
123 virtual const CResult Execute() override;
124
138 virtual const CResult Clear() override;
139
163 virtual const CResult SetLambda(float f32Lambda = 0.1f);
164
172 virtual float GetLambda() const;
173
198 virtual const CResult SetNormalVectorDistanceThreshold(float f32Threshold);
199
207 virtual float GetNormalVectorDistanceThreshold() const;
208
228 virtual const CResult SetNeighborCount(int32_t i32Count = 40);
229
237 virtual int32_t GetNeighborCount() const;
238
254 virtual const CResult SetIteration(int32_t i32Iteration = 30);
255
263 virtual int32_t GetIteration() const;
264
291 virtual const CResult SetSpatialDistanceThreshold(float f32DistanceThreshold);
292
300 virtual float GetSpatialDistanceThreshold() const;
301
321 virtual const CResult SetSpatialDistanceThresholdCoefficient(float f32Coefficient = 3);
322
331
355 virtual const CResult EnableAutoSpatialDistanceThresholdCalculation(bool bAutoSpatialDistance = true);
356
365
381 virtual const CResult SetViewPoint(const Base::TPoint3<float>& tp3ViewPoint = Base::TPoint3<float>(0, 0, 1));
382
391
407 virtual const CResult EnableNormalVectorInclusion(bool bNormal = true);
408
416 virtual bool IsNormalVectorInclusionEnabled() const;
417
418 virtual bool IsLicenseAvailable() const override;
419
420 DeclareGetClassType();
421 SupportToDuplicateObject(CDenoising3D, *this);
422
423 protected:
424
437
450
459
468
477
486
495
496 protected:
497 CInternalDenoising3D* m_pInternal;
498 friend class CInternalDenoising3D;
499 };
500 }
501}
Simplified class representing a 3-D point.
Definition TPoint3.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1704
virtual Base::TPoint3< float > GetViewPoint() const
virtual float GetSpatialDistanceThresholdCoefficient() const
virtual int32_t GetNeighborCount() const
CDenoising3D(const CDenoising3D &Denoising3D)
virtual float GetLambda() const
float m_f32Lambda
Definition Denoising3D.h:436
virtual const CResult SetLambda(float f32Lambda=0.1f)
virtual const CResult SetSpatialDistanceThresholdCoefficient(float f32Coefficient=3)
int32_t m_i32NeighborCount
Definition Denoising3D.h:476
virtual const CResult Assign(const CDenoising3D &Denoising3D)
virtual const CResult SetViewPoint(const Base::TPoint3< float > &tp3ViewPoint=Base::TPoint3< float >(0, 0, 1))
virtual const CResult SetNormalVectorDistanceThreshold(float f32Threshold)
virtual const CResult SetIteration(int32_t i32Iteration=30)
virtual int32_t GetIteration() const
virtual bool IsLicenseAvailable() const override
Returns whether the algorithm can be used with the current license.
virtual const CResult SetNeighborCount(int32_t i32Count=40)
virtual const CResult Execute() override
Base::TPoint3< float > m_tp3ViewPoint
Definition Denoising3D.h:494
virtual bool IsNormalVectorInclusionEnabled() const
virtual const CResult Clear() override
float m_f32SpatialDistanceThreshold
Definition Denoising3D.h:458
virtual const CResult SetSpatialDistanceThreshold(float f32DistanceThreshold)
virtual bool IsAutoSpatialDistanceThresholdCalculationEnabled() const
const CDenoising3D & operator=(const CDenoising3D &Denoising3D)
virtual float GetSpatialDistanceThreshold() const
CDenoising3D(const CDenoising3D *pDenoising3D)
virtual const CResult EnableAutoSpatialDistanceThresholdCalculation(bool bAutoSpatialDistance=true)
virtual const CResult Assign(const CDenoising3D *pDenoising3D)
float m_f32NormalVectorDistanceThreshold
Definition Denoising3D.h:449
virtual const CResult EnableNormalVectorInclusion(bool bNormal=true)
virtual float GetNormalVectorDistanceThreshold() const
bool m_bIncludeResultNormalVector
Definition Denoising3D.h:485
int32_t m_i32Iteration
Definition Denoising3D.h:467
Definition Algorithm3DBase.h:16