![]() |
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 __elxNearestNeighborResampleInterpolator_h 00016 #define __elxNearestNeighborResampleInterpolator_h 00017 00018 #include "itkNearestNeighborInterpolateImageFunction.h" 00019 #include "elxIncludes.h" 00020 00021 namespace elastix 00022 { 00023 using namespace itk; 00024 00041 template < class TElastix > 00042 class NearestNeighborResampleInterpolator : 00043 public 00044 NearestNeighborInterpolateImageFunction< 00045 ITK_TYPENAME ResampleInterpolatorBase<TElastix>::InputImageType, 00046 ITK_TYPENAME ResampleInterpolatorBase<TElastix>::CoordRepType >, 00047 public ResampleInterpolatorBase<TElastix> 00048 { 00049 public: 00050 00052 typedef NearestNeighborResampleInterpolator Self; 00053 typedef NearestNeighborInterpolateImageFunction< 00054 typename ResampleInterpolatorBase<TElastix>::InputImageType, 00055 typename ResampleInterpolatorBase<TElastix>::CoordRepType > Superclass1; 00056 typedef ResampleInterpolatorBase<TElastix> Superclass2; 00057 typedef SmartPointer<Self> Pointer; 00058 typedef SmartPointer<const Self> ConstPointer; 00059 00061 itkNewMacro( Self ); 00062 00064 itkTypeMacro( NearestNeighborResampleInterpolator, NearestNeighborInterpolateImageFunction ); 00065 00070 elxClassNameMacro( "FinalNearestNeighborInterpolator" ); 00071 00073 itkStaticConstMacro( ImageDimension, unsigned int,Superclass1::ImageDimension ); 00074 00076 typedef typename Superclass1::OutputType OutputType; 00077 typedef typename Superclass1::InputImageType InputImageType; 00078 typedef typename Superclass1::IndexType IndexType; 00079 typedef typename Superclass1::ContinuousIndexType ContinuousIndexType; 00080 00082 typedef typename Superclass2::ElastixType ElastixType; 00083 typedef typename Superclass2::ElastixPointer ElastixPointer; 00084 typedef typename Superclass2::ConfigurationType ConfigurationType; 00085 typedef typename Superclass2::ConfigurationPointer ConfigurationPointer; 00086 typedef typename Superclass2::RegistrationType RegistrationType; 00087 typedef typename Superclass2::RegistrationPointer RegistrationPointer; 00088 typedef typename Superclass2::ITKBaseType ITKBaseType; 00089 00090 protected: 00091 00093 NearestNeighborResampleInterpolator() {} 00095 virtual ~NearestNeighborResampleInterpolator() {} 00096 00097 private: 00098 00100 NearestNeighborResampleInterpolator( const Self& ); // purposely not implemented 00102 void operator=( const Self& ); // purposely not implemented 00103 00104 }; // end class NearestNeighborResampleInterpolator 00105 00106 00107 } // end namespace elastix 00108 00109 #ifndef ITK_MANUAL_INSTANTIATION 00110 #include "elxNearestNeighborResampleInterpolator.hxx" 00111 #endif 00112 00113 #endif // end __elxNearestNeighborResampleInterpolator_h 00114
Generated on 11-05-2012 for elastix by ![]() |
![]() |