39template <
typename TPixel,
unsigned int VImageDimension = 2>
40class ITK_TEMPLATE_EXPORT
GPUImage :
public Image<TPixel, VImageDimension>
43 ITK_DISALLOW_COPY_AND_MOVE(
GPUImage);
136 NeighborhoodAccessorFunctorType
146 const NeighborhoodAccessorFunctorType
167 const PixelContainer *
241 return "A Factory for GPUImage";
261#define OverrideImageTypeMacro(pt, dm) \
262 this->RegisterOverride(typeid(itk::Image<pt, dm>).name(), \
263 typeid(itk::GPUImage<pt, dm>).name(), \
264 "GPU Image Override", \
266 itk::CreateObjectFunction<GPUImage<pt, dm>>::New())
304template <
typename TPixelType,
unsigned int VDimension>
313#ifndef ITK_MANUAL_INSTANTIATION
314# include "itkGPUImage.hxx"
Base class for all data objects in ITK.
virtual void DataHasBeenGenerated()
Provides a common API for pixel accessors for Image and VectorImage.
GPU memory manager implemented using OpenCL. Required by GPUImage class.
SmartPointer< Self > Pointer
const char * GetDescription() const override
itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
const char * GetITKSourceVersion() const override
static void RegisterOneFactory()
itk::ObjectFactoryBase Superclass
Templated n-dimensional image class for the GPU.
const NeighborhoodAccessorFunctorType GetNeighborhoodAccessor() const
void Graft(const DataObject *data) override
typename PixelContainer::ConstPointer PixelContainerConstPointer
DefaultPixelAccessorFunctor< Self > AccessorFunctorType
const TPixel & GetPixel(const IndexType &index) const
NeighborhoodAccessorFunctor< Self > NeighborhoodAccessorFunctorType
int GetCurrentCommandQueueID()
TPixel * GetBufferPointer() override
const TPixel * GetBufferPointer() const override
const AccessorType GetPixelAccessor() const
Index< VImageDimension > IndexType
const PixelContainer * GetPixelContainer() const
NeighborhoodAccessorFunctorType GetNeighborhoodAccessor()
PixelContainer * GetPixelContainer()
SmartPointer< const Self > ConstPointer
void SetPixel(const IndexType &index, const TPixel &value)
void SetCurrentCommandQueue(int queueid)
virtual void Graft(const Self *data)
void Allocate(bool initialize=false) override
GPUDataManager * GetGPUDataManager()
TPixel & operator[](const IndexType &index)
void DataHasBeenGenerated() override
void Initialize() override
AccessorType GetPixelAccessor()
const TPixel & operator[](const IndexType &index) const
SmartPointer< Self > Pointer
WeakPointer< const Self > ConstWeakPointer
GPUImageDataManager< GPUImage >::Pointer m_DataManager
Image< TPixel, VImageDimension > Superclass
void SetPixelContainer(PixelContainer *container)
typename PixelContainer::Pointer PixelContainerPointer
TPixel & GetPixel(const IndexType &index)
static constexpr unsigned int ImageDimension
void FillBuffer(const TPixel &value)
GPUImage< TPixelType, VDimension > Type
Templated n-dimensional image class.
AccessorType GetPixelAccessor()
virtual void Graft(const Self *image)
Size< VImageDimension > SizeType
ImageRegion< VImageDimension > RegionType
DefaultPixelAccessor< PixelType > AccessorType
Offset< VImageDimension > OffsetType
ImportImageContainer< SizeValueType, PixelType > PixelContainer
Vector< SpacingValueType, VImageDimension > SpacingType
Matrix< SpacePrecisionType, VImageDimension, VImageDimension > DirectionType
PixelContainer * GetPixelContainer()
Index< VImageDimension > IndexType
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
Provides accessor interfaces to Get pixels and is meant to be used on pointers contained within Neigh...
Create instances of classes using an object factory.
static bool RegisterFactory(ObjectFactoryBase *, InsertionPositionEnum where=InsertionPositionEnum::INSERT_AT_BACK, vcl_size_t position=0)
Implements transparent reference counting.
Implements a weak reference to an object.
#define OverrideImageTypeMacro(pt, dm)
#define ITK_SOURCE_VERSION
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....