go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxSplineKernelTransform.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 elxSplineKernelTransform_h
19#define elxSplineKernelTransform_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
22#include "itkKernelTransform2.h"
28
29namespace elastix
30{
31
114template <class TElastix>
115class ITK_TEMPLATE_EXPORT SplineKernelTransform
116 : public itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType,
117 elx::TransformBase<TElastix>::FixedImageDimension>
118 , public elx::TransformBase<TElastix>
119{
120public:
122
128
134 using Pointer = itk::SmartPointer<Self>;
135 using ConstPointer = itk::SmartPointer<const Self>;
136
138 itkNewMacro(Self);
139
142
147 elxClassNameMacro("SplineKernelTransform");
148
150 itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension);
151
153 using typename Superclass1::ScalarType;
154 using typename Superclass1::ParametersType;
155 using typename Superclass1::NumberOfParametersType;
156 using typename Superclass1::JacobianType;
157 using typename Superclass1::InputVectorType;
158 using typename Superclass1::OutputVectorType;
159 using typename Superclass1::InputCovariantVectorType;
160 using typename Superclass1::OutputCovariantVectorType;
161 using typename Superclass1::InputVnlVectorType;
162 using typename Superclass1::OutputVnlVectorType;
163 using typename Superclass1::InputPointType;
164 using typename Superclass1::OutputPointType;
165
167 using typename Superclass2::ElastixType;
168 using typename Superclass2::ParameterMapType;
169 using typename Superclass2::RegistrationType;
170 using typename Superclass2::CoordRepType;
171 using typename Superclass2::FixedImageType;
172 using typename Superclass2::MovingImageType;
175
179 using PointSetPointer = typename PointSetType::Pointer;
180
185 int
186 BeforeAll() override;
187
194 void
196
198 void
199 ReadFromFile() override;
200
201protected:
205 ~SplineKernelTransform() override = default;
206
212
216 virtual bool
217 SetKernelType(const std::string & kernelType);
218
222 virtual void
224
229 virtual bool
231
233 void
234 ReadLandmarkFile(const std::string & filename, PointSetPointer & landmarkPointSet, const bool landmarksInFixedImage);
235
238
239private:
241
245
247};
248
249} // end namespace elastix
250
251#ifndef ITK_MANUAL_INSTANTIATION
252# include "elxSplineKernelTransform.hxx"
253#endif
254
255#endif // end #ifndef elxSplineKernelTransform_h
A transform based on the itk::KernelTransform2.
ParameterMapType CreateDerivedTransformParametersMap() const override
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
ITK_DISALLOW_COPY_AND_MOVE(SplineKernelTransform)
typename PointSetType::Pointer PointSetPointer
void BeforeRegistration() override
typename KernelTransformType::PointSetType PointSetType
~SplineKernelTransform() override=default
itk::SmartPointer< const Self > ConstPointer
elxClassNameMacro("SplineKernelTransform")
typename TElastix::ParameterMapType ParameterMapType
typename Superclass2::CombinationTransformType CombinationTransformType
typename KernelTransformType::Pointer KernelTransformPointer
virtual void DetermineSourceLandmarks()
virtual bool SetKernelType(const std::string &kernelType)
void ReadLandmarkFile(const std::string &filename, PointSetPointer &landmarkPointSet, const bool landmarksInFixedImage)
virtual bool DetermineTargetLandmarks()
typename Superclass2::ITKBaseType ITKBaseType
This class is the elastix base class for all Transforms.
typename TElastix::FixedImageType FixedImageType
typename TElastix::ParameterMapType ParameterMapType
typename TElastix::MovingImageType MovingImageType
typename ElastixType::RegistrationBaseType RegistrationType
This class combines two transforms: an 'initial transform' with a 'current transform'.
PointSet< InputPointType, NDimensions, PointSetTraitsType > PointSetType


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