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::InputImageTile3dCollSplit< TProcessor, TAttribute > Class Template Reference

Concrete class for image tile 3d collection split operations for data dispatch using predefined coordinates. More...

#include <InputImageTile3dCollSplit.h>

Inheritance diagram for ipsdk::imaproc::InputImageTile3dCollSplit< TProcessor, TAttribute >:
ipsdk::imaproc::BaseImageTile3dCollSplit< TAttribute::TileType > ipsdk::imaproc::BaseImageTileCollSplit< TAttribute::TileType ::ImageType > ipsdk::processor::BaseDynamicSplit ipsdk::processor::BaseDataSplit

Public Types

typedef TProcessor ProcessorType
 processor type associated to object
 
typedef TAttribute AttributeType
 attribute type associated to object
 
typedef BaseImageTile3dCollSplit< typename TAttribute::TileType > BaseClassType
 base class type
 
typedef BaseClassType::InputImageType InputImageType
 input image type associated to operation
 
typedef boost::shared_ptr< InputImageTypeInputImagePtrType
 shared pointer to input image type associated to operation
 
typedef TAttribute::TileType OutputTileType
 output tile type associated to operation
 
typedef BaseClassType::Tile3dPtr Tile3dPtr
 shared pointer to tile
 
typedef BaseClassType::Tile3dColl Tile3dColl
 tile 3d collection created by splitting operation
 
- Public Types inherited from ipsdk::imaproc::BaseImageTile3dCollSplit< TAttribute::TileType >
typedef TAttribute::TileType ::ImageType InputImageType
 input image type associated to 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< InputImageType > &pImage, const image::Border3dPolicy &border3dPolicy, const Tile3dCoordsColl &tile3dCoordsColl, const ipUInt64 nbMinEltsPerSplit=1, const ipUInt64 nbMaxEltsPerSplit=NumericLimits< ipUInt32 >::max())
 object initialization method More...
 
Constructors and destructor
 InputImageTile3dCollSplit ()
 
 ~InputImageTile3dCollSplit ()
 
- Public Member Functions inherited from ipsdk::imaproc::BaseImageTile3dCollSplit< TAttribute::TileType >
eImageTileCollSplitType getImageTileCollSplitType () const
 retrieve image tile collection split type
 
 BaseImageTile3dCollSplit ()
 
virtual ~BaseImageTile3dCollSplit ()=0
 
- Public Member Functions inherited from ipsdk::imaproc::BaseImageTileCollSplit< TAttribute::TileType ::ImageType >
processor::eSplitDynamicType getSplitDynamicType () const
 retrieve dynamic split operation type
 
eImageSplitType getImageSplitType () const
 retrieve image split operation type
 
const image::BaseImagegetImage () const
 retrieve image from where tiles are extracted More...
 
 BaseImageTileCollSplit ()
 
virtual ~BaseImageTileCollSplit ()=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
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
 
Tile3dPtr extractTile3d (const Tile3dCoords &curTile3dCoords)
 method allowing to create a new tile given its coordinates
 
BoolResult processAttribute (processor::BaseProcessor &processor, const Tile3dColl &tile3dColl)
 initialize processor attribute associate to split operation for a given tile 3d collection More...
 
- Protected Member Functions inherited from ipsdk::imaproc::BaseImageTile3dCollSplit< TAttribute::TileType >
void initBase (const boost::shared_ptr< InputImageType > &pImage, const Tile3dCoordsColl &tile3dCoordsColl, const ipUInt64 nbMinEltsPerSplit, const ipUInt64 nbMaxEltsPerSplit)
 base class initialization method More...
 
- Protected Member Functions inherited from ipsdk::imaproc::BaseImageTileCollSplit< TAttribute::TileType ::ImageType >
void initBase (const boost::shared_ptr< TAttribute::TileType ::ImageType > &pImage, const processor::ElementsLocationInfo &elementsLocationInfo, const ipUInt64 nbMinEltsPerSplit=1, const ipUInt64 nbMaxEltsPerSplit=NumericLimits< ipUInt64 >::max())
 base class initialization method More...
 
const boost::shared_ptr< TAttribute::TileType ::ImageType > & getImagePtr () const
 retrieve image pointer from where tiles are extracted 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...
 
void throwNullInputSharedPtr ()
 

Protected Attributes

image::Border3dPolicy _border3dPolicy
 border policy used to generate tile parts outside from image
 
- Protected Attributes inherited from ipsdk::imaproc::BaseImageTile3dCollSplit< TAttribute::TileType >
Tile3dCoordsColl _tile3dCoordsColl
 collection of tile coordinates associated to split
 
- 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
 

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 Types inherited from ipsdk::imaproc::BaseImageTile3dCollSplit< TAttribute::TileType >
typedef boost::shared_ptr< TAttribute::TileType > Tile3dPtr
 shared pointer to tile
 
typedef std::vector< Tile3dPtrTile3dColl
 tile 3d collection created by splitting operation
 

Detailed Description

template<typename TProcessor, typename TAttribute>
class ipsdk::imaproc::InputImageTile3dCollSplit< TProcessor, TAttribute >

Concrete class for image tile 3d collection split operations for data dispatch using predefined coordinates.

Author
E.Noirfalise
Date
2016/09/28

Member Function Documentation

◆ init()

template<typename TProcessor , typename TAttribute >
void ipsdk::imaproc::InputImageTile3dCollSplit< TProcessor, TAttribute >::init ( const boost::shared_ptr< InputImageType > &  pImage,
const image::Border3dPolicy border3dPolicy,
const Tile3dCoordsColl tile3dCoordsColl,
const ipUInt64  nbMinEltsPerSplit = 1,
const ipUInt64  nbMaxEltsPerSplit = NumericLimits<ipUInt32>::max() 
)
inline

object initialization method

Exceptions
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage.get() == 0
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage->getVolumeGeometryType() != image::eVolumeGeometryType::eVGT_3d
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage->getColorGeometryType() != image::eColorGeometryType::eCGT_Grey
ipsdk::imaproc::IPSDKImageProcessingExceptionif pImage->getTemporalGeometryType() != image::eTemporalGeometryType::eTGT_Single
ipsdk::processor::IPSDKBaseProcessingExceptionif tile3dCoordsColl.empty() == true
ipsdk::processor::IPSDKBaseProcessingExceptionif nbMinEltsPerSplit == 0
ipsdk::processor::IPSDKBaseProcessingExceptionif nbMaxEltsPerSplit < nbMinEltsPerSplit

◆ processAttribute()

template<typename TProcessor , typename TAttribute >
BoolResult ipsdk::imaproc::InputImageTile3dCollSplit< TProcessor, TAttribute >::processAttribute ( processor::BaseProcessor processor,
const Tile3dColl tile3dColl 
)
inlineprotectedvirtual

initialize processor attribute associate to split operation for a given tile 3d collection

Returns
false in case of failure

Implements ipsdk::imaproc::BaseImageTile3dCollSplit< TAttribute::TileType >.


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