FLImaging 6.5.16.1
ValidatorForInstanceSegmentation.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "ValidatorBase.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CValidatorForInstanceSegmentation : public CValidatorBase<T>
13 {
14
15 public:
16 CValidatorForInstanceSegmentation();
17 CValidatorForInstanceSegmentation(const CValidatorForInstanceSegmentation<T>& validator);
18 CValidatorForInstanceSegmentation(const CValidatorForInstanceSegmentation<T>* pValidator);
19 virtual ~CValidatorForInstanceSegmentation();
20
21 const CValidatorForInstanceSegmentation<T>& operator=(const CValidatorForInstanceSegmentation<T>& validator);
22
23 virtual const CResult Assign(const CValidatorForInstanceSegmentation<T>& validator);
24 virtual const CResult Assign(const CValidatorForInstanceSegmentation<T>* pValidator);
25
26 virtual const CResult SetNumOfClasses(int64_t i64ClassCount);
27 virtual int64_t GetNumOfClasses() const;
28
29 virtual const CResult SetObjectnessThreshold(T tObjectnessThreshold = .005);
30 virtual T GetObjectnessThreshold() const;
31
32 virtual const CResult SetIoUThreshold(T tIoUThreshold = .5);
33 virtual T GetIoUThreshold() const;
34
35 virtual const CResult SetMaskThreshold(T tMaskThreshold);
36 virtual T GetMaskThreshold() const;
37
38 virtual const CResult SetNMSThreshold(T tNMSThreshold);
39 virtual T GetNMSThreshold() const;
40
41 virtual const CResult EnableIOUThresholdUpdate(bool bIOUThresholdUpdate = true);
42 virtual bool IsIOUThresholdUpdateEnabled() const;
43
44 virtual T GetLastValidation() const;
45
46 virtual T Validate(int32_t* pI32IterationFeedback = nullptr) override;
47
48 DeclareGetClassType();
49 SupportToDuplicateObject(CValidatorForInstanceSegmentation<T>, *this);
50
51 protected:
52 virtual const CResult ResetComputationPerClass();
53
54 T m_tObjectnessThreshold;
55 T m_tIoUThreshold;
56 T m_tMaskThreshold;
57 T m_tNMSThreshold;
58 T m_tLastValidation;
59
60 int64_t m_i64TruthLabelSize;
61 T* m_pTTruthLabels;
62
63 int64_t m_i64ClassCount;
64 int64_t* m_pI64TruthClassesCount;
65
66 int64_t m_i64UniqueTruthCount;
67 int64_t* m_pI64TruthFlag;
68
69 bool m_bIOUThresholdUpdate;
70 };
71
72
73 typedef CValidatorForInstanceSegmentation<float> CValidatorForInstanceSegmentationF;
74 typedef CValidatorForInstanceSegmentation<double> CValidatorForInstanceSegmentationD;
75 }
76}
77
78#endif
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.