IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseCustomImageInfo.h
1 // BaseCustomImageInfo.h:
3 // ----------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASECUSTOMIMAGEINFO_H__
16 #define __IPSDKIMAGEPROCESSING_BASECUSTOMIMAGEINFO_H__
17 
18 // suppression warnings
19 // warning C4275: interface non dll class 'boost::noncopyable_::noncopyable' utilisée comme base d'une interface dll class 'ipsdk::imaproc::BaseCustomImageInfo'
20 #pragma warning (push)
21 #pragma warning (disable : 4275)
22 
25 #include <boost/noncopyable.hpp>
26 
27 namespace ipsdk {
28 namespace imaproc {
29 
32 
33 class IPSDKIMAGEPROCESSING_API BaseCustomImageInfo : public boost::noncopyable
34 {
35 public:
39  virtual ~BaseCustomImageInfo() = 0;
41 
42 // methods
43 public:
45  bool isInit() const;
46 
50  virtual bool isOutputInitNeeded() const;
51 
57  virtual image::eImageBufferType getImageBufferType() const = 0;
58 
62  virtual image::ImageBufferTypeVector getImageBufferTypeVector() const;
63 
68  virtual ipUInt64 getSizeX() const = 0;
69  virtual ipUInt64 getSizeY() const = 0;
71 
77  virtual image::VolumeGeometry getVolumeGeometry() const = 0;
78  ipUInt64 getSizeZ() const;
79  bool is2d() const;
80  bool is3d() const;
82 
88  virtual image::ColorGeometry getColorGeometry() const = 0;
89  ipUInt64 getSizeC() const;
90  bool isGreyLevel() const;
91  bool isColor() const;
93 
99  virtual image::TemporalGeometry getTemporalGeometry() const = 0;
100  ipUInt64 getSizeT() const;
101  bool isSingleGeometry() const;
102  bool isSequenceGeometry() const;
104 
109  image::ImageGeometryPtr createOutputGeometry() const;
110 
114  virtual eImageInitializerDistributionPolicy getImageInitializerDistributionPolicy() const;
115 
119  virtual bool hasInputImage() const;
120 
124  virtual image::ImageConstPtr getInputImage() const;
125 
126 protected:
128  void initBase();
129 
130 // attributes
131 protected:
133  bool _bInit;
134 };
135 
138 
139 inline bool
141 {
142  return _bInit;
143 }
144 
147 
148 } // end of namespace imaproc
149 } // end of namespace ipsdk
150 
151 #pragma warning (pop)
152 
153 #endif // __IPSDKIMAGEPROCESSING_BASECUSTOMIMAGEINFO_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
std::vector< eImageBufferType > ImageBufferTypeVector
collection of buffer types
Definition: ImageGeometryTypes.h:63
Definition of import/export macro for library.
IPSDKIMAGEPROCESSING_API processor::RulePtr isColor(const ImageAttributeConstWeakPtr &pAttribute)
functions allowing to check image color type
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
boost::shared_ptr< const BaseImage > ImageConstPtr
Definition: ImageTypes.h:140
Class encapsulating volume geometryThis class allows to define geometry volume size and type (2d or 3...
Definition: VolumeGeometry.h:34
IPSDKIMAGEPROCESSING_API processor::RulePtr is2d(const ImageAttributeConstWeakPtr &pAttribute)
functions allowing to check image volume type
Class encapsulating color geometryThis class allows to define geometry color size and type (grey...
Definition: ColorGeometry.h:35
Base class for custom image informations.
Definition: BaseCustomImageInfo.h:33
Predefined types for custom initializer image informations.
Class encapsulating temporal geometryThis class allows to define geometry temporal size and type (sin...
Definition: TemporalGeometry.h:35
bool isInit() const
check for object initialization
Definition: BaseCustomImageInfo.h:140
bool _bInit
object initialization flag
Definition: BaseCustomImageInfo.h:133
eImageInitializerDistributionPolicy
Enumerate describing image initializer distribution policy.
Definition: ImageInitializerTypes.h:99
boost::shared_ptr< BaseImageGeometry > ImageGeometryPtr
shared pointer to image geometry
Definition: ImageGeometryTypes.h:55
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78
IPSDKIMAGEPROCESSING_API processor::RulePtr is3d(const ImageAttributeConstWeakPtr &pAttribute)
functions allowing to check image volume type