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  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 #ifndef __elxSplineKernelTransform_H_
15 #define __elxSplineKernelTransform_H_
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
18 #include "itkKernelTransform2.h"
24 
25 namespace elastix
26 {
27 
110 template< class TElastix >
112  typename elx::TransformBase< TElastix >::CoordRepType,
113  elx::TransformBase< TElastix >::FixedImageDimension >,
114  public elx::TransformBase< TElastix >
115 {
116 public:
117 
124 
128  typedef itk::KernelTransform2<
131  typedef itk::SmartPointer< Self > Pointer;
132  typedef itk::SmartPointer< const Self > ConstPointer;
133 
135  itkNewMacro( Self );
136 
139 
144  elxClassNameMacro( "SplineKernelTransform" );
145 
147  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
148 
162 
175 
179  typedef typename PointSetType::Pointer PointSetPointer;
180 
185  virtual int BeforeAll( void );
186 
193  virtual void BeforeRegistration( void );
194 
196  virtual void ReadFromFile( void );
197 
199  virtual void WriteToFile( const ParametersType & param ) const;
200 
201 protected:
202 
207 
209  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > TPKernelTransformType;
211  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > TPRKernelTransformType;
213  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > VKernelTransformType;
215  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > EBKernelTransformType;
217  CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > EBRKernelTransformType;
218 
222  virtual bool SetKernelType( const std::string & kernelType );
223 
227  virtual void DetermineSourceLandmarks( void );
228 
233  virtual bool DetermineTargetLandmarks( void );
234 
236  virtual void ReadLandmarkFile(
237  const std::string & filename,
238  PointSetPointer & landmarkPointSet,
239  const bool & landmarksInFixedImage );
240 
243 
244 private:
245 
247  SplineKernelTransform( const Self & ); // purposely not implemented
249  void operator=( const Self & ); // purposely not implemented
250 
251  std::string m_SplineKernelType;
252 
253 };
254 
255 } // end namespace elastix
256 
257 #ifndef ITK_MANUAL_INSTANTIATION
258 #include "elxSplineKernelTransform.hxx"
259 #endif
260 
261 #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
SmartPointer< Self > Pointer
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 11-03-2014 for elastix by doxygen 1.8.6 elastix logo