FLImaging 6.6.27.1
CircleGauge.h
1#pragma once
2
19
20
22namespace FLImaging
23{
25 namespace AdvancedFunctions
26 {
27 class CInternalCircleGauge;
28
45 {
46 public:
47
57 {
66
75
84
93
102
111 };
112
122 {
131
140
149
158
167 };
168
178 {
187
196 };
197
206
215
224
232 virtual ~CCircleGauge();
233
242
256 virtual const CResult Assign(const CCircleGauge& aib);
257
271 virtual const CResult Assign(const CCircleGauge* pAib);
272
284 virtual const CResult Execute();
285
297 virtual const CResult Clear();
298
324 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int32_t>& flpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
325
351 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int32_t>* pFlpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
352
378 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int64_t>& flpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
379
405 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int64_t>* pFlpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
406
432 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<float>& flpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
433
459 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<float>* pFlpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
460
486 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<double>& flpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
487
513 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<double>* pFlpCenter, const double f64Diameter, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360., const double f64Angle = 0.);
514
540 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int32_t>& flrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
541
567 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int32_t>* pFlrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
568
594 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int64_t>& flrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
595
621 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int64_t>* pFlrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
622
648 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<float>& flrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
649
673 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<float>* pFlrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
674
700 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<double>& flrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
701
727 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<double>* pFlrRegion, const double f64Tolerance = 40., const double f64StartDeg = 0., const double f64DeltaDeg = 360.);
728
746 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<int32_t>& flcRegion, const double f64Tolerance = 40.);
747
765 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<int32_t>* pFlcRegion, const double f64Tolerance = 40.);
766
784 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<int64_t>& flcRegion, const double f64Tolerance = 40.);
785
803 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<int64_t>* pFlcRegion, const double f64Tolerance = 40.);
804
822 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<float>& flcRegion, const double f64Tolerance = 40.);
823
841 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<float>* pFlcRegion, const double f64Tolerance = 40.);
842
860 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<double>& flcRegion, const double f64Tolerance = 40.);
861
879 virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle<double>* pFlcRegion, const double f64Tolerance = 40.);
880
893
910
923
940
953
970
983
997 virtual const CResult SetThreshold(double f64Threshold = 20);
998
1008 virtual double GetThreshold() const;
1009
1023 virtual const CResult SetMinimumAmplitude(double f64MinimumAmplitude = 10);
1024
1034 virtual double GetMinimumAmplitude() const;
1035
1049 virtual const CResult SetSamplingStep(double f64SamplingStep = 5.);
1050
1060 virtual double GetSamplingStep() const;
1061
1075 virtual const CResult SetOutliersThreshold(double f64OutliersThreshold = 3.);
1076
1086 virtual double GetOutliersThreshold() const;
1087
1101 virtual const CResult SetOutliersThresholdCount(int64_t i64OutliersThresholdCount = 3);
1102
1112 virtual int64_t GetOutliersThresholdCount() const;
1113
1127 virtual const CResult SetThickness(int64_t i64Thickness = 1);
1128
1138 virtual int64_t GetThickness() const;
1139
1149 virtual double GetTolerance() const;
1150
1164 virtual const CResult EnableRegression(bool bEnable = true);
1165
1175 virtual const bool IsRegressionEnabled() const;
1176
1190 virtual const CResult EnableOptimalFitting(bool bEnable = true);
1191
1201 virtual const bool IsOptimalFittingEnabled() const;
1202
1220 virtual const Foundation::CFLCircle<double> GetMeasuredObject(int64_t i64Index = 0) const;
1221
1243 virtual const CResult GetMeasuredObject(Foundation::CFLCircle<double>& flcMeasuredObject, int64_t i64Index = 0) const;
1244
1266 virtual const CResult GetMeasuredObject(Foundation::CFLCircle<double>* pFlcMeasuredObject, int64_t i64Index = 0) const;
1267
1289 virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1290
1312 virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1313
1335 virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1336
1358 virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1359
1381 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1382
1404 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1405
1427 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1428
1450 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1451
1473 virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1474
1496 virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1497
1519 virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1520
1542 virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1543
1563 virtual const CResult GetMeasuredScore(double* pF64Score, int64_t i64Index = 0) const;
1564
1584 virtual const CResult GetMeasuredScore(double& f64Score, int64_t i64Index = 0) const;
1585
1598
1618 virtual const CResult GetMeasuredProfile(Base::CFLArray<double>& flaProfile, Base::CFLArray<double>& flaDerivative, double& f64Actual);
1619
1620 virtual bool IsLicenseAvailable() const override;
1621
1622
1623 DeclareGetClassType();
1624 SupportToDuplicateObject(CCircleGauge, *this);
1625
1626 protected:
1635
1644
1653
1662
1671
1680
1691
1700
1711
1722
1731
1742
1751
1752 protected:
1753 friend class CInternalCircleGauge;
1754
1755 CInternalCircleGauge* m_pInternal;
1756 };
1757 }
1758}
virtual const CResult GetMeasuredObject(Foundation::CFLCircle< double > &flcMeasuredObject, int64_t i64Index=0) const
virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray &flpaResult, int64_t i64Index=0) const
virtual const CResult SetThickness(int64_t i64Thickness=1)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int32_t > &flrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
const CCircleGauge & operator=(const CCircleGauge &cg)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
ETransitionType m_eTransitionType
Definition CircleGauge.h:1710
double m_f64Threshold
Definition CircleGauge.h:1634
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< float > &flrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< float > *pFlrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int64_t > *pFlpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
virtual const CResult SetTransitionType(ETransitionType eTransitionType=ETransitionType_DarkToBrightOrBrightToDark)
virtual const bool IsOptimalFittingEnabled() const
virtual int64_t GetOutliersThresholdCount() const
virtual const bool IsRegressionEnabled() const
virtual const CResult SetMinimumAmplitude(double f64MinimumAmplitude=10)
virtual const CResult SetOutliersThresholdCount(int64_t i64OutliersThresholdCount=3)
virtual const CResult Assign(const CCircleGauge &aib)
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< double > *pFlcRegion, const double f64Tolerance=40.)
virtual const CResult SetSamplingStep(double f64SamplingStep=5.)
virtual const CResult GetMeasuredScore(double *pF64Score, int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< double > *pFlrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray &flpaResult, int64_t i64Index=0) const
Foundation::CFLCircle< double > m_flcMeasurementCircle
Definition CircleGauge.h:1690
virtual ETransitionType GetTransitionType() const
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int32_t > &flpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
virtual ETransitionChoice GetTransitionChoice() const
virtual const CResult EnableRegression(bool bEnable=true)
int64_t m_i64OutliersThresholdCount
Definition CircleGauge.h:1670
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int32_t > *pFlpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< double > &flrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< double > *pFlpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
virtual Foundation::CFLCircle< double > GetMeasurementRegion() const
virtual ESearchDirection GetSearchDirection() const
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int64_t > &flrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< float > &flpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
double m_f64Tolerance
Definition CircleGauge.h:1699
virtual const Foundation::CFLCircle< double > GetMeasuredObject(int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< float > *pFlpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
virtual double GetOutliersThreshold() const
virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray &flfaResult, int64_t i64Index=0) const
virtual const CResult Assign(const CCircleGauge *pAib)
ESearchDirection
Definition CircleGauge.h:178
@ ESearchDirection_InsideToOutside
Definition CircleGauge.h:186
@ ESearchDirection_OutsideToInside
Definition CircleGauge.h:195
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< float > &flcRegion, const double f64Tolerance=40.)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
double m_f64SamplingStep
Definition CircleGauge.h:1652
virtual const CResult SetOutliersThreshold(double f64OutliersThreshold=3.)
double m_f64MinimumAmplitude
Definition CircleGauge.h:1643
virtual bool IsLicenseAvailable() const override
현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
ETransitionType
Definition CircleGauge.h:57
@ ETransitionType_DarkToBrightToDark
Definition CircleGauge.h:92
@ ETransitionType_DarkToBrightOrBrightToDark
Definition CircleGauge.h:83
@ ETransitionType_BrightToDarkToBright
Definition CircleGauge.h:101
@ ETransitionType_BrightToDark
Definition CircleGauge.h:74
@ ETransitionType_DarkToBrightToDarkOrBrightToDarkToBright
Definition CircleGauge.h:110
@ ETransitionType_DarkToBright
Definition CircleGauge.h:65
virtual const CResult SetTransitionChoice(ETransitionChoice eTransitionChoice=ETransitionChoice_LargestAmplitude)
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< double > &flcRegion, const double f64Tolerance=40.)
bool m_bEnable
Definition CircleGauge.h:1730
virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray &flfaResult, int64_t i64Index=0) const
virtual const Foundation::CFLFigureArray GetActualMeasurementRegion()
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< int64_t > *pFlcRegion, const double f64Tolerance=40.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int32_t > *pFlrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray &flfaResult, int64_t i64Index=0) const
int64_t m_i64Thickness
Definition CircleGauge.h:1679
virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< int32_t > &flcRegion, const double f64Tolerance=40.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< int64_t > &flcRegion, const double f64Tolerance=40.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int64_t > &flpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
bool m_bOptimalFitting
Definition CircleGauge.h:1750
double m_f64OutliersThreshold
Definition CircleGauge.h:1661
virtual const CResult GetMeasuredObject(Foundation::CFLCircle< double > *pFlcMeasuredObject, int64_t i64Index=0) const
virtual const CResult EnableOptimalFitting(bool bEnable=true)
virtual const CResult GetMeasuredProfile(Base::CFLArray< double > &flaProfile, Base::CFLArray< double > &flaDerivative, double &f64Actual)
ETransitionChoice
Definition CircleGauge.h:122
@ ETransitionChoice_Begin
Definition CircleGauge.h:130
@ ETransitionChoice_LargestArea
Definition CircleGauge.h:166
@ ETransitionChoice_Closest
Definition CircleGauge.h:148
@ ETransitionChoice_End
Definition CircleGauge.h:139
@ ETransitionChoice_LargestAmplitude
Definition CircleGauge.h:157
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray &flpaResult, int64_t i64Index=0) const
ETransitionChoice m_eTransitionChoice
Definition CircleGauge.h:1721
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int64_t > *pFlrRegion, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360.)
virtual const CResult SetThreshold(double f64Threshold=20)
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< float > *pFlcRegion, const double f64Tolerance=40.)
virtual const CResult SetSearchDirection(ESearchDirection eSearchDirection=ESearchDirection_InsideToOutside)
virtual const CResult GetMeasuredScore(double &f64Score, int64_t i64Index=0) const
virtual double GetMinimumAmplitude() const
ESearchDirection m_eSearchDirection
Definition CircleGauge.h:1741
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< double > &flpCenter, const double f64Diameter, const double f64Tolerance=40., const double f64StartDeg=0., const double f64DeltaDeg=360., const double f64Angle=0.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLCircle< int32_t > *pFlcRegion, const double f64Tolerance=40.)
Template type 의 배열 클래스.
Definition FLArray.h:53
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
원을 표현하는 클래스
Definition FLCircle.h:25
도형 배열을 표현하는 클래스
Definition FLFigureArray.h:26
점 배열을 표현하는 클래스
Definition FLPointArray.h:26
점을 표현하는 클래스
Definition FLPoint.h:24
직사각형을 표현하는 클래스
Definition FLRect.h:24
이미지 처리 클래스의 베이스 클래스
Definition AlgorithmFeature_SR.h:31
Definition AlgorithmFeature_DI_BAT_CI.h:15