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  virtual int BeforeAll( void );
190 
197  virtual void BeforeRegistration( void );
198 
200  virtual void ReadFromFile( void );
201 
203  virtual void WriteToFile( const ParametersType & param ) const;
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_
elastix::SplineKernelTransform::ReadFromFile
virtual void ReadFromFile(void)
itk::AdvancedCombinationTransform::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedCombinationTransform.h:84
elastix::SplineKernelTransform::ScalarType
Superclass1::ScalarType ScalarType
Definition: elxSplineKernelTransform.h:154
itk::ElasticBodySplineKernelTransform2
Definition: itkElasticBodySplineKernelTransform2.h:59
elastix::SplineKernelTransform::BeforeRegistration
virtual void BeforeRegistration(void)
itk::AdvancedCombinationTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:88
elastix::SplineKernelTransform::TPKernelTransformType
itk::ThinPlateSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPKernelTransformType
Definition: elxSplineKernelTransform.h:213
elastix::TransformBase::FixedImageType
ElastixType::FixedImageType FixedImageType
Definition: elxTransformBase.h:157
itk::ThinPlateSplineKernelTransform2
Definition: itkThinPlateSplineKernelTransform2.h:54
itk::VolumeSplineKernelTransform2
Definition: itkVolumeSplineKernelTransform2.h:54
SmartPointer< Self >
elastix::SplineKernelTransform::InputVnlVectorType
Superclass1::InputVnlVectorType InputVnlVectorType
Definition: elxSplineKernelTransform.h:162
elastix::TransformBase::CoordRepType
ElastixType::CoordRepType CoordRepType
Definition: elxTransformBase.h:156
elastix::TransformBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxTransformBase.h:153
elastix::SplineKernelTransform::EBKernelTransformType
itk::ElasticBodySplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBKernelTransformType
Definition: elxSplineKernelTransform.h:219
itk::KernelTransform2
Definition: itkKernelTransform2.h:99
itk::KernelTransform2::PointSetType
PointSet< InputPointType, NDimensions, PointSetTraitsType > PointSetType
Definition: itkKernelTransform2.h:149
elastix::SplineKernelTransform::ITKBaseType
Superclass2::ITKBaseType ITKBaseType
Definition: elxSplineKernelTransform.h:177
elastix::SplineKernelTransform::OutputVnlVectorType
Superclass1::OutputVnlVectorType OutputVnlVectorType
Definition: elxSplineKernelTransform.h:163
itk::AdvancedCombinationTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedCombinationTransform.h:86
elastix::SplineKernelTransform::Self
SplineKernelTransform Self
Definition: elxSplineKernelTransform.h:123
elastix::SplineKernelTransform::ConfigurationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxSplineKernelTransform.h:171
elastix::SplineKernelTransform::KernelTransformType
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > KernelTransformType
Definition: elxSplineKernelTransform.h:134
itk::AdvancedCombinationTransform::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedCombinationTransform.h:79
itk::AdvancedCombinationTransform
This class combines two transforms: an 'initial transform' with a 'current transform'.
Definition: itkAdvancedCombinationTransform.h:58
elastix::TransformBase::MovingImageType
ElastixType::MovingImageType MovingImageType
Definition: elxTransformBase.h:158
elastix::SplineKernelTransform::ElastixPointer
Superclass2::ElastixPointer ElastixPointer
Definition: elxSplineKernelTransform.h:169
itk::AdvancedCombinationTransform::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedCombinationTransform.h:78
elastix::SplineKernelTransform::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxSplineKernelTransform.h:135
itkThinPlateSplineKernelTransform2.h
elastix::TransformBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxTransformBase.h:141
elastix::SplineKernelTransform::KernelTransformPointer
KernelTransformType::Pointer KernelTransformPointer
Definition: elxSplineKernelTransform.h:181
elastix::SplineKernelTransform::m_SplineKernelType
std::string m_SplineKernelType
Definition: elxSplineKernelTransform.h:255
itk::AdvancedCombinationTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedCombinationTransform.h:92
itk::ElasticBodyReciprocalSplineKernelTransform2
Definition: itkElasticBodyReciprocalSplineKernelTransform2.h:59
itkVolumeSplineKernelTransform2.h
elastix::SplineKernelTransform::OutputPointType
Superclass1::OutputPointType OutputPointType
Definition: elxSplineKernelTransform.h:165
elastix::SplineKernelTransform::RegistrationType
Superclass2::RegistrationType RegistrationType
Definition: elxSplineKernelTransform.h:172
elastix::SplineKernelTransform::operator=
void operator=(const Self &)
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition: itkAdvancedTransform.h:87
elastix::SplineKernelTransform::SplineKernelTransform
SplineKernelTransform(const Self &)
itk::ThinPlateR2LogRSplineKernelTransform2
Definition: itkThinPlateR2LogRSplineKernelTransform2.h:56
elastix::SplineKernelTransform::ConfigurationType
Superclass2::ConfigurationType ConfigurationType
Definition: elxSplineKernelTransform.h:170
elastix::SplineKernelTransform::ElastixType
Superclass2::ElastixType ElastixType
Definition: elxSplineKernelTransform.h:168
elastix::SplineKernelTransform::ReadLandmarkFile
virtual void ReadLandmarkFile(const std::string &filename, PointSetPointer &landmarkPointSet, const bool &landmarksInFixedImage)
elastix::SplineKernelTransform::BeforeAll
virtual int BeforeAll(void)
elastix::SplineKernelTransform::PointSetType
KernelTransformType::PointSetType PointSetType
Definition: elxSplineKernelTransform.h:182
elastix::TransformBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxTransformBase.h:145
itk::AdvancedCombinationTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:90
elastix::SplineKernelTransform
A transform based on the itk::KernelTransform2.
Definition: elxSplineKernelTransform.h:119
itk::AdvancedCombinationTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedCombinationTransform.h:85
elastix::SplineKernelTransform::InputPointType
Superclass1::InputPointType InputPointType
Definition: elxSplineKernelTransform.h:164
elastix::SplineKernelTransform::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: elxSplineKernelTransform.h:136
elastix::SplineKernelTransform::VKernelTransformType
itk::VolumeSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > VKernelTransformType
Definition: elxSplineKernelTransform.h:217
elastix::SplineKernelTransform::RegistrationPointer
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxSplineKernelTransform.h:173
elastix::SplineKernelTransform::DetermineTargetLandmarks
virtual bool DetermineTargetLandmarks(void)
itkElasticBodySplineKernelTransform2.h
elastix::SplineKernelTransform::InputCovariantVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
Definition: elxSplineKernelTransform.h:160
elxIncludes.h
elastix::SplineKernelTransform::Superclass1
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Definition: elxSplineKernelTransform.h:126
itk::AdvancedCombinationTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:89
itk::AdvancedCombinationTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedCombinationTransform.h:82
elastix::SplineKernelTransform::Superclass2
elx::TransformBase< TElastix > Superclass2
Definition: elxSplineKernelTransform.h:127
elastix::SplineKernelTransform::TPRKernelTransformType
itk::ThinPlateR2LogRSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPRKernelTransformType
Definition: elxSplineKernelTransform.h:215
elastix::SplineKernelTransform::OutputCovariantVectorType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
Definition: elxSplineKernelTransform.h:161
elastix::SplineKernelTransform::MovingImageType
Superclass2::MovingImageType MovingImageType
Definition: elxSplineKernelTransform.h:176
elastix::SplineKernelTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
itk::AdvancedCombinationTransform::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedCombinationTransform.h:91
itkElasticBodyReciprocalSplineKernelTransform2.h
elastix::SplineKernelTransform::InputVectorType
Superclass1::InputVectorType InputVectorType
Definition: elxSplineKernelTransform.h:158
elastix::SplineKernelTransform::CombinationTransformType
Superclass2::CombinationTransformType CombinationTransformType
Definition: elxSplineKernelTransform.h:178
elastix::TransformBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxTransformBase.h:146
elastix::SplineKernelTransform::elxClassNameMacro
elxClassNameMacro("SplineKernelTransform")
elastix::SplineKernelTransform::m_KernelTransform
KernelTransformPointer m_KernelTransform
Definition: elxSplineKernelTransform.h:246
elastix::SplineKernelTransform::SetKernelType
virtual bool SetKernelType(const std::string &kernelType)
elastix::SplineKernelTransform::WriteToFile
virtual void WriteToFile(const ParametersType &param) const
elastix::SplineKernelTransform::JacobianType
Superclass1::JacobianType JacobianType
Definition: elxSplineKernelTransform.h:157
itk::AdvancedCombinationTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:87
elastix::SplineKernelTransform::PointSetPointer
PointSetType::Pointer PointSetPointer
Definition: elxSplineKernelTransform.h:183
elastix::TransformBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxTransformBase.h:147
elastix::SplineKernelTransform::FixedImageType
Superclass2::FixedImageType FixedImageType
Definition: elxSplineKernelTransform.h:175
elastix::SplineKernelTransform::SplineKernelTransform
SplineKernelTransform()
elastix::SplineKernelTransform::DetermineSourceLandmarks
virtual void DetermineSourceLandmarks(void)
itkKernelTransform2.h
itkThinPlateR2LogRSplineKernelTransform2.h
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition: elxTransformBase.h:133
elastix
Definition: elxFixedGenericPyramid.h:25
elastix::SplineKernelTransform::NumberOfParametersType
Superclass1::NumberOfParametersType NumberOfParametersType
Definition: elxSplineKernelTransform.h:156
elastix::SplineKernelTransform::ParametersType
Superclass1::ParametersType ParametersType
Definition: elxSplineKernelTransform.h:155
elastix::SplineKernelTransform::EBRKernelTransformType
itk::ElasticBodyReciprocalSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBRKernelTransformType
Definition: elxSplineKernelTransform.h:221
elastix::SplineKernelTransform::OutputVectorType
Superclass1::OutputVectorType OutputVectorType
Definition: elxSplineKernelTransform.h:159
elastix::SplineKernelTransform::CoordRepType
Superclass2::CoordRepType CoordRepType
Definition: elxSplineKernelTransform.h:174
elastix::SplineKernelTransform::~SplineKernelTransform
virtual ~SplineKernelTransform()
Definition: elxSplineKernelTransform.h:210
elastix::TransformBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxTransformBase.h:152


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo