FLImaging 6.5.16.1
ComputationalGraphAugmentationForSegmentation.h
1#pragma once
2
3 #if _MSC_VER >= 1900 && defined(_M_X64)
4
5 #include "ComputationalGraphAugmentationBase.h"
6
7 namespace FLImaging
8 {
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CBackendLabel;
13
14 class CAugmentationParameters;
15 template<typename T>
16 class CInternalAugmentationMaskOperationForSegmentation;
17
18 template <typename T>
19 class FL_EXPORT CComputationalGraphAugmentationForSegmentation : public CComputationalGraphAugmentationBase<T>
20 {
21 private:
22 CComputationalGraphAugmentationForSegmentation();
23
24 protected:
25 CComputationalGraphAugmentationForSegmentation(const CComputationalGraphAugmentationForSegmentation<T>& cg);
26
27 public:
28
29 CComputationalGraphAugmentationForSegmentation(const CComputationalBase<T>& cbOperand, const CAugmentationParameters& apParams);
30 CComputationalGraphAugmentationForSegmentation(const CComputationalBase<T>& cbOperand, const CAugmentationParameters* pApParams);
31 virtual ~CComputationalGraphAugmentationForSegmentation();
32
33 virtual CComputationalBase<T>* Clone() const override;
34
35
36 DeclareGetClassType();
37 SupportToDuplicateObjectWithoutCreateNewObject(CComputationalGraphAugmentationForSegmentation, *this);
38
39 public:
40 DeclareGetSignletonObject(CComputationalGraphAugmentationForSegmentation);
41
42
43 private:
44 template <typename T> friend class CInternalAugmentationForSegmentation;
45 };
46
47 #define CCGFAugmentationSS(...) (*(new CComputationalGraphAugmentationForSegmentation<float>(__VA_ARGS__)))
48 #define CCGDAugmentationSS(...) (*(new CComputationalGraphAugmentationForSegmentation<double>(__VA_ARGS__)))
49
50 #define CCGTAugmentationSS(T, ...) (*(new CComputationalGraphAugmentationForSegmentation<T>(__VA_ARGS__)))
51 }
52 }
53
54#endif