ITK  5.0.0
Insight Segmentation and Registration 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>

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

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 38 of file itkGPUInPlaceImageFilter.h.

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 DataObjectIdentifierType = typename Superclass::DataObjectIdentifierType
 
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 Superclass::OutputImagePixelType
 
using OutputImageRegionType = typename Superclass::OutputImageRegionType
 
using Pointer = SmartPointer< Self >
 
using Self = GPUImageToImageFilter
 
using Superclass = TParentImageFilter
 

Public Member Functions

virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
void GenerateData () override
 
virtual bool GetGPUEnabled () const
 
virtual void GPUEnabledOff ()
 
virtual void GPUEnabledOn ()
 
virtual void GraftOutput (typename itk::GPUTraits< TOutputImage >::Type *output)
 
virtual void GraftOutput (const DataObjectIdentifierType &key, 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 (DataObject *output) override
 
void GraftOutput (const DataObjectIdentifierType &key, 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

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

Definition at line 48 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 46 of file itkGPUInPlaceImageFilter.h.

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 45 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 66 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 68 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 65 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 67 of file itkGPUInPlaceImageFilter.h.

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 64 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 57 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 55 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 56 of file itkGPUInPlaceImageFilter.h.

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 54 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 47 of file itkGPUInPlaceImageFilter.h.

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 44 of file itkGPUInPlaceImageFilter.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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().

template<typename TInputImage, typename TOutputImage = TInputImage, typename TParentImageFilter = InPlaceImageFilter< TInputImage, TOutputImage >>
virtual const char* itk::GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GetNameOfClass ( ) const
virtual
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
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

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

ImageDimension constants

Definition at line 60 of file itkGPUInPlaceImageFilter.h.

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

Definition at line 61 of file itkGPUInPlaceImageFilter.h.


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