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 
29 namespace elastix
30 {
31 
114 template< class TElastix >
116  typename elx::TransformBase< TElastix >::CoordRepType,
117  elx::TransformBase< TElastix >::FixedImageDimension >,
118  public elx::TransformBase< TElastix >
119 {
120 public:
121 
128 
132  typedef itk::KernelTransform2<
135  typedef itk::SmartPointer< Self > Pointer;
136  typedef itk::SmartPointer< const Self > ConstPointer;
137 
139  itkNewMacro( Self );
140 
143 
148  elxClassNameMacro( "SplineKernelTransform" );
149 
151  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
152 
166 
179 
183  typedef typename PointSetType::Pointer PointSetPointer;
184 
189  int BeforeAll( void ) override;
190 
197  void BeforeRegistration( void ) override;
198 
200  void ReadFromFile( void ) override;
201 
203  void WriteToFile( const ParametersType & param ) const override;
204 
205 protected:
206 
211 
213  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > TPKernelTransformType;
215  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > TPRKernelTransformType;
217  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > VKernelTransformType;
219  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > EBKernelTransformType;
221  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > EBRKernelTransformType;
222 
226  virtual bool SetKernelType( const std::string & kernelType );
227 
231  virtual void DetermineSourceLandmarks( void );
232 
237  virtual bool DetermineTargetLandmarks( void );
238 
240  virtual void ReadLandmarkFile(
241  const std::string & filename,
242  PointSetPointer & landmarkPointSet,
243  const bool & landmarksInFixedImage );
244 
247 
248 private:
249 
251  SplineKernelTransform( const Self & ); // purposely not implemented
253  void operator=( const Self & ); // purposely not implemented
254 
255  std::string m_SplineKernelType;
256 
257 };
258 
259 } // end namespace elastix
260 
261 #ifndef ITK_MANUAL_INSTANTIATION
262 #include "elxSplineKernelTransform.hxx"
263 #endif
264 
265 #endif // end #ifndef __elxSplineKernelTransform_H_
A class that deals with user given parameters and command line arguments.
A transform based on the itk::KernelTransform2.
Superclass2::ConfigurationPointer ConfigurationPointer
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
void WriteToFile(const ParametersType &param) const override
itk::ElasticBodyReciprocalSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBRKernelTransformType
Superclass2::ConfigurationType ConfigurationType
Superclass1::InputVectorType InputVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
void BeforeRegistration(void) override
itk::ThinPlateR2LogRSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPRKernelTransformType
Superclass1::InputVnlVectorType InputVnlVectorType
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > KernelTransformType
KernelTransformType::PointSetType PointSetType
int BeforeAll(void) override
Superclass1::ParametersType ParametersType
virtual void DetermineSourceLandmarks(void)
itk::SmartPointer< const Self > ConstPointer
virtual void ReadLandmarkFile(const std::string &filename, PointSetPointer &landmarkPointSet, const bool &landmarksInFixedImage)
Superclass1::OutputPointType OutputPointType
elxClassNameMacro("SplineKernelTransform")
elx::TransformBase< TElastix > Superclass2
Superclass2::CoordRepType CoordRepType
itk::ThinPlateSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPKernelTransformType
Superclass1::OutputVnlVectorType OutputVnlVectorType
itk::ElasticBodySplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBKernelTransformType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
Superclass2::MovingImageType MovingImageType
Superclass2::CombinationTransformType CombinationTransformType
Superclass2::RegistrationType RegistrationType
Superclass2::ElastixPointer ElastixPointer
virtual bool SetKernelType(const std::string &kernelType)
Superclass1::InputPointType InputPointType
Superclass1::OutputVectorType OutputVectorType
KernelTransformType::Pointer KernelTransformPointer
Superclass2::FixedImageType FixedImageType
Superclass1::JacobianType JacobianType
virtual bool DetermineTargetLandmarks(void)
itk::VolumeSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > VKernelTransformType
Superclass1::NumberOfParametersType NumberOfParametersType
void ReadFromFile(void) override
Superclass2::RegistrationPointer RegistrationPointer
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
void operator=(const Self &)
This class is the elastix base class for all Transforms.
Configuration::Pointer ConfigurationPointer
ElastixType::FixedImageType FixedImageType
itk::WeakPointer< ElastixType > ElastixPointer
RegistrationType * RegistrationPointer
ElastixType::MovingImageType MovingImageType
ElastixType::CoordRepType CoordRepType
ElastixType::RegistrationBaseType RegistrationType
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::InputVnlVectorType InputVnlVectorType
Transform maps points, vectors and covariant vectors from an input space to an output space.
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
PointSet< InputPointType, NDimensions, PointSetTraitsType > PointSetType


Generated on 1652341256 for elastix by doxygen 1.9.1 elastix logo