Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
Src
elx
5.1.0
Common
OpenCL
Filters
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
25
namespace
itk
26
{
28
itkGPUKernelClassMacro
(GPUBSplineTransformKernel);
29
41
template
<
typename
TScalarType =
float
,
unsigned
int
NDimensions = 3>
42
class
ITK_TEMPLATE_EXPORT
GPUBSplineBaseTransform
:
public
GPUTransformBase
43
{
44
public
:
46
using
Self
=
GPUBSplineBaseTransform
;
47
49
itkTypeMacro(
GPUBSplineBaseTransform
,
GPUTransformBase
);
50
52
itkStaticConstMacro
(SpaceDimension,
unsigned
int
, NDimensions);
53
56
itkGetConstMacro(SplineOrder,
unsigned
int
);
57
58
using
GPUCoefficientImageType
=
GPUImage<TScalarType, NDimensions>
;
59
using
GPUCoefficientImagePointer
=
typename
GPUCoefficientImageType::Pointer
;
60
using
GPUDataManagerPointer
=
typename
GPUDataManager::Pointer
;
61
62
using
GPUCoefficientImageArray
= FixedArray<GPUCoefficientImagePointer, NDimensions>;
63
using
GPUCoefficientImageBaseArray
= FixedArray<GPUDataManagerPointer, NDimensions>;
64
66
bool
67
IsBSplineTransform
()
const override
68
{
69
return
true
;
70
}
71
73
const
GPUCoefficientImageArray
74
GetGPUCoefficientImages
()
const
;
75
77
const
GPUCoefficientImageBaseArray
78
GetGPUCoefficientImagesBases
()
const
;
79
80
protected
:
87
virtual
void
88
SetSplineOrder
(
const
unsigned
int
splineOrder);
89
90
GPUBSplineBaseTransform
();
91
~GPUBSplineBaseTransform
()
override
=
default
;
92
95
bool
96
GetSourceCode
(std::string & source)
const override
;
97
98
GPUCoefficientImageArray
m_GPUBSplineTransformCoefficientImages
;
99
GPUCoefficientImageBaseArray
m_GPUBSplineTransformCoefficientImagesBase
;
100
101
private
:
102
GPUBSplineBaseTransform
(
const
Self
& other) =
delete
;
103
const
Self
&
104
operator=
(
const
Self
&) =
delete
;
105
106
std::vector<std::string>
m_Sources
;
107
108
// User specified spline order (3rd or cubic is the default)
109
unsigned
int
m_SplineOrder
;
110
};
111
112
}
// end namespace itk
113
114
#ifndef ITK_MANUAL_INSTANTIATION
115
# include "itkGPUBSplineBaseTransform.hxx"
116
#endif
117
118
#endif
/* itkGPUBSplineBaseTransform_h */
FixedArray< GPUCoefficientImagePointer, NDimensions >
FixedArray< GPUDataManagerPointer, NDimensions >
SmartPointer< Self >
itk::GPUBSplineBaseTransform
GPU base class for the BSplineTransform.
Definition:
itkGPUBSplineBaseTransform.h:43
itk::GPUBSplineBaseTransform::m_GPUBSplineTransformCoefficientImages
GPUCoefficientImageArray m_GPUBSplineTransformCoefficientImages
Definition:
itkGPUBSplineBaseTransform.h:98
itk::GPUBSplineBaseTransform::IsBSplineTransform
bool IsBSplineTransform() const override
Definition:
itkGPUBSplineBaseTransform.h:67
itk::GPUBSplineBaseTransform::GetGPUCoefficientImages
const GPUCoefficientImageArray GetGPUCoefficientImages() const
itk::GPUBSplineBaseTransform::GPUBSplineBaseTransform
GPUBSplineBaseTransform()
itk::GPUBSplineBaseTransform::GPUDataManagerPointer
typename GPUDataManager::Pointer GPUDataManagerPointer
Definition:
itkGPUBSplineBaseTransform.h:60
itk::GPUBSplineBaseTransform::GPUCoefficientImagePointer
typename GPUCoefficientImageType::Pointer GPUCoefficientImagePointer
Definition:
itkGPUBSplineBaseTransform.h:59
itk::GPUBSplineBaseTransform::operator=
const Self & operator=(const Self &)=delete
itk::GPUBSplineBaseTransform::m_Sources
std::vector< std::string > m_Sources
Definition:
itkGPUBSplineBaseTransform.h:106
itk::GPUBSplineBaseTransform::m_GPUBSplineTransformCoefficientImagesBase
GPUCoefficientImageBaseArray m_GPUBSplineTransformCoefficientImagesBase
Definition:
itkGPUBSplineBaseTransform.h:99
itk::GPUBSplineBaseTransform::GetSourceCode
bool GetSourceCode(std::string &source) const override
itk::GPUBSplineBaseTransform::SetSplineOrder
virtual void SetSplineOrder(const unsigned int splineOrder)
itk::GPUBSplineBaseTransform::m_SplineOrder
unsigned int m_SplineOrder
Definition:
itkGPUBSplineBaseTransform.h:109
itk::GPUBSplineBaseTransform::GetGPUCoefficientImagesBases
const GPUCoefficientImageBaseArray GetGPUCoefficientImagesBases() const
itk::GPUBSplineBaseTransform::~GPUBSplineBaseTransform
~GPUBSplineBaseTransform() override=default
itk::GPUBSplineBaseTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
itk::GPUBSplineBaseTransform::GPUBSplineBaseTransform
GPUBSplineBaseTransform(const Self &other)=delete
itk::GPUImage
Templated n-dimensional image class for the GPU.
Definition:
itkGPUImage.h:64
itk::GPUTransformBase
Base class for all GPU transforms.
Definition:
itkGPUTransformBase.h:37
itkGPUDataManager.h
itkGPUImage.h
itkGPUTransformBase.h
itk
Definition:
itkAdvancedImageToImageMetric.h:44
itk::itkGPUKernelClassMacro
itkGPUKernelClassMacro(GPUBSplineTransformKernel)
Generated on 2023-01-13 for elastix by
1.9.6