![]() |
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 __elxLinearInterpolator_h 00016 #define __elxLinearInterpolator_h 00017 00018 #include "itkLinearInterpolateImageFunction.h" 00019 #include "elxIncludes.h" 00020 00021 namespace elastix 00022 { 00023 00024 using namespace itk; 00025 00057 template < class TElastix > 00058 class LinearInterpolator : 00059 public 00060 LinearInterpolateImageFunction< 00061 ITK_TYPENAME InterpolatorBase<TElastix>::InputImageType, 00062 ITK_TYPENAME InterpolatorBase<TElastix>::CoordRepType >, 00063 public 00064 InterpolatorBase<TElastix> 00065 { 00066 public: 00067 00069 typedef LinearInterpolator Self; 00070 typedef LinearInterpolateImageFunction< 00071 typename InterpolatorBase<TElastix>::InputImageType, 00072 typename InterpolatorBase<TElastix>::CoordRepType > Superclass1; 00073 typedef InterpolatorBase<TElastix> Superclass2; 00074 typedef SmartPointer<Self> Pointer; 00075 typedef SmartPointer<const Self> ConstPointer; 00076 00078 itkNewMacro(Self); 00079 00081 itkTypeMacro( LinearInterpolator, LinearInterpolateImageFunction ); 00082 00087 elxClassNameMacro( "LinearInterpolator" ); 00088 00090 itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension ); 00091 00093 typedef typename Superclass1::OutputType OutputType; 00094 typedef typename Superclass1::InputImageType InputImageType; 00095 typedef typename Superclass1::IndexType IndexType; 00096 typedef typename Superclass1::ContinuousIndexType ContinuousIndexType; 00097 typedef typename Superclass1::PointType PointType; 00098 00100 typedef typename Superclass2::ElastixType ElastixType; 00101 typedef typename Superclass2::ElastixPointer ElastixPointer; 00102 typedef typename Superclass2::ConfigurationType ConfigurationType; 00103 typedef typename Superclass2::ConfigurationPointer ConfigurationPointer; 00104 typedef typename Superclass2::RegistrationType RegistrationType; 00105 typedef typename Superclass2::RegistrationPointer RegistrationPointer; 00106 typedef typename Superclass2::ITKBaseType ITKBaseType; 00107 00108 protected: 00109 00111 LinearInterpolator() {} 00113 virtual ~LinearInterpolator() {} 00114 00115 private: 00116 00118 LinearInterpolator( const Self& ); // purposely not implemented 00120 void operator=( const Self& ); // purposely not implemented 00121 00122 }; // end class LinearInterpolator 00123 00124 00125 } // end namespace elastix 00126 00127 #ifndef ITK_MANUAL_INSTANTIATION 00128 #include "elxLinearInterpolator.hxx" 00129 #endif 00130 00131 #endif // end #ifndef __elxLinearInterpolator_h 00132
Generated on 24-10-2011 for elastix by ![]() |
![]() |