IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
InputImageZStrip3d.h
1 // InputImageZStrip3d.h:
3 // ---------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_INPUTIMAGEZSTRIP3D_H__
16 #define __IPSDKIMAGE_INPUTIMAGEZSTRIP3D_H__
17 
18 #include <IPSDKImage/Fragment/Strip/ZStrip3d/BaseImageZStrip3d.h>
19 
20 namespace ipsdk {
21 namespace image {
22 
25 
27 {
28  // declare serial class
30 
31  // declare input data
33 
34  // friend class for protected members access
35  friend struct ImageStripExtractor;
36 
37 // predefined public types
38 public:
39  // Image support type
40  typedef const BaseImage ImageType;
41 
42  // Input storage type associated to strip
43  typedef PlanStorageColl1d InputStorageType;
44 
45 public:
51 
52 // methods
53 public:
54  //-----------------------------------
57  //-----------------------------------
58 
65  BoolResult readFromImage() const;
67 
68 protected:
74  void init(const ipUInt64 cPlanIdx,
75  const ipUInt64 tPlanIdx,
76  const ipUInt64 stripStartOffsetZ,
77  const ipUInt64 stripSizeZ,
78  const ipUInt64 imageSizeZ,
79  const eStripAllocationType& stripAllocationType,
80  const eStripParsingDirection& stripParsingDirection,
81  const PlanStorageColl1d& volumeColl,
82  const DataIdentifierConstPtr& pImageIdentifier,
83  const DataItemMapConstPtr& pImageHeader);
84 
86  void createSubStrip(const ipUInt64 zPlanIdx,
87  const ipUInt64 cPlanIdx,
88  const ipUInt64 tPlanIdx,
89  const eStripAllocationType& stripAllocationType,
90  const eStripParsingDirection& stripParsingDirection,
91  const PlanStoragePtr& pPlanStorage,
92  const DataIdentifierConstPtr& pImageIdentifier,
93  const DataItemMapConstPtr& pImageHeader,
94  ImageYStrip2dPtr& pImageYStrip2d) const;
95 
96 // attributes
97 protected:
98 
99 };
100 
103 
104 } // end of namespace image
105 } // end of namespace ipsdk
106 
107 #endif // __IPSDKIMAGE_INPUTIMAGEZSTRIP3D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
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
eStripAllocationType
Enumerate describing image strip allocation policy.
Definition: ImageStripTypes.h:88
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
Base class for image 3d strip with splitting along Z axis.
Definition: BaseImageZStrip3d.h:34
Structure used to extract image strips from an image.
Definition: ImageStripExtractor.h:31
boost::shared_ptr< const DataItemMap > DataItemMapConstPtr
shared pointer to const DataItemMap
Definition: DataItemTypes.h:170
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
Input class for image 3d strip with splitting along Z axis.
Definition: InputImageZStrip3d.h:26
boost::shared_ptr< BasePlanStorage > PlanStoragePtr
shared pointer to image plan storage
Definition: PlanStorageTypes.h:55
eStripParsingDirection
Enumerate describing strip parsing direction.
Definition: ImageStripTypes.h:72
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
boost::shared_ptr< BaseImageYStrip2d > ImageYStrip2dPtr
Definition: ImageStripTypes.h:117