![]() |
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 __elxBSplineInterpolator_h 00016 #define __elxBSplineInterpolator_h 00017 00018 #include "itkBSplineInterpolateImageFunction.h" 00019 #include "elxIncludes.h" 00020 00021 namespace elastix 00022 { 00023 00024 using namespace itk; 00025 00048 template < class TElastix > 00049 class BSplineInterpolator : 00050 public 00051 BSplineInterpolateImageFunction< 00052 ITK_TYPENAME InterpolatorBase<TElastix>::InputImageType, 00053 ITK_TYPENAME InterpolatorBase<TElastix>::CoordRepType, 00054 double > , //CoefficientType 00055 public 00056 InterpolatorBase<TElastix> 00057 { 00058 public: 00059 00061 typedef BSplineInterpolator Self; 00062 typedef BSplineInterpolateImageFunction< 00063 typename InterpolatorBase<TElastix>::InputImageType, 00064 typename InterpolatorBase<TElastix>::CoordRepType, 00065 double > Superclass1; 00066 typedef InterpolatorBase<TElastix> Superclass2; 00067 typedef SmartPointer<Self> Pointer; 00068 typedef SmartPointer<const Self> ConstPointer; 00069 00071 itkNewMacro( Self ); 00072 00074 itkTypeMacro( BSplineInterpolator, BSplineInterpolateImageFunction ); 00075 00080 elxClassNameMacro( "BSplineInterpolator" ); 00081 00083 itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension ); 00084 00086 typedef typename Superclass1::OutputType OutputType; 00087 typedef typename Superclass1::InputImageType InputImageType; 00088 typedef typename Superclass1::IndexType IndexType; 00089 typedef typename Superclass1::ContinuousIndexType ContinuousIndexType; 00090 typedef typename Superclass1::PointType PointType; 00091 typedef typename Superclass1::Iterator Iterator; 00092 typedef typename Superclass1::CoefficientDataType CoefficientDataType; 00093 typedef typename Superclass1::CoefficientImageType CoefficientImageType; 00094 typedef typename Superclass1::CoefficientFilter CoefficientFilter; 00095 typedef typename Superclass1::CoefficientFilterPointer CoefficientFilterPointer; 00096 typedef typename Superclass1::CovariantVectorType CovariantVectorType; 00097 00099 typedef typename Superclass2::ElastixType ElastixType; 00100 typedef typename Superclass2::ElastixPointer ElastixPointer; 00101 typedef typename Superclass2::ConfigurationType ConfigurationType; 00102 typedef typename Superclass2::ConfigurationPointer ConfigurationPointer; 00103 typedef typename Superclass2::RegistrationType RegistrationType; 00104 typedef typename Superclass2::RegistrationPointer RegistrationPointer; 00105 typedef typename Superclass2::ITKBaseType ITKBaseType; 00106 00110 virtual void BeforeEachResolution( void ); 00111 00112 protected: 00113 00115 BSplineInterpolator() {} 00117 virtual ~BSplineInterpolator() {} 00118 00119 private: 00120 00122 BSplineInterpolator( const Self& ); // purposely not implemented 00124 void operator=( const Self& ); // purposely not implemented 00125 00126 }; // end class BSplineInterpolator 00127 00128 00129 } // end namespace elastix 00130 00131 #ifndef ITK_MANUAL_INSTANTIATION 00132 #include "elxBSplineInterpolator.hxx" 00133 #endif 00134 00135 #endif // end #ifndef __elxBSplineInterpolator_h 00136
Generated on 24-05-2012 for elastix by ![]() |
![]() |