18#ifndef elxOpenCLResampler_h
19#define elxOpenCLResampler_h
22#include "elxOpenCLSupportedImageTypes.h"
49template <
class TElastix>
51 :
public itk::ResampleImageFilter<typename ResamplerBase<TElastix>::InputImageType,
52 typename ResamplerBase<TElastix>::OutputImageType,
53 typename ResamplerBase<TElastix>::CoordRepType>
62 using Superclass1 = itk::ResampleImageFilter<typename ResamplerBase<TElastix>::InputImageType,
82 using typename Superclass1::InterpolatorType;
83 using typename Superclass1::TransformType;
85 using typename Superclass1::InputImageType;
88 using typename Superclass1::OutputImageType;
139 OpenCLImageDimentions,
149 itk::InterpolateImageFunction<InterpolatorInputImageType, InterpolatorCoordRepType>;
183#ifndef ITK_MANUAL_INSTANTIATION
184# include "elxOpenCLResampler.hxx"
A resampler based on the itk::GPUResampleImageFilter. The parameters used in this class are:
void GenerateData() override
typename itk::GPUAdvancedCombinationTransformCopier< OpenCLImageTypes, OpenCLImageDimentions, AdvancedCombinationTransformType, float > TransformCopierType
typename GPUResamplerType::Pointer GPUResamplerPointer
typename InterpolatorType::CoordRepType InterpolatorCoordRepType
bool m_GPUResamplerCreated
typename TransformCopierType::GPUComboTransformPointer GPUTransformPointer
typename InterpolateCopierType::GPUExplicitInterpolatorPointer GPUExplicitInterpolatorPointer
ParameterMapType CreateDerivedTransformParameterMap() const override
ITK_DISALLOW_COPY_AND_MOVE(OpenCLResampler)
typename TransformCopierType::Pointer TransformCopierPointer
void BeforeGenerateData()
typename ElastixType::ParameterMapType ParameterMapType
typename itk::GPUInterpolatorCopier< OpenCLImageTypes, OpenCLImageDimentions, InterpolateImageFunctionType, float > InterpolateCopierType
TransformCopierPointer m_TransformCopier
void SwitchingToCPUAndReport(const bool configError)
itk::InterpolateImageFunction< InterpolatorInputImageType, InterpolatorCoordRepType > InterpolateImageFunctionType
~OpenCLResampler() override=default
itk::ResampleImageFilter< typename ResamplerBase< TElastix >::InputImageType, typename ResamplerBase< TElastix >::OutputImageType, typename ResamplerBase< TElastix >::CoordRepType > Superclass1
elxClassNameMacro("OpenCLResampler")
typename GPUInputImageType::Pointer GPUInputImagePointer
itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
void ReadFromFile() override
void SetInterpolator(InterpolatorType *_arg) override
GPUResamplerPointer m_GPUResampler
typename InputImageType::PixelType InputImagePixelType
void SetTransform(const TransformType *_arg) override
typename OutputImageType::RegionType OutputImageRegionType
typename InterpolateCopierType::Pointer InterpolateCopierPointer
typename InterpolatorType::InputImageType InterpolatorInputImageType
typename ResamplerBase< TElastix >::CoordRepType InterpolatorPrecisionType
typename itk::AdvancedCombinationTransform< InterpolatorPrecisionType, OutputImageType::ImageDimension > AdvancedCombinationTransformType
void BeforeRegistration() override
InterpolateCopierPointer m_InterpolatorCopier
typename OutputImageType::PixelType OutputImagePixelType
typename ElastixType::MovingImageType OutputImageType
typename ElastixType::ParameterMapType ParameterMapType
typename ITKBaseType::TransformType TransformType
typename ITKBaseType::InterpolatorType InterpolatorType
Templated n-dimensional image class for the GPU.
SmartPointer< Self > Pointer
A helper class which creates an GPU interpolator which is perfect copy of the CPU interpolator.
GPU version of ResampleImageFilter.
SmartPointer< Self > Pointer