![]() |
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 #ifndef __elxCUDAResampler_h 00015 #define __elxCUDAResampler_h 00016 00017 00018 #include "itkCUDAResampleImageFilter.h" 00019 #include "elxIncludes.h" 00020 00021 namespace elastix 00022 { 00023 using namespace itk; 00024 00040 template < class TElastix > 00041 class CUDAResampler : 00042 public itkCUDAResampleImageFilter< 00043 ITK_TYPENAME ResamplerBase<TElastix>::InputImageType, 00044 ITK_TYPENAME ResamplerBase<TElastix>::OutputImageType, 00045 ITK_TYPENAME ResamplerBase<TElastix>::CoordRepType >, 00046 public ResamplerBase<TElastix> 00047 { 00048 public: 00049 00051 typedef CUDAResampler Self; 00052 typedef itkCUDAResampleImageFilter< 00053 typename ResamplerBase<TElastix>::InputImageType, 00054 typename ResamplerBase<TElastix>::OutputImageType, 00055 typename ResamplerBase<TElastix>::CoordRepType > Superclass1; 00056 typedef ResamplerBase<TElastix> Superclass2; 00057 typedef SmartPointer<Self> Pointer; 00058 typedef SmartPointer<const Self> ConstPointer; 00059 00061 itkNewMacro( Self ); 00062 00064 itkTypeMacro( CUDAResampler, itkCUDAResampleImageFilter ); 00065 00070 elxClassNameMacro( "CUDAResampler" ); 00071 00073 typedef typename Superclass1::InputImageType InputImageType; 00074 typedef typename Superclass1::OutputImageType OutputImageType; 00075 typedef typename Superclass1::InputImagePointer InputImagePointer; 00076 typedef typename Superclass1::OutputImagePointer OutputImagePointer; 00077 typedef typename Superclass1::InputImageRegionType InputImageRegionType; 00078 typedef typename Superclass1::TransformType TransformType; 00079 typedef typename Superclass1::TransformPointerType TransformPointerType; 00080 typedef typename Superclass1::InterpolatorType InterpolatorType; 00081 typedef typename Superclass1::InterpolatorPointerType InterpolatePointerType; 00082 typedef typename Superclass1::SizeType SizeType; 00083 typedef typename Superclass1::IndexType IndexType; 00084 typedef typename Superclass1::PointType PointType; 00085 typedef typename Superclass1::PixelType PixelType; 00086 typedef typename Superclass1::OutputImageRegionType OutputImageRegionType; 00087 typedef typename Superclass1::SpacingType SpacingType; 00088 typedef typename Superclass1::OriginPointType OriginPointType; 00089 typedef typename Superclass1::ValidTransformPointer ValidTransformPointer; 00090 00092 typedef typename Superclass2::ElastixType ElastixType; 00093 typedef typename Superclass2::ElastixPointer ElastixPointer; 00094 typedef typename Superclass2::ConfigurationType ConfigurationType; 00095 typedef typename Superclass2::ConfigurationPointer ConfigurationPointer; 00096 typedef typename Superclass2::RegistrationType RegistrationType; 00097 typedef typename Superclass2::RegistrationPointer RegistrationPointer; 00098 typedef typename Superclass2::ITKBaseType ITKBaseType; 00099 00100 /* . */ 00101 virtual int BeforeAll( void ); 00102 virtual void BeforeRegistration( void ); 00103 00105 virtual void ReadFromFile( void ); 00106 00108 virtual void WriteToFile( void ) const; 00109 00110 protected: 00111 00113 CUDAResampler() {} 00115 virtual ~CUDAResampler() {} 00116 00120 virtual void CheckForValidConfiguration( ValidTransformPointer & bSplineTransform ); 00121 00122 private: 00123 00125 CUDAResampler( const Self& ); // purposely not implemented 00127 void operator=( const Self& ); // purposely not implemented 00128 00129 }; // end class CUDAResampler 00130 00131 00132 } // end namespace elastix 00133 00134 #ifndef ITK_MANUAL_INSTANTIATION 00135 #include "elxCUDAResampler.hxx" 00136 #endif 00137 00138 #endif // end #ifndef __elxCUDAResampler_h 00139
Generated on 11-05-2012 for elastix by ![]() |
![]() |