go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUBSplineBaseTransform.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 __itkGPUBSplineBaseTransform_h
19#define __itkGPUBSplineBaseTransform_h
20
21#include "itkGPUDataManager.h"
22#include "itkGPUImage.h"
23#include "itkGPUTransformBase.h"
24
25namespace itk
26{
28itkGPUKernelClassMacro( GPUBSplineTransformKernel );
29
41template< typename TScalarType = float, unsigned int NDimensions = 3 >
43{
44public:
45
48
51
53 itkStaticConstMacro( SpaceDimension, unsigned int, NDimensions );
54
57 itkGetConstMacro( SplineOrder, unsigned int );
58
62
65
67 bool IsBSplineTransform( void ) const override { return true; }
68
71
74
75protected:
76
83 virtual void SetSplineOrder( const unsigned int splineOrder );
84
87
90 bool GetSourceCode( std::string & source ) const override;
91
94
95private:
96
97 GPUBSplineBaseTransform( const Self & other ); // purposely not implemented
98 const Self & operator=( const Self & ); // purposely not implemented
99
100 std::vector< std::string > m_Sources;
101
102 // User specified spline order (3rd or cubic is the default)
103 unsigned int m_SplineOrder;
104};
105
106} // end namespace itk
107
108#ifndef ITK_MANUAL_INSTANTIATION
109#include "itkGPUBSplineBaseTransform.hxx"
110#endif
111
112#endif /* __itkGPUBSplineBaseTransform_h */
GPU base class for the BSplineTransform.
GPUImage< TScalarType, NDimensions > GPUCoefficientImageType
FixedArray< GPUDataManagerPointer, NDimensions > GPUCoefficientImageBaseArray
FixedArray< GPUCoefficientImagePointer, NDimensions > GPUCoefficientImageArray
GPUCoefficientImageArray m_GPUBSplineTransformCoefficientImages
GPUCoefficientImageType::Pointer GPUCoefficientImagePointer
const GPUCoefficientImageBaseArray GetGPUCoefficientImagesBases(void) const
GPUDataManager::Pointer GPUDataManagerPointer
std::vector< std::string > m_Sources
GPUCoefficientImageBaseArray m_GPUBSplineTransformCoefficientImagesBase
bool GetSourceCode(std::string &source) const override
const Self & operator=(const Self &)
virtual void SetSplineOrder(const unsigned int splineOrder)
GPUBSplineBaseTransform(const Self &other)
bool IsBSplineTransform(void) const override
const GPUCoefficientImageArray GetGPUCoefficientImages(void) const
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
Templated n-dimensional image class for the GPU.
Definition: itkGPUImage.h:64
Base class for all GPU transforms.
itkGPUKernelClassMacro(GPUBSplineTransformKernel)


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo