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 Attributes
itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType > Class Template Reference

#include <itkGPUCompositeTransformCopier.h>

Detailed Description

template<typename TTypeList, typename NDimensions, typename TCompositeTransform, typename TOutputTransformPrecisionType>
class itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >

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

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 );
};
using OCLImageTypes = typelist::MakeTypeList< short, float >::Type;
using TransformType = itk::CompositeTransform< float, 3 >;
auto copier = CopierType::New();
copier->SetInputTransform(CPUTransform);
copier->Update();
TransformType::Pointer GPUTransform = copier->GetModifiableOutput();
A helper class which creates an GPU composite transform which is perfect copy of the CPU composite tr...

Note that the Update() method must be called explicitly in the filter that provides the input to the GPUCompositeTransformCopier object. This is needed because the GPUCompositeTransformCopier 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 67 of file itkGPUCompositeTransformCopier.h.

Inheritance diagram for itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >:
Inheritance graph
[legend]

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CPUCompositeTransformConstPointer = typename CPUCompositeTransformType::ConstPointer
 
using CPUCompositeTransformType = TCompositeTransform
 
using CPUScalarType = typename CPUCompositeTransformType::ScalarType
 
using CPUTransformPointer = typename CPUTransformType::Pointer
 
using CPUTransformType = typename CPUCompositeTransformType::TransformType
 
using GPUCompositeTransformPointer = typename GPUCompositeTransformType::Pointer
 
using GPUCompositeTransformType = CompositeTransform< GPUScalarType, SpaceDimension >
 
using GPUOutputTransformPointer = typename GPUTransformCopierType::GPUTransformPointer
 
using GPUScalarType = TOutputTransformPrecisionType
 
using GPUTransformCopierPointer = typename GPUTransformCopierType::Pointer
 
using GPUTransformCopierType = GPUTransformCopier< TTypeList, NDimensions, CPUTransformType, GPUScalarType >
 
using Pointer = SmartPointer< Self >
 
using Self = GPUCompositeTransformCopier
 
using Superclass = Object
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual bool GetExplicitMode () const
 
 ITK_DISALLOW_COPY_AND_MOVE (GPUCompositeTransformCopier)
 
 itkGetModifiableObjectMacro (Output, GPUCompositeTransformType)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, CPUCompositeTransformType::InputDimension)
 
virtual void SetExplicitMode (bool _arg)
 
virtual void SetInputTransform (const CPUCompositeTransformType *_arg)
 
void Update ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

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

Private Attributes

bool m_ExplicitMode
 
CPUCompositeTransformConstPointer m_InputTransform
 
ModifiedTimeType m_InternalTransformTime
 
GPUCompositeTransformPointer m_Output
 
GPUTransformCopierPointer m_TransformCopier
 

Member Typedef Documentation

◆ ConstPointer

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::ConstPointer = SmartPointer<const Self>

Definition at line 76 of file itkGPUCompositeTransformCopier.h.

◆ CPUCompositeTransformConstPointer

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::CPUCompositeTransformConstPointer = typename CPUCompositeTransformType::ConstPointer

Definition at line 86 of file itkGPUCompositeTransformCopier.h.

◆ CPUCompositeTransformType

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::CPUCompositeTransformType = TCompositeTransform

Type CPU definitions for the transform.

Definition at line 85 of file itkGPUCompositeTransformCopier.h.

◆ CPUScalarType

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::CPUScalarType = typename CPUCompositeTransformType::ScalarType

Definition at line 89 of file itkGPUCompositeTransformCopier.h.

◆ CPUTransformPointer

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::CPUTransformPointer = typename CPUTransformType::Pointer

Definition at line 88 of file itkGPUCompositeTransformCopier.h.

◆ CPUTransformType

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::CPUTransformType = typename CPUCompositeTransformType::TransformType

Definition at line 87 of file itkGPUCompositeTransformCopier.h.

◆ GPUCompositeTransformPointer

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GPUCompositeTransformPointer = typename GPUCompositeTransformType::Pointer

Definition at line 99 of file itkGPUCompositeTransformCopier.h.

◆ GPUCompositeTransformType

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GPUCompositeTransformType = CompositeTransform<GPUScalarType, SpaceDimension>

Definition at line 98 of file itkGPUCompositeTransformCopier.h.

◆ GPUOutputTransformPointer

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GPUOutputTransformPointer = typename GPUTransformCopierType::GPUTransformPointer

Definition at line 104 of file itkGPUCompositeTransformCopier.h.

◆ GPUScalarType

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GPUScalarType = TOutputTransformPrecisionType

Type GPU definitions for the transform.

Definition at line 97 of file itkGPUCompositeTransformCopier.h.

◆ GPUTransformCopierPointer

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GPUTransformCopierPointer = typename GPUTransformCopierType::Pointer

Definition at line 103 of file itkGPUCompositeTransformCopier.h.

◆ GPUTransformCopierType

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GPUTransformCopierType = GPUTransformCopier<TTypeList, NDimensions, CPUTransformType, GPUScalarType>

Type definitions for the transform copier.

Definition at line 102 of file itkGPUCompositeTransformCopier.h.

◆ Pointer

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::Pointer = SmartPointer<Self>

Definition at line 75 of file itkGPUCompositeTransformCopier.h.

◆ Self

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::Self = GPUCompositeTransformCopier

Standard class typedefs.

Definition at line 73 of file itkGPUCompositeTransformCopier.h.

◆ Superclass

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
using itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::Superclass = Object

Definition at line 74 of file itkGPUCompositeTransformCopier.h.

Constructor & Destructor Documentation

◆ GPUCompositeTransformCopier()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GPUCompositeTransformCopier ( )
protected

◆ ~GPUCompositeTransformCopier()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
virtual itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::~GPUCompositeTransformCopier ( )
inlineprotectedvirtual

Definition at line 136 of file itkGPUCompositeTransformCopier.h.

Member Function Documentation

◆ GetClassName()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
virtual const char * itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

◆ GetExplicitMode()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
virtual bool itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::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( GPUAffineTransformFactory::New() ); ObjectFactoryBase::RegisterFactory( GPUTranslationTransformFactory::New() ); ObjectFactoryBase::RegisterFactory( GPUBSplineTransformFactory::New() ); ObjectFactoryBase::RegisterFactory( GPUEuler3DTransformFactory::New() ); ObjectFactoryBase::RegisterFactory( GPUSimilarity3DTransformFactory::New() );

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::ITK_DISALLOW_COPY_AND_MOVE ( GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >  )

◆ itkGetModifiableObjectMacro()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::itkGetModifiableObjectMacro ( Output  ,
GPUCompositeTransformType   
)

Compute of the output transform.

◆ itkStaticConstMacro()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::itkStaticConstMacro ( SpaceDimension  ,
unsigned int  ,
CPUCompositeTransformType::InputDimension   
)

Dimension of the domain space. TCompositeTransform::InputDimension and TCompositeTransform::OutputDimension are the same just pick the select one of them.

◆ New()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
static Pointer itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
virtual void itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

◆ SetExplicitMode()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
virtual void itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::SetExplicitMode ( bool  _arg)
virtual

◆ SetInputTransform()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
virtual void itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::SetInputTransform ( const CPUCompositeTransformType _arg)
virtual

Get/Set the input transform.

◆ Update()

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
void itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::Update ( )

Update method.

Field Documentation

◆ m_ExplicitMode

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
bool itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::m_ExplicitMode
private

Definition at line 144 of file itkGPUCompositeTransformCopier.h.

◆ m_InputTransform

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
CPUCompositeTransformConstPointer itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::m_InputTransform
private

Definition at line 141 of file itkGPUCompositeTransformCopier.h.

◆ m_InternalTransformTime

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
ModifiedTimeType itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::m_InternalTransformTime
private

Definition at line 143 of file itkGPUCompositeTransformCopier.h.

◆ m_Output

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
GPUCompositeTransformPointer itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::m_Output
private

Definition at line 142 of file itkGPUCompositeTransformCopier.h.

◆ m_TransformCopier

template<typename TTypeList , typename NDimensions , typename TCompositeTransform , typename TOutputTransformPrecisionType >
GPUTransformCopierPointer itk::GPUCompositeTransformCopier< TTypeList, NDimensions, TCompositeTransform, TOutputTransformPrecisionType >::m_TransformCopier
private

Definition at line 145 of file itkGPUCompositeTransformCopier.h.



Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo