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

Class used to split image into sub images for data dispatch on NVidia graphic cards. More...

#include <CudaSubImageSplit.h>

Inheritance diagram for ipsdk::imaproc::CudaSubImageSplit< TProcessor, TAttribute >:
ipsdk::imaproc::BaseCudaSubImageSplit< TAttribute::StorageType > 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::StorageType InputStorageType
 input data type for split operation
 
typedef TAttribute::StorageType OutputStorageType
 output data type for split operation
 
- Public Types inherited from ipsdk::imaproc::BaseCudaSubImageSplit< TAttribute::StorageType >
typedef TAttribute::StorageType InputStorageType
 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 eSubImageSplitType &subImageSplitType, const ipUInt64 nbDevices, const InputStorageType &pImage)
 initialization method for splitted objects More...
 
void init (const eSubImageSplitType &subImageSplitType, const InputStorageType &pImage)
 initialization method for un-splitted objects More...
 
Constructors and destructors
 CudaSubImageSplit ()
 
 ~CudaSubImageSplit ()
 
- Public Member Functions inherited from ipsdk::imaproc::BaseCudaSubImageSplit< TAttribute::StorageType >
processor::eSplitStaticType getSplitStaticType () const
 retrieve static split operation type
 
eImageSplitType getImageSplitType () const
 retrieve image split operation type
 
eSubImageSplitType getSubImageSplitType () const
 retrieve sub image split type More...
 
const eVolumeParsingTypegetVolumeParsingType () const
 retrieve volume geometry parsing flag More...
 
const eColorParsingTypegetColorParsingType () const
 retrieve color geometry parsing flag More...
 
const eTemporalParsingTypegetTemporalParsingType () const
 retrieve temporal geometry parsing flag More...
 
const image::BaseImagegetImage () const
 retrieve image to be splitted More...
 
ipUInt64 getNbDevices () const
 returns the number of devices on wich images are dispatched More...
 
 BaseCudaSubImageSplit ()
 
virtual ~BaseCudaSubImageSplit ()=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 ipUInt32 elementIdx, const core::BaseRequestOrigin &requestOrigin)
 initialize processor attribute associate to split operation for a given element index More...
 
- Protected Member Functions inherited from ipsdk::imaproc::BaseCudaSubImageSplit< TAttribute::StorageType >
void initBase (const eSubImageSplitType &subImageSplitType, const TAttribute::StorageType &pImage)
 base class initialization method for splitted objects More...
 
BoolResult getSubImage (ipUInt64 deviceIdx, TAttribute::StorageType &pSubImage)
 retrieve sub image associated to a given index 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::BaseCudaSubImageSplit< TAttribute::StorageType >
eSubImageSplitType _subImageSplitType
 sub image split type associated to operation
 
eVolumeParsingType _volumeParsingType
 image volume geometry parsing flag
 
eColorParsingType _colorParsingType
 image color geometry parsing flag
 
eTemporalParsingType _temporalParsingType
 image temporal geometry parsing flag
 
TAttribute::StorageType _pImage
 pointer to image to be splitted
 

Detailed Description

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

Class used to split image into sub images for data dispatch on NVidia graphic cards.

Author
R. Abbal
Date
2021/05/25

Member Function Documentation

◆ init() [1/2]

template<typename TProcessor , typename TAttribute >
void ipsdk::imaproc::CudaSubImageSplit< TProcessor, TAttribute >::init ( const eSubImageSplitType subImageSplitType,
const ipUInt64  nbDevices,
const InputStorageType pImage 
)

initialization method for splitted objects

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif sub image split type mismatch with geometry parsing flags
ipsdk::processor::IPSDKBaseProcessingExceptionif image geometry mismatch with sub image split type or with geometry parsing flags
ipsdk::processor::IPSDKBaseProcessingExceptionif pImage.get() == 0

◆ init() [2/2]

template<typename TProcessor , typename TAttribute >
void ipsdk::imaproc::CudaSubImageSplit< TProcessor, TAttribute >::init ( const eSubImageSplitType subImageSplitType,
const InputStorageType pImage 
)
inline

initialization method for un-splitted objects

Exceptions
ipsdk::processor::IPSDKBaseProcessingExceptionif image geometry mismatch with sub image split type
ipsdk::processor::IPSDKBaseProcessingExceptionif pImage.get() == 0

◆ processAttribute()

template<typename TProcessor , typename TAttribute >
BoolResult ipsdk::imaproc::CudaSubImageSplit< TProcessor, TAttribute >::processAttribute ( processor::BaseProcessor processor,
const ipUInt32  elementIdx,
const core::BaseRequestOrigin requestOrigin 
)
inlineprotectedvirtual

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

Returns
false in case of failure

Implements ipsdk::processor::BaseStaticSplit.


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