go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUInterpolateImageFunction.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkGPUInterpolateImageFunction_h
19#define itkGPUInterpolateImageFunction_h
20
21#include "itkInterpolateImageFunction.h"
23
24namespace itk
25{
37template <typename TInputImage,
38 typename TCoordRep = float,
39 typename TParentInterpolateImageFunction = InterpolateImageFunction<TInputImage, TCoordRep>>
40class ITK_TEMPLATE_EXPORT GPUInterpolateImageFunction
41 : public TParentInterpolateImageFunction
42 , public GPUInterpolatorBase
43{
44public:
46
49 using CPUSuperclass = TParentInterpolateImageFunction;
51 using Pointer = SmartPointer<Self>;
52 using ConstPointer = SmartPointer<const Self>;
53
55 itkTypeMacro(GPUInterpolateImageFunction, TParentInterpolateImageFunction);
56
58 itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension);
59
61 using InputImageType = typename CPUSuperclass::InputImageType;
62 using ContinuousIndexType = typename CPUSuperclass::ContinuousIndexType;
63 using CoordRepType = typename CPUSuperclass::CoordRepType;
64
65protected:
67 ~GPUInterpolateImageFunction() override = default;
68 void
69 PrintSelf(std::ostream & os, Indent indent) const override;
70
73 GetParametersDataManager() const override;
74};
75
76} // end namespace itk
77
78#ifndef ITK_MANUAL_INSTANTIATION
79# include "itkGPUInterpolateImageFunction.hxx"
80#endif
81
82#endif /* itkGPUInterpolateImageFunction_h */
GPU version of InterpolateImageFunction.
GPUDataManager::Pointer GetParametersDataManager() const override
void PrintSelf(std::ostream &os, Indent indent) const override
ITK_DISALLOW_COPY_AND_MOVE(GPUInterpolateImageFunction)
~GPUInterpolateImageFunction() override=default
typename CPUSuperclass::CoordRepType CoordRepType
itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension)
TParentInterpolateImageFunction CPUSuperclass
typename CPUSuperclass::InputImageType InputImageType
typename CPUSuperclass::ContinuousIndexType ContinuousIndexType
Base class fro all GPU interpolators.


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