FLImaging 6.6.27.1
RectangleGauge.h
1#pragma once
2
18
19
21namespace FLImaging
22{
24 namespace AdvancedFunctions
25 {
26 class CInternalRectangleGauge;
27
44 {
45 public:
46
56 {
65
74
83
92
101
110 };
111
121 {
130
139
148
157
166 };
167
177 {
186
195 };
196
206 {
215
224
233
242
251
260
269
278
287
296
305
314
323 };
324
334 {
343
352
361
370
379
388
397
406
415
424
433
442
451 };
452
461
470
479
488
497
511 virtual const CResult Assign(const CRectangleGauge& aib);
512
526 virtual const CResult Assign(const CRectangleGauge* pAib);
527
539 virtual const CResult Execute();
540
552 virtual const CResult Clear();
553
577 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int32_t>& flpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
578
602 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int32_t>* pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
603
627 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int64_t>& flpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
628
652 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int64_t>* pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
653
677 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<float>& flpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
678
702 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<float>* pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
703
727 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<double>& flpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
728
752 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<double>* pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance = 40., const double f64Angle = 0.0);
753
771 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int32_t>& flrRegion, const double f64Tolerance = 40.);
772
790 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int32_t>* pFlrRegion, const double f64Tolerance = 40.);
791
809 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int64_t>& flrRegion, const double f64Tolerance = 40.);
810
828 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int64_t>* pFlrRegion, const double f64Tolerance = 40.);
829
847 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<float>& flrRegion, const double f64Tolerance = 40.);
848
866 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<float>* pFlrRegion, const double f64Tolerance = 40.);
867
885 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<double>& flrRegion, const double f64Tolerance = 40.);
886
904 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<double>* pFlrRegion, const double f64Tolerance = 40.);
905
918
936 virtual const CResult SetTolerance(double f64Tolerance = 40., ETolerance eTolerance = ETolerance_All);
937
955
981 virtual const CResult SetMeasurementMarginRatio(double f64Ratio = 0., EMargin eMargin = EMargin_All);
982
999
1016
1029
1046
1059
1076
1089
1103 virtual const CResult SetThreshold(double f64Threshold = 20);
1104
1114 virtual double GetThreshold() const;
1115
1129 virtual const CResult SetMinimumAmplitude(double f64MinimumAmplitude = 10);
1130
1140 virtual double GetMinimumAmplitude() const;
1141
1155 virtual const CResult SetSamplingStep(double f64SamplingStep = 5.);
1156
1166 virtual double GetSamplingStep() const;
1167
1181 virtual const CResult EnableClusterMode(bool bUse = true);
1182
1192 virtual bool IsClusterModeEnabled() const;
1193
1207 virtual const CResult SetOutliersThreshold(double f64OutliersThreshold = 3.);
1208
1218 virtual double GetOutliersThreshold() const;
1219
1233 virtual const CResult SetOutliersThresholdCount(int64_t i64OutliersThresholdCount = 3);
1234
1244 virtual int64_t GetOutliersThresholdCount() const;
1245
1259 virtual const CResult SetThickness(int64_t i64Thickness = 1);
1260
1270 virtual int64_t GetThickness() const;
1271
1285 virtual const CResult EnableRegression(bool bEnable = true);
1286
1296 virtual const bool IsRegressionEnabled();
1297
1311 virtual const CResult EnableOptimalFitting(bool bEnable = true);
1312
1322 virtual const bool IsOptimalFittingEnabled() const;
1323
1341 virtual const Foundation::CFLRect<double> GetMeasuredObject(int64_t i64Index = 0) const;
1342
1364 virtual const CResult GetMeasuredObject(Foundation::CFLRect<double>& flrMeasuredObject, int64_t i64Index = 0) const;
1365
1387 virtual const CResult GetMeasuredObject(Foundation::CFLRect<double>* pFlrMeasuredObject, int64_t i64Index = 0) const;
1388
1410 virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1411
1433 virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1434
1456 virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1457
1479 virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1480
1502 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1503
1525 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1526
1548 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1549
1571 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1572
1594 virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1595
1617 virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1618
1640 virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1641
1663 virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1664
1684 virtual const CResult GetMeasuredScore(double* pF64Score, int64_t i64Index = 0) const;
1685
1705 virtual const CResult GetMeasuredScore(double& f64Score, int64_t i64Index = 0) const;
1706
1719
1739 virtual const CResult GetMeasuredProfile(Base::CFLArray<double>& flaProfile, Base::CFLArray<double>& flaDerivative, double& f64Actual);
1740
1741 virtual bool IsLicenseAvailable() const override;
1742
1743
1744 DeclareGetClassType();
1745 SupportToDuplicateObject(CRectangleGauge, *this);
1746
1747 protected:
1756
1765
1774
1783
1792
1801
1812
1823
1834
1845
1856
1865
1874
1885
1894
1895 protected:
1896 friend class CInternalRectangleGauge;
1897
1898 CInternalRectangleGauge* m_pInternal;
1899 };
1900 }
1901}
1902
virtual const CResult GetMeasuredObject(Foundation::CFLRect< double > *pFlrMeasuredObject, int64_t i64Index=0) const
virtual const CResult EnableClusterMode(bool bUse=true)
Base::CFLArray< double > m_arrF64Tolerance
Definition RectangleGauge.h:1822
virtual const Foundation::CFLRect< double > GetMeasuredObject(int64_t i64Index=0) const
double m_f64OutliersThreshold
Definition RectangleGauge.h:1782
bool m_bClusterMode
Definition RectangleGauge.h:1864
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray &flfaResult, int64_t i64Index=0) const
virtual const CResult SetThickness(int64_t i64Thickness=1)
virtual ETransitionType GetTransitionType() const
virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray &flfaResult, int64_t i64Index=0) const
virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray &flfaResult, int64_t i64Index=0) const
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray &flpaResult, int64_t i64Index=0) const
CRectangleGauge(const CRectangleGauge *pRg)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< double > *pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
Base::CFLArray< double > m_arrF64MarginRatio
Definition RectangleGauge.h:1833
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< double > *pFlrRegion, const double f64Tolerance=40.)
ETransitionChoice m_eTransitionChoice
Definition RectangleGauge.h:1855
virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray &flpaResult, int64_t i64Index=0) const
virtual const Base::CFLArray< double > GetMeasurementMarginRatio() const
CRectangleGauge(const CRectangleGauge &rg)
virtual const CResult EnableOptimalFitting(bool bEnable=true)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int64_t > &flpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int32_t > &flrRegion, const double f64Tolerance=40.)
ETolerance
Definition RectangleGauge.h:334
@ ETolerance_TopSide_Bottom
Definition RectangleGauge.h:351
@ ETolerance_BottomSide_Both
Definition RectangleGauge.h:414
@ ETolerance_RightSide_Both
Definition RectangleGauge.h:387
@ ETolerance_TopSide_Both
Definition RectangleGauge.h:360
@ ETolerance_LeftSide_Left
Definition RectangleGauge.h:423
@ ETolerance_All
Definition RectangleGauge.h:450
@ ETolerance_BottomSide_Bottom
Definition RectangleGauge.h:396
@ ETolerance_LeftSide_Right
Definition RectangleGauge.h:432
@ ETolerance_LeftSide_Both
Definition RectangleGauge.h:441
@ ETolerance_BottomSide_Top
Definition RectangleGauge.h:405
@ ETolerance_RightSide_Left
Definition RectangleGauge.h:378
@ ETolerance_RightSide_Right
Definition RectangleGauge.h:369
@ ETolerance_TopSide_Top
Definition RectangleGauge.h:342
virtual const CResult EnableRegression(bool bEnable=true)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< float > &flpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int64_t > &flrRegion, const double f64Tolerance=40.)
virtual const Foundation::CFLFigureArray GetActualMeasurementRegion()
virtual bool IsLicenseAvailable() const override
현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
bool m_bOptimalFitting
Definition RectangleGauge.h:1893
virtual ESearchDirection GetSearchDirection() const
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< float > &flrRegion, const double f64Tolerance=40.)
virtual const CResult SetTransitionType(ETransitionType eTransitionType=ETransitionType_DarkToBrightOrBrightToDark)
ETransitionType
Definition RectangleGauge.h:56
@ ETransitionType_DarkToBright
Definition RectangleGauge.h:64
@ ETransitionType_BrightToDark
Definition RectangleGauge.h:73
@ ETransitionType_DarkToBrightToDark
Definition RectangleGauge.h:91
@ ETransitionType_DarkToBrightOrBrightToDark
Definition RectangleGauge.h:82
@ ETransitionType_DarkToBrightToDarkOrBrightToDarkToBright
Definition RectangleGauge.h:109
@ ETransitionType_BrightToDarkToBright
Definition RectangleGauge.h:100
int64_t m_i64Thickness
Definition RectangleGauge.h:1800
virtual const CResult Assign(const CRectangleGauge &aib)
virtual const CResult SetOutliersThresholdCount(int64_t i64OutliersThresholdCount=3)
virtual const bool IsOptimalFittingEnabled() const
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< double > &flrRegion, const double f64Tolerance=40.)
virtual const CResult GetMeasuredScore(double &f64Score, int64_t i64Index=0) const
virtual const CResult SetTolerance(double f64Tolerance=40., ETolerance eTolerance=ETolerance_All)
virtual const CResult SetThreshold(double f64Threshold=20)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< double > &flpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
virtual const Foundation::CFLRect< double > GetMeasurementRegion() const
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int32_t > &flpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
Foundation::CFLRect< double > m_flrMeasurementRect
Definition RectangleGauge.h:1811
virtual const CResult SetOutliersThreshold(double f64OutliersThreshold=3.)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
virtual int64_t GetOutliersThresholdCount() const
const CRectangleGauge & operator=(const CRectangleGauge &rg)
virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray &flpaResult, int64_t i64Index=0) const
virtual const CResult SetMinimumAmplitude(double f64MinimumAmplitude=10)
virtual const Base::CFLArray< double > GetTolerance() const
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int64_t > *pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
virtual const CResult SetSamplingStep(double f64SamplingStep=5.)
int64_t m_i64OutliersThresholdCount
Definition RectangleGauge.h:1791
ETransitionType m_eTransitionType
Definition RectangleGauge.h:1844
ESearchDirection m_eSearchDirection
Definition RectangleGauge.h:1884
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int32_t > *pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
EMargin
Definition RectangleGauge.h:206
@ EMargin_All
Definition RectangleGauge.h:322
@ EMargin_BottomSide_Left
Definition RectangleGauge.h:277
@ EMargin_LeftSide_Both
Definition RectangleGauge.h:313
@ EMargin_LeftSide_Bottom
Definition RectangleGauge.h:295
@ EMargin_LeftSide_Top
Definition RectangleGauge.h:304
@ EMargin_RightSide_Top
Definition RectangleGauge.h:241
@ EMargin_TopSide_Right
Definition RectangleGauge.h:223
@ EMargin_RightSide_Both
Definition RectangleGauge.h:259
@ EMargin_BottomSide_Both
Definition RectangleGauge.h:286
@ EMargin_BottomSide_Right
Definition RectangleGauge.h:268
@ EMargin_TopSide_Left
Definition RectangleGauge.h:214
@ EMargin_RightSide_Bottom
Definition RectangleGauge.h:250
@ EMargin_TopSide_Both
Definition RectangleGauge.h:232
virtual const CResult SetSearchDirection(ESearchDirection eSearchDirection=ESearchDirection_InsideToOutside)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int64_t > *pFlrRegion, const double f64Tolerance=40.)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
virtual const CResult GetMeasuredObject(Foundation::CFLRect< double > &flrMeasuredObject, int64_t i64Index=0) const
virtual const CResult GetMeasuredProfile(Base::CFLArray< double > &flaProfile, Base::CFLArray< double > &flaDerivative, double &f64Actual)
double m_f64SamplingStep
Definition RectangleGauge.h:1773
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int32_t > *pFlrRegion, const double f64Tolerance=40.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< float > *pFlrRegion, const double f64Tolerance=40.)
virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
ESearchDirection
Definition RectangleGauge.h:177
@ ESearchDirection_OutsideToInside
Definition RectangleGauge.h:194
@ ESearchDirection_InsideToOutside
Definition RectangleGauge.h:185
virtual const CResult SetMeasurementMarginRatio(double f64Ratio=0., EMargin eMargin=EMargin_All)
virtual const CResult SetTransitionChoice(ETransitionChoice eTransitionChoice=ETransitionChoice_LargestAmplitude)
virtual ETransitionChoice GetTransitionChoice() const
double m_f64MinimumAmplitude
Definition RectangleGauge.h:1764
virtual const CResult GetMeasuredScore(double *pF64Score, int64_t i64Index=0) const
ETransitionChoice
Definition RectangleGauge.h:121
@ ETransitionChoice_Closest
Definition RectangleGauge.h:147
@ ETransitionChoice_LargestArea
Definition RectangleGauge.h:165
@ ETransitionChoice_End
Definition RectangleGauge.h:138
@ ETransitionChoice_Begin
Definition RectangleGauge.h:129
@ ETransitionChoice_LargestAmplitude
Definition RectangleGauge.h:156
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< float > *pFlpCenter, const double f64Width, const double f64Height, const double f64Tolerance=40., const double f64Angle=0.0)
bool m_bEnable
Definition RectangleGauge.h:1873
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
double m_f64Threshold
Definition RectangleGauge.h:1755
virtual const CResult Assign(const CRectangleGauge *pAib)
Template type 의 배열 클래스.
Definition FLArray.h:53
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
도형 배열을 표현하는 클래스
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