go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep > Class Template Reference

#include <itkGPUInterpolatorCopier.h>

Detailed Description

template<typename TTypeList, typename NDimensions, typename TInterpolator, typename TOutputCoordRep>
class itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >

A helper class which creates an GPU interpolator which is perfect copy of the CPU interpolator.

This class is NOT a filter. Although it has an API similar to a filter, this class is not intended to be used in a pipeline. Instead, the typical use will be like it is illustrated in the following code:

struct OCLImageDims
{
itkStaticConstMacro( Support1D, bool, true );
itkStaticConstMacro( Support2D, bool, true );
itkStaticConstMacro( Support3D, bool, true );
};
typedef itk::Image< short, 3 > ImageType;
typedef typelist::MakeTypeList< short, float >::Type OCLImageTypes;
typedef itk::InterpolateImageFunction< ImageType, float > InterpolatorType;
CopierType::Pointer copier = CopierType::New();
copier->SetInputInterpolator(CPUInterpolator);
copier->Update();
TransformType::Pointer GPUInterpolator = copier->GetModifiableOutput();
A helper class which creates an GPU interpolator which is perfect copy of the CPU interpolator.

Note that the Update() method must be called explicitly in the filter that provides the input to the GPUInterpolatorCopier object. This is needed because the GPUInterpolatorCopier is not a pipeline filter.

Author
Denis P. Shamonin and Marius Staring. Division of Image Processing, Department of Radiology, Leiden, The Netherlands
Note
This work was funded by the Netherlands Organisation for Scientific Research (NWO NRG-2010.02 and NWO 639.021.124).

Definition at line 66 of file itkGPUInterpolatorCopier.h.

+ Inheritance diagram for itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >:

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef CPUInterpolatorType::CoordRepType CPUCoordRepType
 
typedef CPUInputImageType::PixelType CPUInputImagePixelType
 
typedef CPUInterpolatorType::InputImageType CPUInputImageType
 
typedef CPUInterpolatorType::ConstPointer CPUInterpolatorConstPointer
 
typedef TInterpolator CPUInterpolatorType
 
typedef TOutputCoordRep GPUCoordRepType
 
typedef GPUExplicitInterpolatorType::ConstPointer GPUExplicitInterpolatorConstPointer
 
typedef GPUExplicitInterpolatorType::Pointer GPUExplicitInterpolatorPointer
 
typedef InterpolateImageFunction< GPUInputImageType, GPUCoordRepTypeGPUExplicitInterpolatorType
 
typedef itk::GPUImage< CPUInputImagePixelType, CPUInputImageType::ImageDimension > GPUInputImageType
 
typedef GPUInterpolatorType::ConstPointer GPUInterpolatorConstPointer
 
typedef GPUInterpolatorType::Pointer GPUInterpolatorPointer
 
typedef InterpolateImageFunction< CPUInputImageType, GPUCoordRepTypeGPUInterpolatorType
 
typedef SmartPointer< SelfPointer
 
typedef GPUInterpolatorCopier Self
 
typedef Object Superclass
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual bool GetExplicitMode () const
 
 itkGetModifiableObjectMacro (ExplicitOutput, GPUExplicitInterpolatorType)
 
 itkGetModifiableObjectMacro (Output, GPUInterpolatorType)
 
virtual void SetExplicitMode (bool _arg)
 
virtual void SetInputInterpolator (const CPUInterpolatorType *_arg)
 
void Update (void)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 GPUInterpolatorCopier ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~GPUInterpolatorCopier () override
 

Private Member Functions

 GPUInterpolatorCopier (const Self &)
 
void operator= (const Self &)
 

Private Attributes

bool m_ExplicitMode
 
GPUExplicitInterpolatorPointer m_ExplicitOutput
 
CPUInterpolatorConstPointer m_InputInterpolator
 
ModifiedTimeType m_InternalTransformTime
 
GPUInterpolatorPointer m_Output
 

Member Typedef Documentation

◆ ConstPointer

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef SmartPointer< const Self > itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::ConstPointer

Definition at line 74 of file itkGPUInterpolatorCopier.h.

◆ CPUCoordRepType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef CPUInterpolatorType::CoordRepType itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::CPUCoordRepType

Definition at line 86 of file itkGPUInterpolatorCopier.h.

◆ CPUInputImagePixelType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef CPUInputImageType::PixelType itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::CPUInputImagePixelType

Typedef's for explicit GPU interpolator definitions.

Definition at line 96 of file itkGPUInterpolatorCopier.h.

◆ CPUInputImageType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef CPUInterpolatorType::InputImageType itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::CPUInputImageType

Definition at line 85 of file itkGPUInterpolatorCopier.h.

◆ CPUInterpolatorConstPointer

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef CPUInterpolatorType::ConstPointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::CPUInterpolatorConstPointer

Definition at line 84 of file itkGPUInterpolatorCopier.h.

◆ CPUInterpolatorType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef TInterpolator itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::CPUInterpolatorType

Type CPU definitions for the interpolator.

Definition at line 83 of file itkGPUInterpolatorCopier.h.

◆ GPUCoordRepType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef TOutputCoordRep itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUCoordRepType

Definition at line 87 of file itkGPUInterpolatorCopier.h.

◆ GPUExplicitInterpolatorConstPointer

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef GPUExplicitInterpolatorType::ConstPointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUExplicitInterpolatorConstPointer

Definition at line 102 of file itkGPUInterpolatorCopier.h.

◆ GPUExplicitInterpolatorPointer

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef GPUExplicitInterpolatorType::Pointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUExplicitInterpolatorPointer

Definition at line 101 of file itkGPUInterpolatorCopier.h.

◆ GPUExplicitInterpolatorType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef InterpolateImageFunction< GPUInputImageType, GPUCoordRepType > itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUExplicitInterpolatorType

Definition at line 100 of file itkGPUInterpolatorCopier.h.

◆ GPUInputImageType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef itk::GPUImage< CPUInputImagePixelType, CPUInputImageType::ImageDimension > itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUInputImageType

Definition at line 98 of file itkGPUInterpolatorCopier.h.

◆ GPUInterpolatorConstPointer

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef GPUInterpolatorType::ConstPointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUInterpolatorConstPointer

Definition at line 93 of file itkGPUInterpolatorCopier.h.

◆ GPUInterpolatorPointer

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef GPUInterpolatorType::Pointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUInterpolatorPointer

Definition at line 92 of file itkGPUInterpolatorCopier.h.

◆ GPUInterpolatorType

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef InterpolateImageFunction< CPUInputImageType, GPUCoordRepType > itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUInterpolatorType

Typedef's for non explicit GPU interpolator definitions.

Definition at line 91 of file itkGPUInterpolatorCopier.h.

◆ Pointer

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef SmartPointer< Self > itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::Pointer

Definition at line 73 of file itkGPUInterpolatorCopier.h.

◆ Self

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef GPUInterpolatorCopier itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::Self

Standard class typedefs.

Definition at line 71 of file itkGPUInterpolatorCopier.h.

◆ Superclass

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
typedef Object itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::Superclass

Definition at line 72 of file itkGPUInterpolatorCopier.h.

Constructor & Destructor Documentation

◆ GPUInterpolatorCopier() [1/2]

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUInterpolatorCopier ( )
protected

◆ ~GPUInterpolatorCopier()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::~GPUInterpolatorCopier ( )
inlineoverrideprotected

Definition at line 136 of file itkGPUInterpolatorCopier.h.

◆ GPUInterpolatorCopier() [2/2]

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GPUInterpolatorCopier ( const Self )
private

Member Function Documentation

◆ GetClassName()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
virtual const char * itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

◆ GetExplicitMode()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
virtual bool itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::GetExplicitMode ( ) const
virtual

Get/Set the explicit mode. The default is true. If the explicit mode has been set to false that means that early in the code the factories has been created. ObjectFactoryBase::RegisterFactory( GPUNearestNeighborInterpolateImageFunctionFactory::New() ); ObjectFactoryBase::RegisterFactory( GPULinearInterpolateImageFunctionFactory::New() ); ObjectFactoryBase::RegisterFactory( GPUBSplineInterpolateImageFunctionFactory::New() );

◆ itkGetModifiableObjectMacro() [1/2]

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::itkGetModifiableObjectMacro ( ExplicitOutput  ,
GPUExplicitInterpolatorType   
)

Compute of the explicit output interpolator. This output should be used when ExplicitMode has been set to true.

◆ itkGetModifiableObjectMacro() [2/2]

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::itkGetModifiableObjectMacro ( Output  ,
GPUInterpolatorType   
)

Compute of the non explicit output interpolator.

◆ New()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
static Pointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
void itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::operator= ( const Self )
private

◆ PrintSelf()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
void itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetExplicitMode()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
virtual void itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::SetExplicitMode ( bool  _arg)
virtual

◆ SetInputInterpolator()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
virtual void itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::SetInputInterpolator ( const CPUInterpolatorType _arg)
virtual

Get/Set the input interpolator.

◆ Update()

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
void itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::Update ( void  )

Update method.

Field Documentation

◆ m_ExplicitMode

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
bool itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::m_ExplicitMode
private

Definition at line 148 of file itkGPUInterpolatorCopier.h.

◆ m_ExplicitOutput

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
GPUExplicitInterpolatorPointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::m_ExplicitOutput
private

Definition at line 146 of file itkGPUInterpolatorCopier.h.

◆ m_InputInterpolator

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
CPUInterpolatorConstPointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::m_InputInterpolator
private

Definition at line 144 of file itkGPUInterpolatorCopier.h.

◆ m_InternalTransformTime

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
ModifiedTimeType itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::m_InternalTransformTime
private

Definition at line 147 of file itkGPUInterpolatorCopier.h.

◆ m_Output

template<typename TTypeList , typename NDimensions , typename TInterpolator , typename TOutputCoordRep >
GPUInterpolatorPointer itk::GPUInterpolatorCopier< TTypeList, NDimensions, TInterpolator, TOutputCoordRep >::m_Output
private

Definition at line 145 of file itkGPUInterpolatorCopier.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo