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<
133  typename elx::TransformBase< TElastix >::CoordRepType,
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 
246  KernelTransformPointer m_KernelTransform;
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_
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
This class combines two transforms: an 'initial transform' with a 'current transform'.
virtual void BeforeRegistration(void)
Superclass1::InputVnlVectorType InputVnlVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
itk::ElasticBodyReciprocalSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBRKernelTransformType
Superclass1::OutputVnlVectorType OutputVnlVectorType
Superclass2::ElastixPointer ElastixPointer
Superclass::RegistrationPointer RegistrationPointer
virtual bool SetKernelType(const std::string &kernelType)
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Superclass1::JacobianType JacobianType
Superclass1::OutputVectorType OutputVectorType
Superclass2::RegistrationPointer RegistrationPointer
itk::ElasticBodySplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBKernelTransformType
Superclass1::NumberOfParametersType NumberOfParametersType
Superclass1::InputVectorType InputVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
itk::ThinPlateSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPKernelTransformType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Superclass2::CombinationTransformType CombinationTransformType
Superclass2::RegistrationType RegistrationType
virtual void ReadLandmarkFile(const std::string &filename, PointSetPointer &landmarkPointSet, const bool &landmarksInFixedImage)
virtual void ReadFromFile(void)
KernelTransformType::Pointer KernelTransformPointer
ElastixType::FixedImageType FixedImageType
Superclass2::FixedImageType FixedImageType
virtual void WriteToFile(void) const
Superclass1::InputPointType InputPointType
Superclass::ElastixType ElastixType
virtual void DetermineSourceLandmarks(void)
Transform maps points, vectors and covariant vectors from an input space to an output space...
Superclass2::MovingImageType MovingImageType
KernelTransformType::PointSetType PointSetType
elx::TransformBase< TElastix > Superclass2
itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > KernelTransformType
void operator=(const Self &)
ElastixType::MovingImageType MovingImageType
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
Superclass1::ParametersType ParametersType
Superclass2::ConfigurationPointer ConfigurationPointer
virtual bool DetermineTargetLandmarks(void)
itk::SmartPointer< const Self > ConstPointer
Superclass::NumberOfParametersType NumberOfParametersType
This class is the elastix base class for all Transforms.
Superclass::ConfigurationType ConfigurationType
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass2::ConfigurationType ConfigurationType
itk::ThinPlateR2LogRSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPRKernelTransformType
Superclass1::OutputPointType OutputPointType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::InputVnlVectorType InputVnlVectorType
itk::VolumeSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > VKernelTransformType
Superclass2::CoordRepType CoordRepType
PointSet< InputPointType, NDimensions, PointSetTraitsType > PointSetType
A transform based on the itk::KernelTransform2.
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
elxClassNameMacro("SplineKernelTransform")


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo