IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseGpuSubImageSplit.h
1 // BaseGpuSubImageSplit.h:
3 // --------------------
4 //
14 /*
15 #ifndef __IPSDKIMAGEPROCESSING_BASEGPUSUBIMAGESPLIT_H__
16 #define __IPSDKIMAGEPROCESSING_BASEGPUSUBIMAGESPLIT_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseGpuSubImageSplit<InOutStorageType>::_subImageSplitType' : class 'ipsdk::imaproc::eSubImageSplitType' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseGpuSubImageSplit<InOutStorageType>'
20 
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKImageProcessing/IPSDKImageProcessingExports.h>
25 #include <IPSDKBaseProcessing/DataSplit/Static/BaseStaticSplit.h>
26 #include <IPSDKImageProcessing/DataSplit/SubImage/SubImageSplitTypes.h>
27 #include <IPSDKImage/Image/ImageTypes.h>
28 #include <IPSDKUtil/Tools/ProcessingResult.h>
29 
30 namespace ipsdk {
31 namespace imaproc {
32 
35 
36 template <typename InOutStorageType>
37 class IPSDKIMAGEPROCESSING_API BaseGpuSubImageSplit : public processor::BaseStaticSplit
38 {
39 // predefined public types
40 public:
42  typedef InOutStorageType InputStorageType;
43 
44 public:
47  BaseGpuSubImageSplit();
48  virtual ~BaseGpuSubImageSplit() = 0;
50 
51 // methods
52 public:
54  processor::eSplitStaticType getSplitStaticType() const
55  {
56  return processor::eSplitStaticType::eSST_ImageProcessing;
57  }
58 
60  eImageSplitType getImageSplitType() const;
61 
64  eSubImageSplitType getSubImageSplitType() const;
65 
68  const eVolumeParsingType& getVolumeParsingType() const;
69 
72  const eColorParsingType& getColorParsingType() const;
73 
76  const eTemporalParsingType& getTemporalParsingType() const;
77 
80  const image::BaseImage& getImage() const;
81 
84  ipUInt64 getNbDevices() const;
85 
86 protected:
93  void initBase(const eSubImageSplitType& subImageSplitType,
94  const ipUInt64 nbDevices,
95  const InOutStorageType& pImage);
96 
101  void initBase(const eSubImageSplitType& subImageSplitType,
102  const InOutStorageType& pImage);
103 
107  BoolResult getSubImage(ipUInt64 deviceIdx,
108  InOutStorageType& pSubImage);
109 
110 // attributes
111 protected:
113  eSubImageSplitType _subImageSplitType;
114 
116  eVolumeParsingType _volumeParsingType;
117 
119  eColorParsingType _colorParsingType;
120 
122  eTemporalParsingType _temporalParsingType;
123 
125  InOutStorageType _pImage;
126 };
127 
130 
131 } // end of namespace imaproc
132 } // end of namespace ipsdk
133 
134 #pragma warning (pop)
135 
136 #endif // __IPSDKIMAGEPROCESSING_BASEGPUSUBIMAGESPLIT_H__
137 */