IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseSubImageSplit.h
1 // BaseSubImageSplit.h:
3 // --------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASESUBIMAGESPLIT_H__
16 #define __IPSDKIMAGEPROCESSING_BASESUBIMAGESPLIT_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseSubImageSplit<InOutStorageType>::_subImageSplitType' : class 'ipsdk::imaproc::eSubImageSplitType' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseSubImageSplit<InOutStorageType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKBaseProcessing/DataSplit/Static/BaseStaticSplit.h>
27 #include <IPSDKUtil/Tools/ProcessingResult.h>
28 
29 namespace ipsdk {
30 namespace imaproc {
31 
34 
35 template <typename InOutStorageType>
37 {
38 // predefined public types
39 public:
41  typedef InOutStorageType InputStorageType;
42 
43 public:
47  virtual ~BaseSubImageSplit() = 0;
49 
50 // methods
51 public:
54  {
56  }
57 
60  {
62  }
63 
66  const eSubImageSplitType& getSubImageSplitType() const;
67 
70  const eVolumeParsingType& getVolumeParsingType() const;
71 
74  const eColorParsingType& getColorParsingType() const;
75 
78  const eTemporalParsingType& getTemporalParsingType() const;
79 
82  const image::BaseImage& getImage() const;
83 
84 protected:
91  void initBase(const eSubImageSplitType& subImageSplitType,
92  const eVolumeParsingType& volumeParsingType,
93  const eColorParsingType& colorParsingType,
94  const eTemporalParsingType& temporalParsingType,
95  const InOutStorageType& pImage);
96 
101  void initBase(const eSubImageSplitType& subImageSplitType,
102  const InOutStorageType& pImage);
103 
107  BoolResult getSubImage(ipUInt64 elementIdx,
108  InOutStorageType& pSubImage) const;
109 
110 // attributes
111 protected:
114 
117 
120 
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_BASESUBIMAGESPLIT_H__
eSubImageSplitType
Enumerate describing sub image geometry split type.
Definition: SubImageSplitTypes.h:32
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
InOutStorageType InputStorageType
input data type for split operation
Definition: BaseSubImageSplit.h:41
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
eImageSplitType getImageSplitType() const
retrieve image split operation type
Definition: BaseSubImageSplit.h:59
eVolumeParsingType
Enumerate describing geometry volume(z) parsing type.
Definition: SubImageSplitTypes.h:58
InOutStorageType _pImage
pointer to image to be splitted
Definition: BaseSubImageSplit.h:125
Predefined types for sub image split operations.
eColorParsingType _colorParsingType
image color geometry parsing flag
Definition: BaseSubImageSplit.h:119
Definition of import/export macro for library.
eTemporalParsingType _temporalParsingType
image temporal geometry parsing flag
Definition: BaseSubImageSplit.h:122
eSplitStaticType
Enumerate describing static split operation type.
Definition: StaticSplitTypes.h:32
processor::eSplitStaticType getSplitStaticType() const
retrieve static split operation type
Definition: BaseSubImageSplit.h:53
Base class for data static split objets used for data dispatch.
Definition: BaseStaticSplit.h:34
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
eImageSplitType
Enumerate describing image split operation type.
Definition: ImageSplitTypes.h:33
eTemporalParsingType
Enumerate describing geometry temporal(t) parsing type.
Definition: SubImageSplitTypes.h:86
Split operation of an image into sub images.
Definition: ImageSplitTypes.h:35
Static split operation type for image processing elements.
Definition: StaticSplitTypes.h:40
eVolumeParsingType _volumeParsingType
image volume geometry parsing flag
Definition: BaseSubImageSplit.h:116
Base class for images data type.
Definition: BaseImage.h:43
eSubImageSplitType _subImageSplitType
sub image split type associated to operation
Definition: BaseSubImageSplit.h:113
Predefined type for image management.
eColorParsingType
Enumerate describing geometry color(c) parsing type.
Definition: SubImageSplitTypes.h:72
Base class used to split image into sub images for data dispatch.
Definition: BaseSubImageSplit.h:36