FLImaging 7.8.25.3
RectangleGauge.h
1#pragma once
2
3#include "DefinitionsAdvancedFunctions.h"
4
20
21
23namespace FLImaging
24{
26 namespace AdvancedFunctions
27 {
28 class CInternalRectangleGauge;
29
46 {
47 public:
48
58 {
67
76
85
94
103
112 };
113
123 {
132
141
150
159
168 };
169
179 {
188
197 };
198
208 {
217
226
235
244
253
262
271
280
289
298
307
316
325 };
326
336 {
345
354
363
372
381
390
399
408
417
426
435
444
453 };
454
463
472
481
490
499
513 virtual const CResult Assign(const CRectangleGauge& aib);
514
528 virtual const CResult Assign(const CRectangleGauge* pAib);
529
541 virtual const CResult Execute();
542
554 virtual const CResult Clear();
555
579 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int32_t>& flpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
580
604 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int32_t>* pFlpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
605
629 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int64_t>& flpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
630
654 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<int64_t>* pFlpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
655
679 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<float>& flpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
680
704 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<float>* pFlpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
705
729 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<double>& flpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
730
754 virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint<double>* pFlpCenter, double f64Width, double f64Height, double f64Tolerance = 40., double f64Angle = 0.0);
755
773 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int32_t>& flrRegion, double f64Tolerance = 40.);
774
792 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int32_t>* pFlrRegion, double f64Tolerance = 40.);
793
811 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int64_t>& flrRegion, double f64Tolerance = 40.);
812
830 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<int64_t>* pFlrRegion, double f64Tolerance = 40.);
831
849 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<float>& flrRegion, double f64Tolerance = 40.);
850
868 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<float>* pFlrRegion, double f64Tolerance = 40.);
869
887 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<double>& flrRegion, double f64Tolerance = 40.);
888
906 virtual const CResult SetMeasurementRegion(const Foundation::CFLRect<double>* pFlrRegion, double f64Tolerance = 40.);
907
920
938 virtual const CResult SetTolerance(double f64Tolerance = 40., ETolerance eTolerance = ETolerance_All);
939
957
983 virtual const CResult SetMeasurementMarginRatio(double f64Ratio = 0., EMargin eMargin = EMargin_All);
984
1001
1018
1031
1048
1061
1078
1091
1105 virtual const CResult SetThreshold(double f64Threshold = 20);
1106
1116 virtual double GetThreshold() const;
1117
1131 virtual const CResult SetMinimumAmplitude(double f64MinimumAmplitude = 10);
1132
1142 virtual double GetMinimumAmplitude() const;
1143
1157 virtual const CResult SetSamplingStep(double f64SamplingStep = 5.);
1158
1168 virtual double GetSamplingStep() const;
1169
1183 virtual const CResult EnableClusterMode(bool bEnable = true);
1184
1194 virtual bool IsClusterModeEnabled() const;
1195
1248
1262 virtual const CResult SetOutliersThreshold(double f64OutliersThreshold = 3.);
1263
1273 virtual double GetOutliersThreshold() const;
1274
1288 virtual const CResult SetOutliersThresholdCount(int64_t i64OutliersThresholdCount = 3);
1289
1299 virtual int64_t GetOutliersThresholdCount() const;
1300
1314 virtual const CResult SetThickness(int64_t i64Thickness = 1);
1315
1325 virtual int64_t GetThickness() const;
1326
1340 virtual const CResult EnableRegression(bool bEnable = true);
1341
1351 virtual const bool IsRegressionEnabled();
1352
1366 virtual const CResult EnableOptimalFitting(bool bEnable = true);
1367
1377 virtual const bool IsOptimalFittingEnabled() const;
1378
1392 virtual const CResult EnableAccurateMode(bool bAccurateMode = false);
1393
1403 virtual bool IsAccurateModeEnabled() const;
1404
1422 virtual const Foundation::CFLRect<double> GetMeasuredObject(int64_t i64Index = 0) const;
1423
1445 virtual const CResult GetMeasuredObject(Foundation::CFLRect<double>& flrMeasuredObject, int64_t i64Index = 0) const;
1446
1468 virtual const CResult GetMeasuredObject(Foundation::CFLRect<double>* pFlrMeasuredObject, int64_t i64Index = 0) const;
1469
1491 virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1513 virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1535 virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1557 virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1558
1576 const CResult GetMeasuredTransitionOfValidPoints(Base::CFLArray<int32_t>& flaResult, int64_t i64Index = 0) const;
1594 const CResult GetMeasuredTransitionOfValidPoints(Base::CFLArray<int32_t>* pFlaResult, int64_t i64Index = 0) const;
1595
1617 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1639 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1661 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1683 virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1684
1702 const CResult GetMeasuredTransitionOfInvalidPoints(Base::CFLArray<int32_t>& flaResult, int64_t i64Index = 0) const;
1720 const CResult GetMeasuredTransitionOfInvalidPoints(Base::CFLArray<int32_t>* pFlaResult, int64_t i64Index = 0) const;
1721
1743 virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray& flfaResult, int64_t i64Index = 0) const;
1765 virtual const CResult GetMeasuredPoints(Foundation::CFLFigureArray* pFlfaResult, int64_t i64Index = 0) const;
1787 virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray& flpaResult, int64_t i64Index = 0) const;
1809 virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray* pFlpaResult, int64_t i64Index = 0) const;
1810
1828 const CResult GetMeasuredTransition(Base::CFLArray<int32_t>& flaResult, int64_t i64Index = 0) const;
1846 const CResult GetMeasuredTransition(Base::CFLArray<int32_t>* pFlaResult, int64_t i64Index = 0) const;
1847
1867 virtual const CResult GetMeasuredScore(double* pF64Score, int64_t i64Index = 0) const;
1868
1888 virtual const CResult GetMeasuredScore(double& f64Score, int64_t i64Index = 0) const;
1889
1902
1922 virtual const CResult GetMeasuredProfile(Base::CFLArray<double>& flaProfile, Base::CFLArray<double>& flaDerivative, double& f64MeasuredAverageDistance);
1923
1924 virtual bool IsLicenseAvailable() const override;
1925
1926
1927 DeclareGetClassType();
1928 SupportToDuplicateObject(CRectangleGauge, *this);
1929
1930 protected:
1939
1948
1957
1966
1975
1984
1995
2006
2017
2028
2039
2050
2059
2068
2079
2088
2097
2098 protected:
2099 friend class CInternalRectangleGauge;
2100
2101 CInternalRectangleGauge* m_pInternal;
2102 };
2103 }
2104}
2105
virtual const CResult GetMeasuredObject(Foundation::CFLRect< double > *pFlrMeasuredObject, int64_t i64Index=0) const
Base::CFLArray< double > m_arrF64Tolerance
Definition RectangleGauge.h:2005
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< double > &flpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
virtual const Foundation::CFLRect< double > GetMeasuredObject(int64_t i64Index=0) const
double m_f64OutliersThreshold
Definition RectangleGauge.h:1965
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int64_t > *pFlpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< float > &flrRegion, double f64Tolerance=40.)
bool m_bClusterMode
Definition RectangleGauge.h:2058
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int64_t > *pFlrRegion, double f64Tolerance=40.)
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
const CResult GetMeasuredTransitionOfValidPoints(Base::CFLArray< int32_t > &flaResult, 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
bool m_bAccurateMode
Definition RectangleGauge.h:2096
CRectangleGauge(const CRectangleGauge *pRg)
Base::CFLArray< double > m_arrF64MarginRatio
Definition RectangleGauge.h:2016
ETransitionChoice m_eTransitionChoice
Definition RectangleGauge.h:2049
virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray &flpaResult, int64_t i64Index=0) const
virtual const Base::CFLArray< double > GetMeasurementMarginRatio() const
const CResult GetMeasuredTransitionOfValidPoints(Base::CFLArray< int32_t > *pFlaResult, int64_t i64Index=0) const
CRectangleGauge(const CRectangleGauge &rg)
virtual const CResult EnableOptimalFitting(bool bEnable=true)
const CResult GetMeasuredTransitionOfInvalidPoints(Base::CFLArray< int32_t > *pFlaResult, int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int32_t > &flrRegion, double f64Tolerance=40.)
ETolerance
Definition RectangleGauge.h:336
@ ETolerance_TopSide_Bottom
Definition RectangleGauge.h:353
@ ETolerance_BottomSide_Both
Definition RectangleGauge.h:416
@ ETolerance_RightSide_Both
Definition RectangleGauge.h:389
@ ETolerance_TopSide_Both
Definition RectangleGauge.h:362
@ ETolerance_LeftSide_Left
Definition RectangleGauge.h:425
@ ETolerance_All
Definition RectangleGauge.h:452
@ ETolerance_BottomSide_Bottom
Definition RectangleGauge.h:398
@ ETolerance_LeftSide_Right
Definition RectangleGauge.h:434
@ ETolerance_LeftSide_Both
Definition RectangleGauge.h:443
@ ETolerance_BottomSide_Top
Definition RectangleGauge.h:407
@ ETolerance_RightSide_Left
Definition RectangleGauge.h:380
@ ETolerance_RightSide_Right
Definition RectangleGauge.h:371
@ ETolerance_TopSide_Top
Definition RectangleGauge.h:344
virtual const CResult SetOutlierFilteringMode(EGaugeOutlierFilteringMode eOutlierFilteringMode=EGaugeOutlierFilteringMode_Manual)
virtual const CResult EnableRegression(bool bEnable=true)
virtual const Foundation::CFLFigureArray GetActualMeasurementRegion()
virtual bool IsLicenseAvailable() const override
Returns whether the algorithm can be used with the current license.
bool m_bOptimalFitting
Definition RectangleGauge.h:2087
virtual ESearchDirection GetSearchDirection() const
virtual const CResult SetTransitionType(ETransitionType eTransitionType=ETransitionType_DarkToBrightOrBrightToDark)
EGaugeOutlierFilteringMode m_eOutlierFilteringMode
Definition RectangleGauge.h:2027
ETransitionType
Definition RectangleGauge.h:58
@ ETransitionType_DarkToBright
Definition RectangleGauge.h:66
@ ETransitionType_BrightToDark
Definition RectangleGauge.h:75
@ ETransitionType_DarkToBrightToDark
Definition RectangleGauge.h:93
@ ETransitionType_DarkToBrightOrBrightToDark
Definition RectangleGauge.h:84
@ ETransitionType_DarkToBrightToDarkOrBrightToDarkToBright
Definition RectangleGauge.h:111
@ ETransitionType_BrightToDarkToBright
Definition RectangleGauge.h:102
int64_t m_i64Thickness
Definition RectangleGauge.h:1983
virtual const CResult EnableAccurateMode(bool bAccurateMode=false)
virtual const CResult Assign(const CRectangleGauge &aib)
const CResult GetMeasuredTransition(Base::CFLArray< int32_t > &flaResult, int64_t i64Index=0) const
virtual const CResult SetOutliersThresholdCount(int64_t i64OutliersThresholdCount=3)
virtual const bool IsOptimalFittingEnabled() const
virtual const CResult GetMeasuredScore(double &f64Score, int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< float > &flpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< int64_t > &flrRegion, double f64Tolerance=40.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int32_t > &flpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
virtual const CResult SetTolerance(double f64Tolerance=40., ETolerance eTolerance=ETolerance_All)
virtual const CResult SetThreshold(double f64Threshold=20)
virtual const Foundation::CFLRect< double > GetMeasurementRegion() const
const CResult GetMeasuredTransition(Base::CFLArray< int32_t > *pFlaResult, int64_t i64Index=0) const
Foundation::CFLRect< double > m_flrMeasurementRect
Definition RectangleGauge.h:1994
virtual const CResult SetOutliersThreshold(double f64OutliersThreshold=3.)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< double > &flrRegion, double f64Tolerance=40.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int32_t > *pFlpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
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 SetMeasurementRegion(const Foundation::CFLRect< int32_t > *pFlrRegion, double f64Tolerance=40.)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< float > *pFlpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< float > *pFlrRegion, double f64Tolerance=40.)
virtual const CResult GetMeasuredInvalidPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
virtual const CResult SetSamplingStep(double f64SamplingStep=5.)
int64_t m_i64OutliersThresholdCount
Definition RectangleGauge.h:1974
ETransitionType m_eTransitionType
Definition RectangleGauge.h:2038
ESearchDirection m_eSearchDirection
Definition RectangleGauge.h:2078
virtual const CResult GetMeasuredProfile(Base::CFLArray< double > &flaProfile, Base::CFLArray< double > &flaDerivative, double &f64MeasuredAverageDistance)
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< int64_t > &flpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
EMargin
Definition RectangleGauge.h:208
@ EMargin_All
Definition RectangleGauge.h:324
@ EMargin_BottomSide_Left
Definition RectangleGauge.h:279
@ EMargin_LeftSide_Both
Definition RectangleGauge.h:315
@ EMargin_LeftSide_Bottom
Definition RectangleGauge.h:297
@ EMargin_LeftSide_Top
Definition RectangleGauge.h:306
@ EMargin_RightSide_Top
Definition RectangleGauge.h:243
@ EMargin_TopSide_Right
Definition RectangleGauge.h:225
@ EMargin_RightSide_Both
Definition RectangleGauge.h:261
@ EMargin_BottomSide_Both
Definition RectangleGauge.h:288
@ EMargin_BottomSide_Right
Definition RectangleGauge.h:270
@ EMargin_TopSide_Left
Definition RectangleGauge.h:216
@ EMargin_RightSide_Bottom
Definition RectangleGauge.h:252
@ EMargin_TopSide_Both
Definition RectangleGauge.h:234
virtual const CResult SetMeasurementRegion(const Foundation::CFLPoint< double > *pFlpCenter, double f64Width, double f64Height, double f64Tolerance=40., double f64Angle=0.0)
virtual const CResult SetMeasurementRegion(const Foundation::CFLRect< double > *pFlrRegion, double f64Tolerance=40.)
virtual EGaugeOutlierFilteringMode GetOutlierFilteringMode() const
virtual const CResult SetSearchDirection(ESearchDirection eSearchDirection=ESearchDirection_InsideToOutside)
virtual const CResult GetMeasuredValidPoints(Foundation::CFLFigureArray *pFlfaResult, int64_t i64Index=0) const
virtual const CResult EnableClusterMode(bool bEnable=true)
virtual const CResult GetMeasuredObject(Foundation::CFLRect< double > &flrMeasuredObject, int64_t i64Index=0) const
double m_f64SamplingStep
Definition RectangleGauge.h:1956
const CResult GetMeasuredTransitionOfInvalidPoints(Base::CFLArray< int32_t > &flaResult, int64_t i64Index=0) const
virtual const CResult GetMeasuredPoints(Foundation::CFLPointArray *pFlpaResult, int64_t i64Index=0) const
ESearchDirection
Definition RectangleGauge.h:179
@ ESearchDirection_OutsideToInside
Definition RectangleGauge.h:196
@ ESearchDirection_InsideToOutside
Definition RectangleGauge.h:187
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:1947
virtual const CResult GetMeasuredScore(double *pF64Score, int64_t i64Index=0) const
ETransitionChoice
Definition RectangleGauge.h:123
@ ETransitionChoice_Closest
Definition RectangleGauge.h:149
@ ETransitionChoice_LargestArea
Definition RectangleGauge.h:167
@ ETransitionChoice_End
Definition RectangleGauge.h:140
@ ETransitionChoice_Begin
Definition RectangleGauge.h:131
@ ETransitionChoice_LargestAmplitude
Definition RectangleGauge.h:158
bool m_bEnable
Definition RectangleGauge.h:2067
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:1938
virtual const CResult Assign(const CRectangleGauge *pAib)
Template type array class.
Definition FLArray.h:71
FLImaging module execution result object.
Definition ResultsDef.h:1704
A base class representing array of figure.
Definition FLFigureArray.h:27
A base class representing array of figure.
Definition FLPointArray.h:26
A class representing a point.
Definition FLPoint.h:24
A class representing a rectangle.
Definition FLRect.h:24
Base class of image processing classes Base of imaging algorithm classes, has common getter/setter.
Definition AlgorithmFeature_SR.h:31
Definition AlgorithmFeature_DI_BAT_CI.h:15
EGaugeOutlierFilteringMode
Definition DefinitionsAdvancedFunctions.h:901
@ EGaugeOutlierFilteringMode_Manual
Definition DefinitionsAdvancedFunctions.h:906