IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType > Class Template Referenceabstract

Base class for static split operation generating image z strips 3d associated to a kernel. More...

#include <BaseStaticImageZStrip3dWithKernelSplit.h>

Inheritance diagram for ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >:
ipsdk::imaproc::BaseStaticImageStripSplit< InputDataType > ipsdk::processor::BaseStaticSplit ipsdk::processor::BaseDataSplit

Public Types

typedef OutputDataType OutputType
 output data type for split operation
 
typedef OutputDataType::BorderStorageType BorderStorageType
 border strip storage type
 
typedef std::map< ElementsRange, BorderStorageTypeBorderStorageMap
 collection of border strip index by range
 
- Public Types inherited from ipsdk::imaproc::BaseStaticImageStripSplit< InputDataType >
typedef InputDataType InputType
 input data type for split operation
 

Public Member Functions

eStaticImageStripSplitType getStaticImageStripSplitType () const
 retrieve static image strip split operation type
 
Constructors and destructors
 BaseStaticImageZStrip3dWithKernelSplit ()
 
virtual ~BaseStaticImageZStrip3dWithKernelSplit ()=0
 
ipUInt64 getKernelSizeX () const
 retrieve full kernel size associated to object More...
 
ipUInt64 getKernelSizeY () const
 retrieve full kernel size associated to object More...
 
ipUInt64 getKernelSizeZ () const
 retrieve full kernel size associated to object More...
 
ipUInt64 getStartingKernelSizeX () const
 retrieve starting kernel size associated to object More...
 
ipUInt64 getStartingKernelSizeY () const
 retrieve starting kernel size associated to object More...
 
ipUInt64 getStartingKernelSizeZ () const
 retrieve starting kernel size associated to object More...
 
ipUInt64 getEndingKernelSizeX () const
 retrieve ending kernel size associated to object More...
 
ipUInt64 getEndingKernelSizeY () const
 retrieve ending kernel size associated to object More...
 
ipUInt64 getEndingKernelSizeZ () const
 retrieve ending kernel size associated to object More...
 
- Public Member Functions inherited from ipsdk::imaproc::BaseStaticImageStripSplit< InputDataType >
processor::eSplitStaticType getSplitStaticType () const
 retrieve static split operation type
 
eImageSplitType getImageSplitType () const
 retrieve image split operation type
 
const image::BaseImagegetImage () const
 retrieve image to be splitted More...
 
 BaseStaticImageStripSplit ()
 
virtual ~BaseStaticImageStripSplit ()=0
 
- Public Member Functions inherited from ipsdk::processor::BaseStaticSplit
eSplitBaseType getSplitBaseType () const
 retrieve split operation base type
 
BoolResult initAttribute (BaseProcessor &processor, const ipUInt32 elementIdx, const core::BaseRequestOrigin &requestOrigin)
 initialize processor attribute associate to split operation for a starting element index and a number of elements More...
 
 BaseStaticSplit ()
 
virtual ~BaseStaticSplit ()=0
 
- Public Member Functions inherited from ipsdk::processor::BaseDataSplit
virtual const std::string & getAttributeName () const =0
 retrieve attribute name associated to split operation
 
virtual const std::string & getAttributeToolTip () const =0
 retrieve attribute tooltip associated to split operation
 
bool isInit () const
 retrieve object initialization flag
 
bool isSplitted () const
 check whether object will be associated to split operation More...
 
const ElementsLocationInfogetElementsLocationInfo () const
 retrieve data location informations More...
 
ipUInt64 getFullMemorySize () const
 retrieve full memory data size for elements More...
 
bool areDataLocalized () const
 check whether data are localized More...
 
bool hasLocalData () const
 check whether some data are local data More...
 
bool hasRemoteData () const
 check whether some data are remote data More...
 
void disableDataLocalization ()
 method allowing to disable data localization More...
 
 BaseDataSplit ()
 
virtual ~BaseDataSplit ()=0
 
ipUInt64 getNbElements () const
 retrieve total number of elements associated to input data More...
 
ipUInt64 getDataMemorySize (const ipUInt64 elementIdx) const
 retrieve memory size of data for a given element More...
 
ipUInt64 getDataMemorySize () const
 retrieve memory size of data for a given element More...
 

Protected Member Functions

virtual BoolResult processAttribute (processor::BaseProcessor &processor, const boost::shared_ptr< OutputDataType > &pImageZStrip3dWithKernel)=0
 
BoolResult extractStrip (const ipUInt64 stripStartingOffsetZ, const ipUInt64 stripSizeZ, const image::BaseImage &image, const core::BaseRequestOrigin &requestOrigin, BorderStorageType &pStrip, BorderStorageMap &stripMap)
 method allowing to extract a strip from collection or directly from an image for immediate use More...
 
BoolResult storeStrip (const ipUInt64 stripStartingOffsetZ, const ipUInt64 stripSizeZ, const image::BaseImage &image, const core::BaseRequestOrigin &requestOrigin, BorderStorageMap &stripMap)
 method allowing to extract a strip from an image and to store it for delayed use More...
 
void initBase (const boost::shared_ptr< InputDataType > &pImage, const ElementsRangeColl &planElementInfoColl, const KernelXYZ &kernelXYZ, const image::eStripAllocationType &stripAllocationType, const image::eStripParsingDirection &stripParsingDirection)
 base class initialization method More...
 
void initBase (const boost::shared_ptr< InputDataType > &pImage, const ElementsRangeColl &planElementInfoColl, const StructuringElementXYZ &structuringElementXYZ, const image::eStripAllocationType &stripAllocationType, const image::eStripParsingDirection &stripParsingDirection)
 base class initialization method More...
 
void initBase (const boost::shared_ptr< InputDataType > &pImage, const ElementsRangeColl &planElementInfoColl, const ipUInt64 startingKernelSizeX, const ipUInt64 endingKernelSizeX, const ipUInt64 startingKernelSizeY, const ipUInt64 endingKernelSizeY, const ipUInt64 startingKernelSizeZ, const ipUInt64 endingKernelSizeZ, const image::eStripAllocationType &stripAllocationType, const image::eStripParsingDirection &stripParsingDirection)
 base class initialization method More...
 
- Protected Member Functions inherited from ipsdk::imaproc::BaseStaticImageStripSplit< InputDataType >
void initBase (const boost::shared_ptr< InputDataType > &pImage, const processor::ElementsLocationInfo &elementsLocationInfo)
 base class initialization method More...
 
const boost::shared_ptr< InputDataType > & getImagePtr () const
 retrieve image pointer to be splitted More...
 
- Protected Member Functions inherited from ipsdk::processor::BaseDataSplit
void initBaseSplitted (const ElementsLocationInfo &elementsLocationInfo)
 base class initialization method for splitted elements More...
 
void initBaseUnSplitted (const ElementsLocationInfo &elementsLocationInfo)
 base class initialization method for un splitted elements More...
 
virtual bool checkProcessorType (const processor::BaseProcessor &processor)=0
 check processor type in derived class
 
void throwNullInputSharedPtr ()
 

Protected Attributes

image::eStripParsingDirection _stripParsingDirection
 strip parsing direction associated to attribute
 
image::eStripAllocationType _stripAllocationType
 flag indicating whether splitted strip allocation should be forced
 
ElementsRangeColl _planElementInfoColl
 
ipUInt64 _startingKernelSizeX
 starting kernel size along X direction associated to object
 
ipUInt64 _endingKernelSizeX
 starting kernel size along X direction associated to object
 
ipUInt64 _startingKernelSizeY
 starting kernel size along Y direction associated to object
 
ipUInt64 _endingKernelSizeY
 starting kernel size along Y direction associated to object
 
ipUInt64 _startingKernelSizeZ
 starting kernel size along Z direction associated to object
 
ipUInt64 _endingKernelSizeZ
 starting kernel size along Z direction associated to object
 
BorderStorageMap _startingInternalStripsMap
 
BorderStorageMap _endingInternalStripsMap
 
boost::mutex _mutex
 mutex used to prevent concurrent accesses
 

Additional Inherited Members

- Static Public Attributes inherited from ipsdk::processor::BaseStaticSplit
static const eSplitBaseType::domain g_splitBaseType = eSplitBaseType::eSBT_Static
 data split type associated to object
 

Detailed Description

template<typename InputDataType, typename OutputDataType>
class ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >

Base class for static split operation generating image z strips 3d associated to a kernel.

Author
E. Noirfalise
Date
2015/02/16

Member Function Documentation

◆ getKernelSizeX()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getKernelSizeX ( ) const

retrieve full kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getKernelSizeY()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getKernelSizeY ( ) const

retrieve full kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getKernelSizeZ()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getKernelSizeZ ( ) const

retrieve full kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getStartingKernelSizeX()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getStartingKernelSizeX ( ) const

retrieve starting kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getStartingKernelSizeY()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getStartingKernelSizeY ( ) const

retrieve starting kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getStartingKernelSizeZ()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getStartingKernelSizeZ ( ) const

retrieve starting kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getEndingKernelSizeX()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getEndingKernelSizeX ( ) const

retrieve ending kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getEndingKernelSizeY()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getEndingKernelSizeY ( ) const

retrieve ending kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ getEndingKernelSizeZ()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::getEndingKernelSizeZ ( ) const

retrieve ending kernel size associated to object

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif isInit() == false

◆ processAttribute()

template<typename InputDataType, typename OutputDataType>
virtual BoolResult ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::processAttribute ( processor::BaseProcessor processor,
const boost::shared_ptr< OutputDataType > &  pImageZStrip3dWithKernel 
)
protectedpure virtual

initialize processor attribute associate to split operation for a starting element index and a number of elements

Implemented in ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute >.

◆ extractStrip()

template<typename InputDataType, typename OutputDataType>
BoolResult ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::extractStrip ( const ipUInt64  stripStartingOffsetZ,
const ipUInt64  stripSizeZ,
const image::BaseImage image,
const core::BaseRequestOrigin requestOrigin,
BorderStorageType pStrip,
BorderStorageMap stripMap 
)
protected

method allowing to extract a strip from collection or directly from an image for immediate use

Returns
false in case of failure

◆ storeStrip()

template<typename InputDataType, typename OutputDataType>
BoolResult ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::storeStrip ( const ipUInt64  stripStartingOffsetZ,
const ipUInt64  stripSizeZ,
const image::BaseImage image,
const core::BaseRequestOrigin requestOrigin,
BorderStorageMap stripMap 
)
protected

method allowing to extract a strip from an image and to store it for delayed use

Returns
false in case of failure

◆ initBase() [1/3]

template<typename InputDataType, typename OutputDataType>
void ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::initBase ( const boost::shared_ptr< InputDataType > &  pImage,
const ElementsRangeColl planElementInfoColl,
const KernelXYZ kernelXYZ,
const image::eStripAllocationType stripAllocationType,
const image::eStripParsingDirection stripParsingDirection 
)
protected

base class initialization method

Exceptions
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage.get() == 0
ipsdk::imaproc::IPSDKImageProcessingExceptionif planElementInfoColl[i]._startOffset + planElementInfoColl[i]._size > pImage->getSizeZ()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXYZ.getStartingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXYZ.getEndingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXYZ.getStartingSizeY() > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXYZ.getEndingSizeY() > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXYZ.getStartingSizeZ() > planElementInfoColl[i]._size
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXYZ.getEndingSizeZ() > planElementInfoColl[i]._size

◆ initBase() [2/3]

template<typename InputDataType, typename OutputDataType>
void ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::initBase ( const boost::shared_ptr< InputDataType > &  pImage,
const ElementsRangeColl planElementInfoColl,
const StructuringElementXYZ structuringElementXYZ,
const image::eStripAllocationType stripAllocationType,
const image::eStripParsingDirection stripParsingDirection 
)
protected

base class initialization method

Exceptions
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage.get() == 0
ipsdk::imaproc::IPSDKImageProcessingExceptionif planElementInfoColl[i]._startOffset + planElementInfoColl[i]._size > pImage->getSizeZ()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXYZ.getStartingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXYZ.getEndingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXYZ.getStartingSizeY() > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXYZ.getEndingSizeY() > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXYZ.getStartingSizeZ() > planElementInfoColl[i]._size
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXYZ.getEndingSizeZ() > planElementInfoColl[i]._size

◆ initBase() [3/3]

template<typename InputDataType, typename OutputDataType>
void ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::initBase ( const boost::shared_ptr< InputDataType > &  pImage,
const ElementsRangeColl planElementInfoColl,
const ipUInt64  startingKernelSizeX,
const ipUInt64  endingKernelSizeX,
const ipUInt64  startingKernelSizeY,
const ipUInt64  endingKernelSizeY,
const ipUInt64  startingKernelSizeZ,
const ipUInt64  endingKernelSizeZ,
const image::eStripAllocationType stripAllocationType,
const image::eStripParsingDirection stripParsingDirection 
)
protected

base class initialization method

Exceptions
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage.get() == 0
ipsdk::imaproc::IPSDKImageProcessingExceptionif planElementInfoColl[i]._startOffset + planElementInfoColl[i]._size > pImage->getSizeZ()
ipsdk::imaproc::IPSDKImageProcessingExceptionif startingKernelSizeX > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif endingKernelSizeX > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif startingKernelSizeY > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif endingKernelSizeY > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif startingKernelSizeZ > planElementInfoColl[i]._size
ipsdk::imaproc::IPSDKImageProcessingExceptionif endingKernelSizeZ > planElementInfoColl[i]._size

Member Data Documentation

◆ _planElementInfoColl

template<typename InputDataType, typename OutputDataType>
ElementsRangeColl ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::_planElementInfoColl
protected

collection of plan strip split element informations used for data split operation

◆ _startingInternalStripsMap

template<typename InputDataType, typename OutputDataType>
BorderStorageMap ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::_startingInternalStripsMap
protected

map allowing to store starting internal strips waiting for processing (strips used as ending external strips)

◆ _endingInternalStripsMap

template<typename InputDataType, typename OutputDataType>
BorderStorageMap ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, OutputDataType >::_endingInternalStripsMap
protected

map allowing to store ending internal strips waiting for processing (strips used as starting external strips)


The documentation for this class was generated from the following file: