![]() |
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 __elxWeightedCombinationTransform_H_ 00016 #define __elxWeightedCombinationTransform_H_ 00017 00018 #include "itkWeightedCombinationTransform.h" 00019 #include "itkAdvancedCombinationTransform.h" 00020 #include "elxIncludes.h" 00021 00022 namespace elastix 00023 { 00024 using namespace itk; 00025 00079 template < class TElastix > 00080 class WeightedCombinationTransformElastix: 00081 public AdvancedCombinationTransform< 00082 ITK_TYPENAME elx::TransformBase<TElastix>::CoordRepType, 00083 elx::TransformBase<TElastix>::FixedImageDimension > , 00084 public elx::TransformBase<TElastix> 00085 { 00086 public: 00087 00089 typedef WeightedCombinationTransformElastix Self; 00090 00091 typedef AdvancedCombinationTransform< 00092 typename elx::TransformBase<TElastix>::CoordRepType, 00093 elx::TransformBase<TElastix>::FixedImageDimension > Superclass1; 00094 00095 typedef elx::TransformBase<TElastix> Superclass2; 00096 00099 typedef WeightedCombinationTransform< 00100 typename elx::TransformBase<TElastix>::CoordRepType, 00101 elx::TransformBase<TElastix>::FixedImageDimension, 00102 elx::TransformBase<TElastix>::MovingImageDimension > WeightedCombinationTransformType; 00103 00104 typedef SmartPointer<Self> Pointer; 00105 typedef SmartPointer<const Self> ConstPointer; 00106 00108 itkNewMacro( Self ); 00109 00111 itkTypeMacro( WeightedCombinationTransformElastix, AdvancedCombinationTransform ); 00112 00117 elxClassNameMacro( "WeightedCombinationTransform" ); 00118 00120 itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension ); 00121 00123 typedef typename Superclass1::ScalarType ScalarType; 00124 typedef typename Superclass1::ParametersType ParametersType; 00125 typedef typename Superclass1::JacobianType JacobianType; 00126 typedef typename Superclass1::InputVectorType InputVectorType; 00127 typedef typename Superclass1::OutputVectorType OutputVectorType; 00128 typedef typename Superclass1::InputCovariantVectorType InputCovariantVectorType; 00129 typedef typename Superclass1::OutputCovariantVectorType OutputCovariantVectorType; 00130 typedef typename Superclass1::InputVnlVectorType InputVnlVectorType; 00131 typedef typename Superclass1::OutputVnlVectorType OutputVnlVectorType; 00132 typedef typename Superclass1::InputPointType InputPointType; 00133 typedef typename Superclass1::OutputPointType OutputPointType; 00134 00136 typedef typename Superclass2::ElastixType ElastixType; 00137 typedef typename Superclass2::ElastixPointer ElastixPointer; 00138 typedef typename Superclass2::ConfigurationType ConfigurationType; 00139 typedef typename Superclass2::ConfigurationPointer ConfigurationPointer; 00140 typedef typename Superclass2::RegistrationType RegistrationType; 00141 typedef typename Superclass2::RegistrationPointer RegistrationPointer; 00142 typedef typename Superclass2::CoordRepType CoordRepType; 00143 typedef typename Superclass2::FixedImageType FixedImageType; 00144 typedef typename Superclass2::MovingImageType MovingImageType; 00145 typedef typename Superclass2::ITKBaseType ITKBaseType; 00146 typedef typename Superclass2::CombinationTransformType CombinationTransformType; 00147 typedef typename Superclass2::CommandLineArgumentMapType CommandLineArgumentMapType; 00148 typedef typename Superclass2::CommandLineEntryType CommandLineEntryType; 00149 00151 typedef typename WeightedCombinationTransformType::Pointer WeightedCombinationTransformPointer; 00152 typedef typename 00153 WeightedCombinationTransformType::TransformContainerType TransformContainerType; 00154 typedef typename 00155 WeightedCombinationTransformType::TransformType SubTransformType; 00156 typedef typename 00157 WeightedCombinationTransformType::TransformPointer SubTransformPointer; 00158 00160 typedef typename Superclass2::ScalesType ScalesType; 00161 00166 virtual void BeforeRegistration(void); 00167 00175 virtual void InitializeTransform(void); 00176 00184 virtual void SetScales( void ); 00185 00191 virtual void ReadFromFile( void ); 00192 00197 virtual void WriteToFile( const ParametersType & param ) const; 00198 00201 virtual void LoadSubTransforms(void); 00202 00203 protected: 00204 00206 WeightedCombinationTransformElastix(); 00208 virtual ~WeightedCombinationTransformElastix() {}; 00209 00210 WeightedCombinationTransformPointer m_WeightedCombinationTransform; 00211 std::vector< std::string > m_SubTransformFileNames; 00212 00213 private: 00214 00216 WeightedCombinationTransformElastix( const Self& ); // purposely not implemented 00218 void operator=( const Self& ); // purposely not implemented 00219 00220 }; // end class WeightedCombinationTransformElastix 00221 00222 00223 } // end namespace elastix 00224 00225 #ifndef ITK_MANUAL_INSTANTIATION 00226 #include "elxWeightedCombinationTransform.hxx" 00227 #endif 00228 00229 #endif // end #ifndef __elxWeightedCombinationTransform_H_
Generated on 24-10-2011 for elastix by ![]() |
![]() |