#include <itkGPUImage.h>
Templated n-dimensional image class for the GPU.
Derived from itk Image class to use with GPU image filters. This class manages both CPU and GPU memory implicitly, and can be used with non-GPU itk filters as well. Memory transfer between CPU and GPU is done automatically and implicitly.
DataManager for GPUImage. This class will take care of data synchronization between CPU Image and GPU Image.
Definition at line 63 of file itkGPUImage.h.
Data Structures | |
struct | Rebind |
Public Types | |
using | AccessorFunctorType = DefaultPixelAccessorFunctor<Self> |
using | ConstPointer = SmartPointer<const Self> |
using | ConstWeakPointer = WeakPointer<const Self> |
using | NeighborhoodAccessorFunctorType = NeighborhoodAccessorFunctor<Self> |
using | PixelContainerConstPointer = typename PixelContainer::ConstPointer |
using | PixelContainerPointer = typename PixelContainer::Pointer |
using | Pointer = SmartPointer<Self> |
template<typename UPixelType , unsigned int VUImageDimension = VImageDimension> | |
using | RebindImageType = itk::GPUImage<UPixelType, VUImageDimension> |
using | Self = GPUImage |
using | Superclass = Image<TPixel, VImageDimension> |
Public Member Functions | |
void | Allocate (bool initialize=false) override |
void | AllocateGPU () |
void | DataHasBeenGenerated () override |
void | FillBuffer (const TPixel &value) |
const TPixel * | GetBufferPointer () const override |
TPixel * | GetBufferPointer () override |
virtual const char * | GetClassName () const |
int | GetCurrentCommandQueueId () |
GPUDataManager::Pointer | GetGPUDataManager () const |
virtual const DirectionType & | GetIndexToPhysicalPoint () |
NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () |
const NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () const |
virtual const DirectionType & | GetPhysicalPointToIndex () |
TPixel & | GetPixel (const IndexType &index) |
const TPixel & | GetPixel (const IndexType &index) const |
AccessorType | GetPixelAccessor () |
const AccessorType | GetPixelAccessor () const |
PixelContainer * | GetPixelContainer () |
const PixelContainer * | GetPixelContainer () const |
void | Graft (const DataObject *data) override |
void | GraftITKImage (const DataObject *data) |
void | Initialize () override |
ITK_DISALLOW_COPY_AND_MOVE (GPUImage) | |
itkStaticConstMacro (ImageDimension, unsigned int, VImageDimension) | |
void | Modified () const override |
TPixel & | operator[] (const IndexType &index) |
const TPixel & | operator[] (const IndexType &index) const |
void | SetCurrentCommandQueue (int queueid) |
void | SetPixel (const IndexType &index, const TPixel &value) |
void | SetPixelContainer (PixelContainer *container) |
void | UpdateBuffers () |
void | UpdateCPUBuffer () |
void | UpdateGPUBuffer () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
GPUImage () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~GPUImage () override=default | |
Private Attributes | |
GPUImageDataManager< GPUImage >::Pointer | m_DataManager {} |
bool | m_Graft {} |
using itk::GPUImage< TPixel, VImageDimension >::AccessorFunctorType = DefaultPixelAccessorFunctor<Self> |
Definition at line 95 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::ConstPointer = SmartPointer<const Self> |
Definition at line 71 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::ConstWeakPointer = WeakPointer<const Self> |
Definition at line 72 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::NeighborhoodAccessorFunctorType = NeighborhoodAccessorFunctor<Self> |
Definition at line 97 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::PixelContainerConstPointer = typename PixelContainer::ConstPointer |
Definition at line 92 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::PixelContainerPointer = typename PixelContainer::Pointer |
Definition at line 91 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::Pointer = SmartPointer<Self> |
Definition at line 70 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::RebindImageType = itk::GPUImage<UPixelType, VUImageDimension> |
Definition at line 107 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::Self = GPUImage |
Definition at line 68 of file itkGPUImage.h.
using itk::GPUImage< TPixel, VImageDimension >::Superclass = Image<TPixel, VImageDimension> |
Definition at line 69 of file itkGPUImage.h.
|
protected |
|
overrideprotecteddefault |
|
override |
Allocate CPU and GPU memory space
void itk::GPUImage< TPixel, VImageDimension >::AllocateGPU | ( | ) |
|
inlineoverride |
Override DataHasBeenGenerated() in DataObject class. We need this because CPU time stamp is always bigger than GPU's. That is because Modified() is called at the end of each filter in the pipeline so although we increment GPU's time stamp in GPUGenerateData() the CPU's time stamp will be increased after that.
Definition at line 235 of file itkGPUImage.h.
void itk::GPUImage< TPixel, VImageDimension >::FillBuffer | ( | const TPixel & | value | ) |
|
override |
|
override |
Get CPU buffer pointer
|
virtual |
|
inline |
Definition at line 218 of file itkGPUImage.h.
GPUDataManager::Pointer itk::GPUImage< TPixel, VImageDimension >::GetGPUDataManager | ( | ) | const |
|
virtual |
Get matrices intended to help with the conversion of Index coordinates to PhysicalPoint coordinates
|
inline |
Return the NeighborhoodAccessor functor
Definition at line 174 of file itkGPUImage.h.
|
inline |
Return the NeighborhoodAccessor functor
Definition at line 183 of file itkGPUImage.h.
|
virtual |
TPixel & itk::GPUImage< TPixel, VImageDimension >::GetPixel | ( | const IndexType & | index | ) |
const TPixel & itk::GPUImage< TPixel, VImageDimension >::GetPixel | ( | const IndexType & | index | ) | const |
|
inline |
Return the Pixel Accessor object
Definition at line 156 of file itkGPUImage.h.
|
inline |
Return the Pixel Accesor object
Definition at line 165 of file itkGPUImage.h.
|
inline |
Return a pointer to the container.
Definition at line 195 of file itkGPUImage.h.
|
inline |
Definition at line 203 of file itkGPUImage.h.
|
override |
Graft the data and information from one GPUImage to another.
void itk::GPUImage< TPixel, VImageDimension >::GraftITKImage | ( | const DataObject * | data | ) |
|
override |
itk::GPUImage< TPixel, VImageDimension >::ITK_DISALLOW_COPY_AND_MOVE | ( | GPUImage< TPixel, VImageDimension > | ) |
itk::GPUImage< TPixel, VImageDimension >::itkStaticConstMacro | ( | ImageDimension | , |
unsigned int | , | ||
VImageDimension | ) |
|
override |
Whenever the image has been modified, set the GPU Buffer to dirty
|
static |
TPixel & itk::GPUImage< TPixel, VImageDimension >::operator[] | ( | const IndexType & | index | ) |
const TPixel & itk::GPUImage< TPixel, VImageDimension >::operator[] | ( | const IndexType & | index | ) | const |
|
overrideprotected |
|
inline |
Definition at line 211 of file itkGPUImage.h.
void itk::GPUImage< TPixel, VImageDimension >::SetPixel | ( | const IndexType & | index, |
const TPixel & | value ) |
void itk::GPUImage< TPixel, VImageDimension >::SetPixelContainer | ( | PixelContainer * | container | ) |
void itk::GPUImage< TPixel, VImageDimension >::UpdateBuffers | ( | ) |
Explicit synchronize CPU/GPU buffers
void itk::GPUImage< TPixel, VImageDimension >::UpdateCPUBuffer | ( | ) |
Explicit synchronize CPU/GPU buffers
void itk::GPUImage< TPixel, VImageDimension >::UpdateGPUBuffer | ( | ) |
|
private |
Definition at line 272 of file itkGPUImage.h.
|
private |
Definition at line 270 of file itkGPUImage.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |