23#include "DefinitionsAdvancedFunctions.h"
24#include "AlgorithmFeature_SR_LI_LR_LP.h"
32 class CInternalGeometricMatch;
3064 DeclareGetClassType();
3401 friend class CInternalGeometricMatch;
3403 CInternalGeometricMatch* m_pInternal;
virtual const CResult Save(const Base::CFLString< wchar_t > &strPatternFile)
int64_t m_i64MaxObject
Definition GeometricMatch.h:3102
virtual EGuideShapeProcessingMethod GetGuideShapeProcessingMethod() const
virtual const CResult SortClusterMode(ESortClusterModeMethod eMethod, double f64Coefficient=.5)
virtual const CResult GetLearnedGuideShape(Foundation::CFLFigureArray *pFlfaGuideShape, double &f64Weight, double &f64Tolerance, int64_t i64Index=0) const
virtual const CResult SetScaleRange(double f64ScaleMin=1., double f64ScaleMax=1.)
virtual const CResult ClearLearnedData()
double m_f64Overlap
Definition GeometricMatch.h:3174
EGuideShapeProcessingMethod m_eGuideShapeProcessingMethod
Definition GeometricMatch.h:3282
EOrder
Definition GeometricMatch.h:276
@ EOrder_Ascending
Definition GeometricMatch.h:281
@ EOrder_Descending
Definition GeometricMatch.h:287
virtual const CResult GetLearnedPivot(Foundation::CFLPoint< double > *pFlpPivot) const
virtual const CResult ReportToCSV(const CReportDescriptorForGeometricMatch *pWrd) const
const CGeometricMatch & operator=(const CGeometricMatch &pm)
virtual const CResult SetAngleBias(double f64AngleBias=.0)
EWeightROIProcessingMethod
Definition GeometricMatch.h:633
@ EWeightROIProcessingMethod_LowestValue
Definition GeometricMatch.h:683
@ EWeightROIProcessingMethod_SumValue
Definition GeometricMatch.h:719
@ EWeightROIProcessingMethod_DescendingOrder
Definition GeometricMatch.h:666
@ EWeightROIProcessingMethod_HighestValue
Definition GeometricMatch.h:700
@ EWeightROIProcessingMethod_AscendingOrder
Definition GeometricMatch.h:649
virtual const CResult Load(const Base::CFLString< wchar_t > &strPatternFile)
EJudgementLevel
Definition GeometricMatch.h:587
@ EJudgementLevel_Rough
Definition GeometricMatch.h:613
@ EJudgementLevel_Normal
Definition GeometricMatch.h:604
@ EJudgementLevel_Tight
Definition GeometricMatch.h:595
virtual const int64_t GetLearnWeightROICount() const
double m_f64InvisibleRatio
Definition GeometricMatch.h:3156
virtual const CResult SetAngleTolerance(double f64AngleTolerance=.0)
virtual double GetLearnThresholdCoefficient() const
virtual const CResult SetSortItem(CGeometricMatch::EFilterItem eSortItem, CGeometricMatch::EOrder eOrder)
virtual const CResult Filter(EFilterItem eItem, double f64Value, Base::ELogicalCondition eCondition)
double m_f64MinimumDetectionScore
Definition GeometricMatch.h:3111
virtual const CResult GetResultRegion(int64_t i64Index, Foundation::CFLFigureArray *pFlfaResultRegion) const
virtual const CResult GetResultDetectedFeature(int64_t i64Index, Foundation::CFLFigureArray &flfaResultFeaturePoints) const
virtual EWeightROIProcessingMethod GetWeightROIProcessingMethod() const
virtual const Foundation::CFLFigureArray GetLearnedGuideShape() const
Base::CFLArray< double > m_flaFilterValue
Definition GeometricMatch.h:3335
virtual const CResult GetLearnedROI(Foundation::CFLFigureArray *pFlfaLearnedROI) const
virtual EOptimizationOption GetOptimizationOption() const
virtual int64_t GetResultCount() const
virtual const CResult GetFilterItem(Base::CFLArray< int32_t > &flaFilterItem, Base::CFLArray< double > &flaValue, Base::CFLArray< int32_t > &flaFilterCondition) const
double m_f64LearnThreshold
Definition GeometricMatch.h:3093
virtual const CResult SetFeatureCount(int64_t i64FeatureCount=2048)
virtual const CResult GetResultScore(int64_t i64Index, float &f32ResultScore) const
EFilterItem
Definition GeometricMatch.h:219
@ EFilterItem_Scale
Definition GeometricMatch.h:236
@ EFilterItem_RegionCenterX
Definition GeometricMatch.h:248
@ EFilterItem_RegionCenterY
Definition GeometricMatch.h:254
@ EFilterItem_PivotX
Definition GeometricMatch.h:260
@ EFilterItem_PivotY
Definition GeometricMatch.h:266
@ EFilterItem_Angle
Definition GeometricMatch.h:242
@ EFilterItem_Unselected
Definition GeometricMatch.h:224
@ EFilterItem_Score
Definition GeometricMatch.h:230
static const CResult GetLearnedFileVersion(Base::CFLString< wchar_t > strPatternFile, int32_t &i32MajorVer, int32_t &i32MinorVer)
virtual const CResult GetLearnedPivot(Foundation::CFLPoint< double > &flpPivot) const
double m_f64FindThreshold
Definition GeometricMatch.h:3165
virtual const CResult AddSortItem(const Base::CFLArray< int32_t > &flaItem, const Base::CFLArray< int32_t > &flaOrder)
ECoordinateOrigin
Definition GeometricMatch.h:842
@ ECoordinateOrigin_Image
Definition GeometricMatch.h:850
@ ECoordinateOrigin_ROI
Definition GeometricMatch.h:863
Base::CFLArray< double > m_arrGuideWeight
Definition GeometricMatch.h:3249
virtual const CResult GetLearnedGuideShape(Foundation::CFLFigureArray &flfaGuideShape, double &f64Weight, double &f64Tolerance, int64_t i64Index=0) const
virtual const CResult GetLearnWeightROI(Foundation::CFLFigureArray *pFlfaWeightROI, double &f64Weight, int64_t i64Index=0) const
virtual const EScoreMode GetScoreMode() const
virtual double GetInvisibleRegionEstimation() const
int64_t m_i64FeatureCount
Definition GeometricMatch.h:3075
virtual const int64_t GetLearnedWeightROICount() const
virtual const CResult Assign(const CGeometricMatch *pAib)
EOptimizationOption
Definition GeometricMatch.h:453
@ EOptimizationOption_Normal
Definition GeometricMatch.h:470
@ EOptimizationOption_Fast
Definition GeometricMatch.h:461
@ EOptimizationOption_Accurate
Definition GeometricMatch.h:479
EScoreMode
Definition GeometricMatch.h:529
@ EScoreMode_Model
Definition GeometricMatch.h:537
@ EScoreMode_Target
Definition GeometricMatch.h:546
virtual const CResult SetGuideShapeProcessingMethod(EGuideShapeProcessingMethod eMethod=EGuideShapeProcessingMethod_AscendingOrder)
virtual const CResult AddLearnWeightROI(Foundation::CFLFigure *pFlfWeightROI, double f64Weight=1.)
virtual const CResult SetFindThresholdCoefficient(double f64ThresCoeff=1.0)
CGeometricMatch(const CGeometricMatch &pg)
virtual const CResult GetSortItem(CGeometricMatch::EFilterItem &eSortItem, CGeometricMatch::EOrder &eOrder) const
virtual const CResult GetScaleRange(double &f64ScaleMin, double &f64ScaleMax) const
virtual bool IsLicenseAvailable() const override
Returns whether the algorithm can be used with the current license.
EScoreMode m_eScoreMode
Definition GeometricMatch.h:3227
double m_f64SortClusterCoefficient
Definition GeometricMatch.h:3397
double m_f64ScaleMin
Definition GeometricMatch.h:3120
double m_f64FeatureFilter
Definition GeometricMatch.h:3084
virtual double GetFindThresholdCoefficient() const
virtual const CResult SetMinimumDetectionScore(double f64Score=.5)
virtual const CResult GetLearnWeightROI(Foundation::CFLFigureArray &flfaWeightROI, double &f64Weight, int64_t i64Index=0) const
virtual const CResult SetLearnReductionLevel(int32_t i32Level=0)
virtual const CResult GetLearnedROI(Base::CFLString< wchar_t > *pStrLearnROI) const
EGuideShapeProcessingMethod
Definition GeometricMatch.h:739
@ EGuideShapeProcessingMethod_HighestValue
Definition GeometricMatch.h:806
@ EGuideShapeProcessingMethod_SumValue
Definition GeometricMatch.h:825
@ EGuideShapeProcessingMethod_AscendingOrder
Definition GeometricMatch.h:755
@ EGuideShapeProcessingMethod_DescendingOrder
Definition GeometricMatch.h:772
@ EGuideShapeProcessingMethod_LowestValue
Definition GeometricMatch.h:789
bool m_bInterpolation
Definition GeometricMatch.h:3183
virtual const CResult ClearSortItem()
EOptimizationOption m_eOptimizationOption
Definition GeometricMatch.h:3194
virtual const CResult GetLearnedFeature(Foundation::CFLFigureArray *pFlfaFeaturePoints, ECoordinateOrigin eCoordinateOrigin=ECoordinateOrigin_Image) const
virtual const CResult GetResultPivot(int64_t i64Index, Foundation::CFLPoint< double > &flpResultPivot) const
virtual const CResult GetResultDetectedFeature(int64_t i64Index, Foundation::CFLFigureArray *pFlfaResultFeaturePoints) const
bool m_bSortClusterMode
Definition GeometricMatch.h:3377
virtual bool GetSortClusterMode(CGeometricMatch::ESortClusterModeMethod &eMethod, double &f64Coefficient) const
virtual bool IsInterpolationEnabled() const
virtual const CResult AddFilterItem(CGeometricMatch::EFilterItem eFilterItem, double f64Value, const Base::ELogicalCondition eFilterCondition)
virtual const Foundation::CFLFigureArray GetLearnGuideShape() const
double m_f64AngleBias
Definition GeometricMatch.h:3138
virtual const CResult GetLearnGuideShape(Foundation::CFLFigureArray *pFlfaGuideShape, double &f64Weight, double &f64Tolerance, int64_t i64Index=0) const
virtual const CResult Assign(const CGeometricMatch &aib)
virtual const CResult GetLearnedImageRaw(Base::CFLImage *pFliImage) const
virtual const CResult ClearFilterItem()
virtual const CResult Sort(EFilterItem eItem=EFilterItem_Unselected, EOrder eOrder=EOrder_Descending)
virtual const CResult AddLearnWeightROI(Foundation::CFLFigure &flfWeightROI, double f64Weight=1.)
virtual const CResult GetLearnedWeightROI(Foundation::CFLFigureArray &flfaWeightROI, double &f64Weight, int64_t i64Index=0) const
virtual const CResult GetResultRegion(int64_t i64Index, Foundation::CFLFigureArray &flfaResultRegion) const
virtual const CResult DeleteLearnWeightROI(int64_t i64Index=0)
virtual const CResult GetLearnGuideShape(Foundation::CFLFigureArray &flfaGuideShape, double &f64Weight, double &f64Tolerance, int64_t i64Index=0) const
virtual const CResult SetOptimizationOption(EOptimizationOption eOption=CGeometricMatch::EOptimizationOption_Fast)
Foundation::CFLFigureArray m_flfaGuideShapes
Definition GeometricMatch.h:3238
virtual const CResult GetResultDetectedValidFeature(int64_t i64Index, Foundation::CFLFigureArray &flfaResultFeaturePoints) const
virtual const CResult GetResultRegionLocation(int64_t i64Index, Foundation::CFLPoint< double > &flpResultLocation) const
virtual const CResult GetResultDetectedInvalidFeature(int64_t i64Index, Foundation::CFLFigureArray &flfaResultFeaturePoints) const
virtual const CResult SetMaxObject(int64_t i64MaxObject=1)
virtual double GetAngleTolerance() const
Base::CFLArray< double > m_arrGuideTolerance
Definition GeometricMatch.h:3260
EReductionMode m_eReductionMode
Definition GeometricMatch.h:3293
virtual const CResult SetScoreMode(EScoreMode eMode=EScoreMode_Model)
virtual const CResult EnableInterpolation(bool bEnable=true)
virtual const CResult GetLearnedROI(Foundation::CFLFigureArray &flfaLearnedROI) const
virtual CGeometricMatch::ECandidateExtraction GetCandidateExtraction() const
virtual const CResult ClearResultData()
virtual const CResult SetWeightROIProcessingMethod(EWeightROIProcessingMethod eMethod=EWeightROIProcessingMethod_AscendingOrder)
double m_f64AngleTolerance
Definition GeometricMatch.h:3147
virtual const CResult GetLearnedImage(Base::CFLImage *pFliImage, bool bIncludeFigure=false) const
virtual const CResult Sort(const Base::CFLArray< int32_t > &flaItem, const Base::CFLArray< int32_t > &flaOrder)
virtual const CResult GetLearnedROI(Base::CFLString< wchar_t > &strLearnROI) const
virtual const CResult GetLearnedWeightROI(Foundation::CFLFigureArray *pFlfaWeightROI, double &f64Weight, int64_t i64Index=0) const
virtual const CResult GetSortItem(Base::CFLArray< int32_t > &flaItem, Base::CFLArray< int32_t > &flaOrder) const
virtual const int64_t GetLearnGuideShapeCount() const
virtual const CResult Execute()
virtual const CResult SetCandidateExtraction(ECandidateExtraction eOption=CGeometricMatch::ECandidateExtraction_Normal)
virtual const CResult AddFilterItem(const Base::CFLArray< int32_t > &flaFilterItem, const Base::CFLArray< double > &flaValue, const Base::CFLArray< int32_t > &flaFilterCondition)
virtual double GetFeatureFiltering() const
Base::CFLArray< int32_t > m_flaFilterItem
Definition GeometricMatch.h:3324
virtual const CResult GetLearnedFeature(Foundation::CFLFigureArray &flfaFeaturePoints, ECoordinateOrigin eCoordinateOrigin=ECoordinateOrigin_Image) const
EJudgementLevel m_eJudgementLevel
Definition GeometricMatch.h:3313
ESortClusterModeMethod
Definition GeometricMatch.h:298
@ ESortClusterModeMethod_RegionCenter_X_Desc_Y_Desc
Definition GeometricMatch.h:369
@ ESortClusterModeMethod_Pivot_Y_Asc_X_Desc
Definition GeometricMatch.h:387
@ ESortClusterModeMethod_Pivot_X_Asc_Y_Asc
Definition GeometricMatch.h:414
@ ESortClusterModeMethod_RegionCenter_X_Desc_Y_Asc
Definition GeometricMatch.h:360
@ ESortClusterModeMethod_RegionCenter_Y_Asc_X_Asc
Definition GeometricMatch.h:306
@ ESortClusterModeMethod_Pivot_X_Asc_Y_Desc
Definition GeometricMatch.h:423
@ ESortClusterModeMethod_Pivot_X_Desc_Y_Asc
Definition GeometricMatch.h:432
@ ESortClusterModeMethod_RegionCenter_Y_Asc_X_Desc
Definition GeometricMatch.h:315
@ ESortClusterModeMethod_Pivot_X_Desc_Y_Desc
Definition GeometricMatch.h:441
@ ESortClusterModeMethod_RegionCenter_X_Asc_Y_Asc
Definition GeometricMatch.h:342
@ ESortClusterModeMethod_RegionCenter_X_Asc_Y_Desc
Definition GeometricMatch.h:351
@ ESortClusterModeMethod_Pivot_Y_Asc_X_Asc
Definition GeometricMatch.h:378
@ ESortClusterModeMethod_Pivot_Y_Desc_X_Desc
Definition GeometricMatch.h:405
@ ESortClusterModeMethod_RegionCenter_Y_Desc_X_Desc
Definition GeometricMatch.h:333
@ ESortClusterModeMethod_Pivot_Y_Desc_X_Asc
Definition GeometricMatch.h:396
@ ESortClusterModeMethod_RegionCenter_Y_Desc_X_Asc
Definition GeometricMatch.h:324
virtual const CResult GetLearnedImage(Base::CFLImage &fliImage, bool bIncludeFigure=false) const
virtual const CResult ClearLearnWeightROI()
EReductionMode
Definition GeometricMatch.h:558
@ EReductionMode_NearestNeighbor
Definition GeometricMatch.h:566
@ EReductionMode_Area
Definition GeometricMatch.h:575
virtual bool IsLearned() const
virtual const CResult SetInvisibleRegionEstimation(double f64InvisibleRatio=1.25)
virtual const CResult GetResult(int64_t i64Index, CGeometricMatch::SResult &sResult) const
virtual ~CGeometricMatch()
virtual const CResult SetSortItem(const Base::CFLArray< int32_t > &flaItem, const Base::CFLArray< int32_t > &flaOrder)
virtual const CResult SetFilterItem(const Base::CFLArray< int32_t > &flaFilterItem, const Base::CFLArray< double > &flaValue, const Base::CFLArray< int32_t > &flaFilterCondition)
virtual const CResult GetFilterItem(CGeometricMatch::EFilterItem &eFilterItem, double &f64Value, Base::ELogicalCondition &eFilterCondition) const
virtual const CResult ReportToCSV(const Foundation::CReportDescriptor *pWrd) const override
The execution result of the algorithm is recorded in a file according to the options recorded in the ...
virtual const CResult SetSortClusterMode(CGeometricMatch::ESortClusterModeMethod eMethod, double f64Coefficient)
virtual const EMatchContrastOption GetContrastOption() const
virtual double GetObjectOverlap() const
virtual const CResult SetContrastOption(EMatchContrastOption eOption=EMatchContrastOption_Normal)
virtual const CResult AddSortItem(CGeometricMatch::EFilterItem eSortItem, CGeometricMatch::EOrder eOrder)
virtual const CResult SetObjectOverlap(double f64Overlap=0.5)
virtual const CResult SetLearnReductionMode(EReductionMode eReductionMode=EReductionMode_NearestNeighbor)
Base::CFLArray< int32_t > m_flaFilterCondition
Definition GeometricMatch.h:3346
CGeometricMatch::ESortClusterModeMethod m_eSortClusterMethod
Definition GeometricMatch.h:3388
virtual const CResult AddLearnGuideShape(Foundation::CFLFigure *pFlfCustomRegion, double f64Weight=1, double f64Tolerance=5)
virtual const CResult Clear()
virtual int64_t GetFeatureCount() const
virtual double GetAngleBias() const
virtual const CResult SetFeatureFiltering(double f64FeatureFilter=0.5)
Base::CFLArray< int32_t > m_flaSortOrder
Definition GeometricMatch.h:3368
virtual const CResult ReportToCSV(const CReportDescriptorForGeometricMatch &wrd) const
virtual EReductionMode GetLearnReductionMode() const
virtual const CResult GetLearnedImageRaw(Base::CFLImage &fliImage) const
virtual const CResult SetJudgementLevel(EJudgementLevel eJudgementLevel=EJudgementLevel_Normal)
virtual double GetMinimumDetectionScore() const
virtual EJudgementLevel GetJudgementLevel() const
virtual int64_t GetMaxObject() const
int32_t m_i32ReduceLevel
Definition GeometricMatch.h:3302
EWeightROIProcessingMethod m_eWeightROIProcessingMethod
Definition GeometricMatch.h:3271
virtual const CResult ClearLearnGuideShape()
Base::CFLArray< int32_t > m_flaSortItem
Definition GeometricMatch.h:3357
virtual const CResult GetResultAngle(int64_t i64Index, float &f32ResultAngle) const
double m_f64ScaleMax
Definition GeometricMatch.h:3129
CGeometricMatch(const CGeometricMatch *pPg)
virtual const CResult GetResultDetectedInvalidFeature(int64_t i64Index, Foundation::CFLFigureArray *pFlfaResultFeaturePoints) const
virtual const CResult AddLearnGuideShape(Foundation::CFLFigure &flfCustomRegion, double f64Weight=1, double f64Tolerance=5)
virtual const CResult SetFilterItem(CGeometricMatch::EFilterItem eFilterItem, double f64Value, const Base::ELogicalCondition eFilterCondition)
virtual const CResult Learn()
EMatchContrastOption m_eContrastOption
Definition GeometricMatch.h:3216
virtual int32_t GetLearnReductionLevel() const
virtual const CResult SetLearnThresholdCoefficient(double f64ThresCoeff=1.0)
virtual const int64_t GetLearnedGuideShapeCount() const
ECandidateExtraction m_eCandidateExtraction
Definition GeometricMatch.h:3205
ECandidateExtraction
Definition GeometricMatch.h:491
@ ECandidateExtraction_Fast
Definition GeometricMatch.h:499
@ ECandidateExtraction_Normal
Definition GeometricMatch.h:508
@ ECandidateExtraction_Accurate
Definition GeometricMatch.h:517
virtual const CResult GetResultDetectedValidFeature(int64_t i64Index, Foundation::CFLFigureArray *pFlfaResultFeaturePoints) const
virtual const CResult DeleteLearnGuideShape(int64_t i64Index=0)
virtual const CResult GetResultScale(int64_t i64Index, float &f32ResultScale) const
ReportDescriptorForGeometricMatch class.
Definition ReportDescriptorForGeometricMatch.h:23
Template type array class.
Definition FLArray.h:71
FLIMaging's image class.
Definition FLImage.h:35
Template type string class.
Definition FLString.h:34
FLImaging module execution result object.
Definition ResultsDef.h:1704
A class representing a point.
Definition FLPoint.h:24
ReportDescriptor class.
Definition ReportDescriptor.h:22
Definition AlgorithmFeature_DI_BAT_CI.h:15
EMatchContrastOption
Definition DefinitionsAdvancedFunctions.h:29
@ EMatchContrastOption_Normal
Definition DefinitionsAdvancedFunctions.h:37
ELogicalCondition
Logical condition.
Definition DefinitionsBase.h:3147
Definition GeometricMatch.h:65
virtual const CResult Assign(const SResult *pPmr)
float f32Angle
Definition GeometricMatch.h:166
SResult(const SResult *pPmr)
virtual const CResult Clear()
float f32Score
Definition GeometricMatch.h:157
Foundation::CFLPoint< double > flpLocation
Definition GeometricMatch.h:197
const SResult & operator=(const SResult &pmr)
Foundation::CFLPoint< double > flpPivot
Definition GeometricMatch.h:208
Foundation::CFLFigure * pFlfRegion
Definition GeometricMatch.h:186
SResult(const SResult &pmr)
virtual const CResult Assign(const SResult &pmr)
float f32Scale
Definition GeometricMatch.h:175