IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Types | Public Member Functions | Protected Member Functions | List of all members
ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute > Class Template Reference

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

#include <StaticImageZStrip3dWithKernelSplit.h>

Inheritance diagram for ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute >:
ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, TAttribute::ValueType > ipsdk::imaproc::BaseStaticImageStripSplit< InputDataType > ipsdk::processor::BaseStaticSplit ipsdk::processor::BaseDataSplit

Public Types

typedef TProcessor ProcessorType
 processor type associated to object
 
typedef TAttribute AttributeType
 attribute type associated to object
 
typedef TAttribute::ValueType OutputType
 output data type for split operation
 
- Public Types inherited from ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, TAttribute::ValueType >
typedef TAttribute::ValueType OutputType
 output data type for split operation
 
typedef TAttribute::ValueType ::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

const std::string & getAttributeName () const
 retrieve attribute name associated to split operation
 
const std::string & getAttributeToolTip () const
 retrieve attribute tooltip associated to split operation
 
void init (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 init (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 init (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...
 
Constructors and destructors
 StaticImageZStrip3dWithKernelSplit ()
 
 ~StaticImageZStrip3dWithKernelSplit ()
 
- Public Member Functions inherited from ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, TAttribute::ValueType >
eStaticImageStripSplitType getStaticImageStripSplitType () const
 retrieve static image strip split operation type
 
 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
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

bool checkProcessorType (const processor::BaseProcessor &processor)
 check processor type in derived class
 
BoolResult processAttribute (processor::BaseProcessor &processor, const boost::shared_ptr< OutputType > &pImageZStrip3dWithKernel)
 initialize processor attribute associate to split operation for a given element index More...
 
- Protected Member Functions inherited from ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, TAttribute::ValueType >
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...
 
void throwNullInputSharedPtr ()
 

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
 
- Protected Attributes inherited from ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, TAttribute::ValueType >
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
 

Detailed Description

template<typename TProcessor, typename InputDataType, typename TAttribute>
class ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute >

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

Author
E. Noirfalise
Date
2015/02/16

Member Function Documentation

◆ init() [1/3]

template<typename TProcessor , typename InputDataType , typename TAttribute >
void ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute >::init ( const boost::shared_ptr< InputDataType > &  pImage,
const ElementsRangeColl planElementInfoColl,
const KernelXYZ kernelXYZ,
const image::eStripAllocationType stripAllocationType,
const image::eStripParsingDirection stripParsingDirection 
)
inline

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

◆ init() [2/3]

template<typename TProcessor , typename InputDataType , typename TAttribute >
void ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute >::init ( const boost::shared_ptr< InputDataType > &  pImage,
const ElementsRangeColl planElementInfoColl,
const StructuringElementXYZ structuringElementXYZ,
const image::eStripAllocationType stripAllocationType,
const image::eStripParsingDirection stripParsingDirection 
)
inline

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

◆ init() [3/3]

template<typename TProcessor , typename InputDataType , typename TAttribute >
void ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute >::init ( 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 
)
inline

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

◆ processAttribute()

template<typename TProcessor , typename InputDataType , typename TAttribute >
BoolResult ipsdk::imaproc::StaticImageZStrip3dWithKernelSplit< TProcessor, InputDataType, TAttribute >::processAttribute ( processor::BaseProcessor processor,
const boost::shared_ptr< OutputType > &  pImageZStrip3dWithKernel 
)
inlineprotectedvirtual

initialize processor attribute associate to split operation for a given element index

Returns
false in case of failure

Implements ipsdk::imaproc::BaseStaticImageZStrip3dWithKernelSplit< InputDataType, TAttribute::ValueType >.


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