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::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType > Class Template Referenceabstract

Base class for split operation generating image x strips 2d associated to a kernel. More...

#include <BaseImageXStrip2dWithKernelSplit.h>

Inheritance diagram for ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >:
ipsdk::imaproc::BaseImageStripSplit< InputDataType > ipsdk::processor::BaseDynamicSplit 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::BaseImageStripSplit< InputDataType >
typedef InputDataType InputType
 input data type for split operation
 

Public Member Functions

eImageStripSplitType getImageStripSplitType () const
 retrieve image strip split operation type
 
const image::eStripAllocationTypegetStripAllocationType () const
 retrieve flag indicating whether splitted strip allocation should be forced More...
 
const image::eStripParsingDirectiongetStripParsingDirection () const
 retrieve strip parsing direction associated to attribute allocation should be forced More...
 
Constructors and destructors
 BaseImageXStrip2dWithKernelSplit ()
 
virtual ~BaseImageXStrip2dWithKernelSplit ()=0
 
ipUInt64 getKernelSizeX () const
 retrieve full kernel size associated to object More...
 
ipUInt64 getKernelSizeY () 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 getEndingKernelSizeX () const
 retrieve ending kernel size associated to object More...
 
ipUInt64 getEndingKernelSizeY () const
 retrieve ending kernel size associated to object More...
 
- Public Member Functions inherited from ipsdk::imaproc::BaseImageStripSplit< InputDataType >
processor::eSplitDynamicType getSplitDynamicType () const
 retrieve dynamic split operation type
 
eImageSplitType getImageSplitType () const
 retrieve image split operation type
 
const image::BaseImagegetImage () const
 retrieve image to be splitted More...
 
 BaseImageStripSplit ()
 
virtual ~BaseImageStripSplit ()=0
 
- Public Member Functions inherited from ipsdk::processor::BaseDynamicSplit
eSplitBaseType getSplitBaseType () const
 retrieve split operation base type
 
ipUInt64 getNbMinEltsPerSplit () const
 retrieve minimum number of elements for a split operation More...
 
ipUInt64 getNbMaxEltsPerSplit () const
 retrieve maximum number of elements for a split operation More...
 
BoolResult initAttribute (BaseProcessor &processor, const ipUInt64 elementsStartIndex, const ipUInt64 nbElements, const core::BaseRequestOrigin &requestOrigin)
 initialize processor attribute associate to split operation for a starting element index and a number of elements More...
 
 BaseDynamicSplit ()
 
virtual ~BaseDynamicSplit ()=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 > &pImageXStrip2dWithKernel)=0
 
BoolResult extractStrip (const ipUInt64 stripStartingOffsetX, const ipUInt64 stripSizeX, 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 stripStartingOffsetX, const ipUInt64 stripSizeX, 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 KernelXY &kernelXY, const image::eStripAllocationType &stripAllocationType, const image::eStripParsingDirection &stripParsingDirection, const ipUInt64 nbMaxEltsPerSplit)
 base class initialization method More...
 
void initBase (const boost::shared_ptr< InputDataType > &pImage, const StructuringElementXY &structuringElementXY, const image::eStripAllocationType &stripAllocationType, const image::eStripParsingDirection &stripParsingDirection, const ipUInt64 nbMaxEltsPerSplit)
 base class initialization method More...
 
void initBase (const boost::shared_ptr< InputDataType > &pImage, const ipUInt64 startingKernelSizeX, const ipUInt64 endingKernelSizeX, const ipUInt64 startingKernelSizeY, const ipUInt64 endingKernelSizeY, const image::eStripAllocationType &stripAllocationType, const image::eStripParsingDirection &stripParsingDirection, const ipUInt64 nbMaxEltsPerSplit)
 base class initialization method More...
 
- Protected Member Functions inherited from ipsdk::imaproc::BaseImageStripSplit< InputDataType >
void initSplitted (const boost::shared_ptr< InputDataType > &pImage, const processor::ElementsLocationInfo &elementsLocationInfo, const ipUInt64 nbMinEltsPerSplit=1, const ipUInt64 nbMaxEltsPerSplit=NumericLimits< ipUInt64 >::max())
 base class initialization method for splitted case More...
 
void initUnSplitted (const boost::shared_ptr< InputDataType > &pImage, const processor::ElementsLocationInfo &elementsLocationInfo)
 special base initialization method for un splitted case More...
 
const boost::shared_ptr< InputDataType > & getImagePtr () const
 retrieve image pointer to be splitted More...
 
- Protected Member Functions inherited from ipsdk::processor::BaseDynamicSplit
void initSplitted (const ElementsLocationInfo &elementsLocationInfo, const ipUInt64 nbMinEltsPerSplit=1, const ipUInt64 nbMaxEltsPerSplit=NumericLimits< ipUInt64 >::max())
 base class initialization method for splitted case More...
 
void initUnSplitted (const ElementsLocationInfo &elementsLocationInfo)
 base class initialization method for un splitted case 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 ()
 

Additional Inherited Members

- Static Public Attributes inherited from ipsdk::processor::BaseDynamicSplit
static const eSplitBaseType::domain g_splitBaseType = eSplitBaseType::eSBT_Dynamic
 data split type associated to object
 
- Protected Attributes inherited from ipsdk::processor::BaseDynamicSplit
ipUInt64 _nbMinEltsPerSplit
 minimum number of elements for a split operation
 
ipUInt64 _nbMaxEltsPerSplit
 maximum number of elements for a split operation
 

Detailed Description

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

Base class for split operation generating image x strips 2d associated to a kernel.

Author
H. Delestre
Date
2015/08/31

Member Function Documentation

◆ getStripAllocationType()

template<typename InputDataType, typename OutputDataType>
const image::eStripAllocationType& ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::getStripAllocationType ( ) const

retrieve flag indicating whether splitted strip allocation should be forced

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

◆ getStripParsingDirection()

template<typename InputDataType, typename OutputDataType>
const image::eStripParsingDirection& ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::getStripParsingDirection ( ) const

retrieve strip parsing direction associated to attribute allocation should be forced

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

◆ getKernelSizeX()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< 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::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::getKernelSizeY ( ) const

retrieve full kernel size associated to object

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

◆ getStartingKernelSizeX()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< 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::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::getStartingKernelSizeY ( ) const

retrieve starting kernel size associated to object

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

◆ getEndingKernelSizeX()

template<typename InputDataType, typename OutputDataType>
ipUInt64 ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< 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::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::getEndingKernelSizeY ( ) const

retrieve ending kernel size associated to object

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

◆ processAttribute()

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

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

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

◆ extractStrip()

template<typename InputDataType, typename OutputDataType>
BoolResult ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::extractStrip ( const ipUInt64  stripStartingOffsetX,
const ipUInt64  stripSizeX,
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::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::storeStrip ( const ipUInt64  stripStartingOffsetX,
const ipUInt64  stripSizeX,
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::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::initBase ( const boost::shared_ptr< InputDataType > &  pImage,
const KernelXY kernelXY,
const image::eStripAllocationType stripAllocationType,
const image::eStripParsingDirection stripParsingDirection,
const ipUInt64  nbMaxEltsPerSplit 
)
protected

base class initialization method

Exceptions
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage.get() == 0
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXY.getStartingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXY.getEndingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXY.getStartingSizeY() > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif kernelXY.getEndingSizeY() > pImage->getSizeY()

◆ initBase() [2/3]

template<typename InputDataType, typename OutputDataType>
void ipsdk::imaproc::BaseImageXStrip2dWithKernelSplit< InputDataType, OutputDataType >::initBase ( const boost::shared_ptr< InputDataType > &  pImage,
const StructuringElementXY structuringElementXY,
const image::eStripAllocationType stripAllocationType,
const image::eStripParsingDirection stripParsingDirection,
const ipUInt64  nbMaxEltsPerSplit 
)
protected

base class initialization method

Exceptions
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage.get() == 0
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXY.getStartingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXY.getEndingSizeX() > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXY.getStartingSizeY() > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif structuringElementXY.getEndingSizeY() > pImage->getSizeY()

◆ initBase() [3/3]

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

base class initialization method

Exceptions
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage.get() == 0
ipsdk::imaproc::IPSDKImageProcessingExceptionif startingKernelSizeX > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif endingKernelSizeX > pImage->getSizeX()
ipsdk::imaproc::IPSDKImageProcessingExceptionif startingKernelSizeY > pImage->getSizeY()
ipsdk::imaproc::IPSDKImageProcessingExceptionif endingKernelSizeY > pImage->getSizeY()

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