FLImaging 6.5.16.1
ValidatorForSemanticSegmentation.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "Tensor.h"
6#include "ValidatorBase.h"
7
8namespace FLImaging
9{
10 namespace AI
11 {
12 template <typename T>
13 class FL_EXPORT CValidatorForSemanticSegmentation : public CValidatorBase<T>
14 {
15
16 public:
17 CValidatorForSemanticSegmentation();
18 CValidatorForSemanticSegmentation(const CValidatorForSemanticSegmentation<T>& validator);
19 CValidatorForSemanticSegmentation(const CValidatorForSemanticSegmentation<T>* pValidator);
20 virtual ~CValidatorForSemanticSegmentation();
21
22 const CValidatorForSemanticSegmentation<T>& operator=(const CValidatorForSemanticSegmentation<T>& validator);
23
24 virtual const CResult Assign(const CValidatorForSemanticSegmentation<T>& validator);
25 virtual const CResult Assign(const CValidatorForSemanticSegmentation<T>* pValidator);
26
27 virtual const CResult Clear() override;
28
29 virtual T Validate(int32_t* pI32IterationFeedback = nullptr) override;
30
31 static const CResult CalculateMeanIoU(const int64_t* pTConfusionMatrix, T& tResultMeanIoU, T& tResultMeanIoUZE, int64_t i64ClassCount);
32
33 virtual T GetLastPa() const;
34 virtual T GetLastMeanIoU() const;
35
36 virtual T GetLastPaZE() const;
37 virtual T GetLastMeanIoUZE() const;
38 virtual const CResult SetIgnoreIndex(int64_t i64IgnoreIndex);
39 virtual int64_t GetIgnoreIndex() const;
40 virtual int64_t GetZETotalCount() const;
41
42 const CTensor<double>& GetConfusionMatrix() const;
43
44 DeclareGetClassType();
45 SupportToDuplicateObject(CValidatorForSemanticSegmentation<T>, *this);
46
47 protected:
48 T m_tLastPa;
49 T m_tLastMeanIoU;
50
51 T m_tLastPaZE;
52 T m_tLastMeanIoUZE;
53
54 int64_t m_i64IgnoreIndex;
55 int64_t m_i64ZETotalCount;
56
57 CTensor<double> m_tsrCM;
58 private:
59 template<typename T>
60 friend class COptimizer;
61
62 template<typename T>
63 friend class COptimizerForSemanticSegmentation;
64 };
65
66 typedef CValidatorForSemanticSegmentation<float> CValidatorForSemanticSegmentationF;
67 typedef CValidatorForSemanticSegmentation<double> CValidatorForSemanticSegmentationD;
68 }
69}
70
71#endif
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
@ Clear
Clear all the figure objects.