IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
InputImageTile3d.h
1 // InputImageTile3d.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_INPUTIMAGETILE3D_H__
16 #define __IPSDKIMAGE_INPUTIMAGETILE3D_H__
17 
18 #include <IPSDKImage/Fragment/Tile/Tile3d/BaseImageTile3d.h>
19 #include <IPSDKImage/Fragment/BorderPolicy/3d/Border3dPolicy.h>
20 
21 namespace ipsdk {
22 namespace image {
23 
26 
28 {
29  // declare serial class
31 
32  // declare input data
34 
35  // friend class for protected members access
36  friend struct ImageTileExtractor;
37 
38 // predefined public types
39 public:
40  // Image support type
41  typedef const BaseImage ImageType;
42 
43 public:
49 
50 // methods
51 public:
52  //-----------------------------------
55  //-----------------------------------
56 
63  BoolResult readFromImage() const;
65 
66 protected:
76  void init(const ipUInt64 cPlanIdx,
77  const ipUInt64 tPlanIdx,
78  const ipUInt64 tileStartOffsetX,
79  const ipUInt64 tileStartOffsetY,
80  const ipUInt64 tileStartOffsetZ,
81  const ipUInt64 tileSizeX,
82  const ipUInt64 tileSizeY,
83  const ipUInt64 tileSizeZ,
84  const PlanStorageColl1d& volumeColl,
85  const DataIdentifierConstPtr& pImageIdentifier,
86  const DataItemMapConstPtr& pImageHeader);
87 
103  void init(const ipUInt64 cPlanIdx,
104  const ipUInt64 tPlanIdx,
105  const ipInt64 tileStartOffsetX,
106  const ipInt64 tileStartOffsetY,
107  const ipInt64 tileStartOffsetZ,
108  const ipUInt64 tileSizeX,
109  const ipUInt64 tileSizeY,
110  const ipUInt64 tileSizeZ,
111  const PlanStorageColl1d& volumeColl,
112  const DataIdentifierConstPtr& pImageIdentifier,
113  const DataItemMapConstPtr& pImageHeader,
114  const Border3dPolicy& border3dPolicy);
115 
118  void createSubTile(const ipUInt64 zPlanIdx,
119  const ipUInt64 cPlanIdx,
120  const ipUInt64 tPlanIdx,
121  const tile::ImageTileInfo3d& imageTileInfo3d,
122  const PlanStoragePtr& pPlanStorage,
123  const DataIdentifierConstPtr& pImageIdentifier,
124  const DataItemMapConstPtr& pImageHeader,
125  ImageTile2dPtr& pImageTile2d) const;
126 
129  void createSubTile(const ipUInt64 zPlanIdx,
130  const ipUInt64 cPlanIdx,
131  const ipUInt64 tPlanIdx,
132  const tile::ImageTileInfo3d& imageTileInfo3d,
133  const eImageBufferType& imageBufferType,
134  const DataIdentifierConstPtr& pImageIdentifier,
135  const DataItemMapConstPtr& pImageHeader,
136  ImageTile2dPtr& pImageTile2d) const;
137 
138 // attributes
139 protected:
142 };
143 
146 
147 } // end of namespace image
148 } // end of namespace ipsdk
149 
150 #endif // __IPSDKIMAGE_INPUTIMAGETILE3D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< BaseImageTile2d > ImageTile2dPtr
Definition: ImageTileTypes.h:146
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
#define IPSDK_DECLARE_INPUT_DATA()
macro allowing to declare an input data
Definition: DataStatusHdrMacros.h:106
Structure used to extract image tiles from an image.
Definition: ImageTileExtractor.h:33
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
Definition: ImageTileTypes.h:117
boost::shared_ptr< const DataItemMap > DataItemMapConstPtr
shared pointer to const DataItemMap
Definition: DataItemTypes.h:170
Base class for 3d image tiles.
Definition: BaseImageTile3d.h:32
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
boost::shared_ptr< BasePlanStorage > PlanStoragePtr
shared pointer to image plan storage
Definition: PlanStorageTypes.h:55
Class used to define policy for 3d strip borders management during a kernel algorithm processing...
Definition: Border3dPolicy.h:34
Input class for 3d image tiles.
Definition: InputImageTile3d.h:27
boost::shared_ptr< const DataIdentifier > DataIdentifierConstPtr
shared pointer to const data identifier
Definition: DataIdentifierTypes.h:31
std::vector< PlanStoragePtr > PlanStorageColl1d
Definition: ImageTypes.h:184
Base class for images data type.
Definition: BaseImage.h:43
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78
Border3dPolicy _border3dPolicy
border policy associated to tile
Definition: InputImageTile3d.h:141