ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > Class Template Reference

#include <itkGPUInPlaceImageFilter.h>

Detailed Description

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
class itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >

Base class for GPU filters that take an image as input and overwrite that image as the output.

This class is the base class for GPU inplace filter. The template parameter for parent class type must be InPlaceImageFilter type so that the GPU superclass of this class can be correctly defined (NOTE: TParentImageFilter::Superclass is used to define GPUImageToImageFilter class).

Definition at line 39 of file itkGPUInPlaceImageFilter.h.

+ Inheritance diagram for itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >:
+ Collaboration diagram for itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CPUSuperclass = TParentImageFilter
 
using GPUSuperclass = GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = TInputImage
 
using OutputImagePixelType = typename GPUSuperclass::OutputImagePixelType
 
using OutputImagePointer = typename GPUSuperclass::OutputImagePointer
 
using OutputImageRegionType = typename GPUSuperclass::OutputImageRegionType
 
using OutputImageType = typename GPUSuperclass::OutputImageType
 
using Pointer = SmartPointer< Self >
 
using Self = GPUInPlaceImageFilter
 
- Public Types inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
using ConstPointer = SmartPointer< const Self >
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = TInputImage
 
using Pointer = SmartPointer< Self >
 
using Self = GPUImageToImageFilter
 
using Superclass = TParentImageFilter
 

Public Member Functions

const char * GetNameOfClass () const override
 
- Public Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
void GenerateData () override
 
virtual bool GetGPUEnabled () const
 
const char * GetNameOfClass () const override
 
virtual void GPUEnabledOn ()
 
virtual void GraftOutput (const DataObjectIdentifierType &key, typename itk::GPUTraits< TOutputImage >::Type *output)
 
virtual void GraftOutput (typename itk::GPUTraits< TOutputImage >::Type *output)
 
virtual void SetGPUEnabled (bool _arg)
 

Static Public Attributes

static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension
 
static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension
 
- Static Public Attributes inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension
 
static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension
 

Protected Member Functions

void AllocateOutputs () override
 
 GPUInPlaceImageFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~GPUInPlaceImageFilter () override
 
void ReleaseInputs () override
 
- Protected Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
virtual void GPUGenerateData ()
 
 GPUImageToImageFilter ()
 
void GraftOutput (const DataObjectIdentifierType &key, DataObject *output) override
 
void GraftOutput (DataObject *output) override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~GPUImageToImageFilter () override
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
static Pointer New ()
 
- Protected Attributes inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
GPUKernelManager::Pointer m_GPUKernelManager {}
 

Member Typedef Documentation

◆ ConstPointer

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::ConstPointer = SmartPointer<const Self>

Definition at line 50 of file itkGPUInPlaceImageFilter.h.

◆ CPUSuperclass

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::CPUSuperclass = TParentImageFilter

Definition at line 48 of file itkGPUInPlaceImageFilter.h.

◆ GPUSuperclass

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GPUSuperclass = GPUImageToImageFilter<TInputImage, TOutputImage, TParentImageFilter>

Definition at line 47 of file itkGPUInPlaceImageFilter.h.

◆ InputImageConstPointer

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageConstPointer = typename InputImageType::ConstPointer

Definition at line 68 of file itkGPUInPlaceImageFilter.h.

◆ InputImagePixelType

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImagePixelType = typename InputImageType::PixelType

Definition at line 70 of file itkGPUInPlaceImageFilter.h.

◆ InputImagePointer

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImagePointer = typename InputImageType::Pointer

Definition at line 67 of file itkGPUInPlaceImageFilter.h.

◆ InputImageRegionType

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageRegionType = typename InputImageType::RegionType

Definition at line 69 of file itkGPUInPlaceImageFilter.h.

◆ InputImageType

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageType = TInputImage

Some convenient type alias.

Definition at line 66 of file itkGPUInPlaceImageFilter.h.

◆ OutputImagePixelType

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImagePixelType = typename GPUSuperclass::OutputImagePixelType

Definition at line 59 of file itkGPUInPlaceImageFilter.h.

◆ OutputImagePointer

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImagePointer = typename GPUSuperclass::OutputImagePointer

Definition at line 57 of file itkGPUInPlaceImageFilter.h.

◆ OutputImageRegionType

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImageRegionType = typename GPUSuperclass::OutputImageRegionType

Definition at line 58 of file itkGPUInPlaceImageFilter.h.

◆ OutputImageType

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImageType = typename GPUSuperclass::OutputImageType

Superclass type alias.

Definition at line 56 of file itkGPUInPlaceImageFilter.h.

◆ Pointer

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Pointer = SmartPointer<Self>

Definition at line 49 of file itkGPUInPlaceImageFilter.h.

◆ Self

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
using itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Self = GPUInPlaceImageFilter

Standard class type aliases.

Definition at line 46 of file itkGPUInPlaceImageFilter.h.

Constructor & Destructor Documentation

◆ GPUInPlaceImageFilter()

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GPUInPlaceImageFilter ( )
protected

◆ ~GPUInPlaceImageFilter()

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::~GPUInPlaceImageFilter ( )
overrideprotected

Member Function Documentation

◆ AllocateOutputs()

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
void itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::AllocateOutputs ( )
overrideprotected

The GenerateData method normally allocates the buffers for all of the outputs of a filter. Since InPlaceImageFilter's can use an overwritten version of the input for its output, the output buffer should not be allocated. When possible, we graft the input to the filter to the output. If an InPlaceFilter has multiple outputs, then it would need to override this method to graft one of its outputs and allocate the remaining. If a filter is threaded (i.e. it provides an implementation of ThreadedGenerateData()), this method is called automatically. If an InPlaceFilter is not threaded (i.e. it provides an implementation of GenerateData()), then this method (or equivalent) must be called in GenerateData().

◆ GetNameOfClass()

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
const char* itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GetNameOfClass ( ) const
override

◆ PrintSelf()

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
void itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ ReleaseInputs()

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
void itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::ReleaseInputs ( )
overrideprotected

InPlaceImageFilter may transfer ownership of the input bulk data to the output object. Once the output object owns the bulk data (done in AllocateOutputs()), the input object must release its hold on the bulk data. ProcessObject::ReleaseInputs() only releases the input bulk data when the user has set the ReleaseDataFlag. InPlaceImageFilter::ReleaseInputs() also releases the input that it has overwritten.

See also
ProcessObject::ReleaseInputs()

Member Data Documentation

◆ InputImageDimension

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
constexpr unsigned int itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageDimension = TInputImage::ImageDimension
staticconstexpr

ImageDimension constants

Definition at line 62 of file itkGPUInPlaceImageFilter.h.

◆ OutputImageDimension

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter<TInputImage, TOutputImage>>
constexpr unsigned int itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImageDimension = TOutputImage::ImageDimension
staticconstexpr

Definition at line 63 of file itkGPUInPlaceImageFilter.h.


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