![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 00015 #ifndef __elxDeformationFieldTransform_H__ 00016 #define __elxDeformationFieldTransform_H__ 00017 00018 #include "itkDeformationFieldInterpolatingTransform.h" 00019 00020 #include "elxIncludes.h" 00021 #include "itkAdvancedCombinationTransform.h" 00022 00023 00024 namespace elastix 00025 { 00026 using namespace itk; 00027 00053 template < class TElastix > 00054 class DeformationFieldTransform: 00055 public 00056 AdvancedCombinationTransform< 00057 ITK_TYPENAME elx::TransformBase<TElastix>::CoordRepType, 00058 elx::TransformBase<TElastix>::FixedImageDimension >, 00059 public 00060 TransformBase<TElastix> 00061 { 00062 public: 00063 00065 typedef DeformationFieldTransform Self; 00066 00069 typedef DeformationFieldInterpolatingTransform< 00070 typename elx::TransformBase<TElastix>::CoordRepType, 00071 elx::TransformBase<TElastix>::FixedImageDimension, 00072 float > DeformationFieldInterpolatingTransformType; 00073 00074 typedef AdvancedCombinationTransform< 00075 typename elx::TransformBase<TElastix>::CoordRepType, 00076 elx::TransformBase<TElastix>::FixedImageDimension > Superclass1; 00077 00078 typedef elx::TransformBase< TElastix > Superclass2; 00079 00080 typedef SmartPointer< Self > Pointer; 00081 typedef SmartPointer< const Self > ConstPointer; 00082 00084 itkNewMacro( Self ); 00085 00087 itkTypeMacro( DeformationFieldTransform, AdvancedCombinationTransform ); 00088 00093 elxClassNameMacro( "DeformationFieldTransform" ); 00094 00096 itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension ); 00097 00099 typedef typename Superclass1::ScalarType ScalarType; 00100 typedef typename Superclass1::ParametersType ParametersType; 00101 typedef typename Superclass1::JacobianType JacobianType; 00102 typedef typename Superclass1::InputVectorType InputVectorType; 00103 typedef typename Superclass1::OutputVectorType OutputVectorType; 00104 typedef typename Superclass1::InputCovariantVectorType InputCovariantVectorType; 00105 typedef typename Superclass1::OutputCovariantVectorType OutputCovariantVectorType; 00106 typedef typename Superclass1::InputVnlVectorType InputVnlVectorType; 00107 typedef typename Superclass1::OutputVnlVectorType OutputVnlVectorType; 00108 typedef typename Superclass1::InputPointType InputPointType; 00109 typedef typename Superclass1::OutputPointType OutputPointType; 00110 00112 typedef typename DeformationFieldInterpolatingTransformType::DeformationFieldType DeformationFieldType; 00113 typedef typename DeformationFieldInterpolatingTransformType::DeformationFieldVectorType DeformationFieldVectorType; 00114 00115 typedef typename DeformationFieldInterpolatingTransformType::Pointer 00116 DeformationFieldInterpolatingTransformPointer; 00117 00119 typedef typename Superclass2::ElastixType ElastixType; 00120 typedef typename Superclass2::ElastixPointer ElastixPointer; 00121 typedef typename Superclass2::ConfigurationType ConfigurationType; 00122 typedef typename Superclass2::ConfigurationPointer ConfigurationPointer; 00123 typedef typename Superclass2::RegistrationType RegistrationType; 00124 typedef typename Superclass2::RegistrationPointer RegistrationPointer; 00125 typedef typename Superclass2::CoordRepType CoordRepType; 00126 typedef typename Superclass2::FixedImageType FixedImageType; 00127 typedef typename Superclass2::MovingImageType MovingImageType; 00128 typedef typename Superclass2::ITKBaseType ITKBaseType; 00129 typedef typename Superclass2::CombinationTransformType CombinationTransformType; 00130 00132 virtual void ReadFromFile( void ); 00133 00135 virtual void WriteToFile( const ParametersType & param ) const; 00136 00137 protected: 00138 00140 DeformationFieldTransform(); 00142 virtual ~DeformationFieldTransform() {}; 00143 00144 private: 00145 00147 DeformationFieldTransform( const Self& ); // purposely not implemented 00149 void operator=( const Self& ); // purposely not implemented 00150 00151 typedef typename DeformationFieldType::DirectionType DirectionType; 00152 00155 DeformationFieldInterpolatingTransformPointer m_DeformationFieldInterpolatingTransform; 00156 00158 DirectionType m_OriginalDeformationFieldDirection; 00159 00160 }; // end class DeformationFieldTransform 00161 00162 00163 } // end namespace elastix 00164 00165 #ifndef ITK_MANUAL_INSTANTIATION 00166 #include "elxDeformationFieldTransform.hxx" 00167 #endif 00168 00169 #endif // end #ifndef __elxDeformationFieldTransform_H__ 00170
Generated on 24-05-2012 for elastix by ![]() |
![]() |