IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
SubImage.h
1 // SubImage.h:
3 // -----------
4 //
14 
15 #ifndef __IPSDKIMAGE_SUBIMAGE_H__
16 #define __IPSDKIMAGE_SUBIMAGE_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::image::SubImage::_imageAccessMode' : class 'ipsdk::image::eImageAccessMode' needs to have dll-interface to be used by clients of class 'ipsdk::image::SubImage'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImage/Image/BaseImage.h>
24 
25 namespace ipsdk {
26 namespace image {
27 
30 
32 {
33  // declare serial class
35 
36  // friend class for protected members access
37  friend struct SubImageExtractor;
38  friend boost::shared_ptr<SubImage> boost::make_shared<SubImage>();
39 
40 // predefined public types
41 public:
43  static const eImageBaseType::domain g_imageBaseType = eImageBaseType::eIBT_Sub;
44 
45 protected:
47  SubImage();
48 
49 public:
51  ~SubImage();
52 
53 // methods
54 public:
56  eImageBaseType getImageBaseType() const;
57 
59  ipBool isGpuImage() const;
60 
62  ipBool isDiskImage() const;
63 
66  eImageAccessMode getAccessMode() const;
67 
72  bool hasRemoteStorage() const;
73 
76  virtual BoolResult init(const BaseImageGeometry& geometry);
77 
78 protected:
84  BoolResult init(const DataIdentifierConstPtr& pImageIdentifier,
85  const DataItemMapConstPtr& pImageHeader,
86  const eImageAccessMode& imageAccessMode,
87  const ImageGeometryPtr& pSubImageGeometry,
88  const GeometricCalibrationConstPtr& pGeometricCalibration,
89  const ipBool bIsGpuImage,
90  const ipBool bIsDiskImage,
91  PlanStorageColl3d& imagePlans);
92 
93 // attributes
94 protected:
97 
100 
103 };
104 
107 
108 inline eImageBaseType
110 {
111  return g_imageBaseType;
112 }
113 
114 inline ipBool
116 {
117  return _bIsGpuImage;
118 }
119 
120 inline ipBool
122 {
123  return _bIsDiskImage;
124 }
125 
128 
129 } // end of namespace image
130 } // end of namespace ipsdk
131 
132 #pragma warning (pop)
133 
134 #endif // __IPSDKIMAGE_SUBIMAGE_H__
eImageBaseType
Enumerate describing image base type.
Definition: ImageTypes.h:46
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
sub image of a complete image
Definition: ImageTypes.h:50
eImageBaseType getImageBaseType() const
retrieve image type
Definition: SubImage.h:109
boost::shared_ptr< const ipsdk::GeometricCalibration > GeometricCalibrationConstPtr
shared pointer to const ipsdk::GeometricCalibration
Definition: GeometricCalibrationTypes.h:31
Base class for image geometry.
Definition: BaseImageGeometry.h:38
IPSDKIMAGE_API ImageGeometryPtr geometry(const eImageBufferType &imageBufferType, const ipUInt64 sizeX, const ipUInt64 sizeY, const VolumeGeometry &volumeGeometry, const ColorGeometry &colorGeometry, const TemporalGeometry &temporalGeometry)
create an image geometry
ipBool _bIsDiskImage
Is the image a disk image.
Definition: SubImage.h:102
eImageAccessMode _imageAccessMode
image access mode
Definition: SubImage.h:96
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
Class for sub images of complete image.
Definition: SubImage.h:31
boost::shared_ptr< const DataItemMap > DataItemMapConstPtr
shared pointer to const DataItemMap
Definition: DataItemTypes.h:170
std::vector< PlanStorageColl2d > PlanStorageColl3d
Definition: ImageTypes.h:196
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
bool ipBool
Base types definition.
Definition: BaseTypes.h:47
Definition: SubImageExtractor.h:30
boost::shared_ptr< const DataIdentifier > DataIdentifierConstPtr
shared pointer to const data identifier
Definition: DataIdentifierTypes.h:31
static const eImageBaseType::domain g_imageBaseType
type associated to attribute
Definition: SubImage.h:43
ipBool isDiskImage() const
returns true if the image is a disk one
Definition: SubImage.h:121
Base class for images data type.
Definition: BaseImage.h:43
boost::shared_ptr< BaseImageGeometry > ImageGeometryPtr
shared pointer to image geometry
Definition: ImageGeometryTypes.h:55
ipBool isGpuImage() const
returns true if the image is loaded on GPU
Definition: SubImage.h:115
eImageAccessMode
Image access mode.
Definition: ImageTypes.h:110
ipBool _bIsGpuImage
Is the image loaded on GPU.
Definition: SubImage.h:99