go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUInterpolatorCopier.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 __itkGPUInterpolatorCopier_h
19#define __itkGPUInterpolatorCopier_h
20
21#include "itkInterpolateImageFunction.h"
22#include "itkGPUImage.h"
23
24namespace itk
25{
64template< typename TTypeList, typename NDimensions,
65typename TInterpolator, typename TOutputCoordRep >
66class GPUInterpolatorCopier : public Object
67{
68public:
69
72 typedef Object Superclass;
74 typedef SmartPointer< const Self > ConstPointer;
75
77 itkNewMacro( Self );
78
80 itkTypeMacro( GPUInterpolatorCopier, Object );
81
83 typedef TInterpolator CPUInterpolatorType;
84 typedef typename CPUInterpolatorType::ConstPointer CPUInterpolatorConstPointer;
85 typedef typename CPUInterpolatorType::InputImageType CPUInputImageType;
86 typedef typename CPUInterpolatorType::CoordRepType CPUCoordRepType;
87 typedef TOutputCoordRep GPUCoordRepType;
88
90 typedef InterpolateImageFunction< CPUInputImageType, GPUCoordRepType >
92 typedef typename GPUInterpolatorType::Pointer GPUInterpolatorPointer;
93 typedef typename GPUInterpolatorType::ConstPointer GPUInterpolatorConstPointer;
94
96 typedef typename CPUInputImageType::PixelType CPUInputImagePixelType;
99 typedef InterpolateImageFunction< GPUInputImageType, GPUCoordRepType >
101 typedef typename GPUExplicitInterpolatorType::Pointer GPUExplicitInterpolatorPointer;
102 typedef typename GPUExplicitInterpolatorType::ConstPointer GPUExplicitInterpolatorConstPointer;
103
105 itkSetConstObjectMacro( InputInterpolator, CPUInterpolatorType );
106
109
113
120 itkGetConstMacro( ExplicitMode, bool );
121 itkSetMacro( ExplicitMode, bool );
122
124 void Update( void );
125
126#ifdef ITK_USE_CONCEPT_CHECKING
127 // Begin concept checking
128 itkConceptMacro( OutputCoordRepIsFloatingPointCheck,
129 ( Concept::IsFloatingPoint< TOutputCoordRep > ) );
130 // End concept checking
131#endif
132
133protected:
134
137 void PrintSelf( std::ostream & os, Indent indent ) const override;
138
139private:
140
141 GPUInterpolatorCopier( const Self & ); // purposely not implemented
142 void operator=( const Self & ); // purposely not implemented
143
147 ModifiedTimeType m_InternalTransformTime;
149};
150
151} // end namespace itk
152
153#ifndef ITK_MANUAL_INSTANTIATION
154#include "itkGPUInterpolatorCopier.hxx"
155#endif
156
157#endif /* __itkGPUInterpolatorCopier_h */
Templated n-dimensional image class for the GPU.
Definition: itkGPUImage.h:64
A helper class which creates an GPU interpolator which is perfect copy of the CPU interpolator.
CPUInputImageType::PixelType CPUInputImagePixelType
void operator=(const Self &)
itk::GPUImage< CPUInputImagePixelType, CPUInputImageType::ImageDimension > GPUInputImageType
InterpolateImageFunction< CPUInputImageType, GPUCoordRepType > GPUInterpolatorType
GPUExplicitInterpolatorType::Pointer GPUExplicitInterpolatorPointer
GPUInterpolatorType::Pointer GPUInterpolatorPointer
CPUInterpolatorType::InputImageType CPUInputImageType
InterpolateImageFunction< GPUInputImageType, GPUCoordRepType > GPUExplicitInterpolatorType
SmartPointer< const Self > ConstPointer
GPUExplicitInterpolatorType::ConstPointer GPUExplicitInterpolatorConstPointer
itkGetModifiableObjectMacro(Output, GPUInterpolatorType)
CPUInterpolatorType::ConstPointer CPUInterpolatorConstPointer
itkGetModifiableObjectMacro(ExplicitOutput, GPUExplicitInterpolatorType)
GPUExplicitInterpolatorPointer m_ExplicitOutput
GPUInterpolatorCopier(const Self &)
CPUInterpolatorConstPointer m_InputInterpolator
CPUInterpolatorType::CoordRepType CPUCoordRepType
GPUInterpolatorType::ConstPointer GPUInterpolatorConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo