IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
InOutImageYStripSeq2d.h
1 // InOutImageYStripSeq2d.h:
3 // ------------------------
4 //
15 
16 #ifndef __IPSDKIMAGE_INOUTIMAGEYSTRIPSEQ2D_H__
17 #define __IPSDKIMAGE_INOUTIMAGEYSTRIPSEQ2D_H__
18 
19 #include <IPSDKImage/Fragment/Strip/YStripSeq2d/BaseImageYStripSeq2d.h>
20 
21 namespace ipsdk {
22 namespace image {
23 
26 
28 {
29  // declare serial class
31 
32  // declare in/out data
34 
35  // friend class for protected members access
36  friend struct ImageStripExtractor;
37 
38 // predefined public types
39 public:
40  // Image support type
41  typedef BaseImage ImageType;
42 
43 public:
49 
50 // methods
51 public:
52  //-----------------------------------
55  //-----------------------------------
56 
61  BoolResult readFromImage() const;
62 
67  BoolResult writeToImage();
69 
73  HybridBuffer& getBuffer(const ipUInt64 tPlanIdx);
74 
75 protected:
81  void init(const ipUInt64 zPlanIdx,
82  const ipUInt64 cPlanIdx,
83  const ipUInt64 stripStartOffsetY,
84  const ipUInt64 stripSizeY,
85  const eStripAllocationType& stripAllocationType,
86  const eStripParsingDirection& stripParsingDirection,
87  const PlanStorageColl1d& temporalColl,
88  const DataIdentifierConstPtr& pImageIdentifier,
89  const DataItemMapConstPtr& pImageHeader);
90 
92  void createSubStrip(const ipUInt64 zPlanIdx,
93  const ipUInt64 cPlanIdx,
94  const ipUInt64 tPlanIdx,
95  const ipUInt64 stripStartOffsetY,
96  const ipUInt64 stripSizeY,
97  const eStripAllocationType& stripAllocationType,
98  const eStripParsingDirection& stripParsingDirection,
99  const PlanStoragePtr& pPlanStorage,
100  const DataIdentifierConstPtr& pImageIdentifier,
101  const DataItemMapConstPtr& pImageHeader,
102  ImageYStrip2dPtr& pImageYStrip2d) const;
103 
104 // attributes
105 protected:
106 
107 };
108 
111 
112 inline HybridBuffer&
114 {
115  return accessBuffer(tPlanIdx);
116 }
117 
120 
121 } // end of namespace image
122 } // end of namespace ipsdk
123 
124 #endif // __IPSDKIMAGE_INOUTIMAGEYSTRIPSEQ2D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
#define IPSDK_DECLARE_INOUT_DATA()
macro allowing to declare an in/out data
Definition: DataStatusHdrMacros.h:120
eStripAllocationType
Enumerate describing image strip allocation policy.
Definition: ImageStripTypes.h:88
const HybridBuffer & accessBuffer(const ipUInt64 tPlanIdx) const
access to strip full buffer
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
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
Input and output class for sequence image 2d strip with splitting along Y axis.
Definition: InOutImageYStripSeq2d.h:27
#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
eStripParsingDirection
Enumerate describing strip parsing direction.
Definition: ImageStripTypes.h:72
Base class for sequence image 2d strip with splitting along Y axis.
Definition: BaseImageYStripSeq2d.h:32
boost::shared_ptr< const DataIdentifier > DataIdentifierConstPtr
shared pointer to const data identifier
Definition: DataIdentifierTypes.h:31
Class allowing to encapsulate an hybrid form of buffer.
Definition: HybridBuffer.h:52
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
HybridBuffer & getBuffer(const ipUInt64 tPlanIdx)
retrieve strip full buffer
Definition: InOutImageYStripSeq2d.h:113