![]() |
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 __elxRandomSampler_h 00016 #define __elxRandomSampler_h 00017 00018 #include "itkImageRandomSampler.h" 00019 #include "elxIncludes.h" 00020 00021 namespace elastix 00022 { 00023 00024 using namespace itk; 00025 00050 template < class TElastix > 00051 class RandomSampler : 00052 public 00053 ImageRandomSampler< 00054 ITK_TYPENAME elx::ImageSamplerBase<TElastix>::InputImageType >, 00055 public 00056 elx::ImageSamplerBase<TElastix> 00057 { 00058 public: 00059 00061 typedef RandomSampler Self; 00062 typedef ImageRandomSampler< 00063 typename elx::ImageSamplerBase<TElastix>::InputImageType > Superclass1; 00064 typedef elx::ImageSamplerBase<TElastix> Superclass2; 00065 typedef SmartPointer<Self> Pointer; 00066 typedef SmartPointer<const Self> ConstPointer; 00067 00069 itkNewMacro(Self); 00070 00072 itkTypeMacro( RandomSampler, ImageRandomSampler ); 00073 00078 elxClassNameMacro( "Random" ); 00079 00081 typedef typename Superclass1::DataObjectPointer DataObjectPointer; 00082 typedef typename Superclass1::OutputVectorContainerType OutputVectorContainerType; 00083 typedef typename Superclass1::OutputVectorContainerPointer OutputVectorContainerPointer; 00084 typedef typename Superclass1::InputImageType InputImageType; 00085 typedef typename Superclass1::InputImagePointer InputImagePointer; 00086 typedef typename Superclass1::InputImageConstPointer InputImageConstPointer; 00087 typedef typename Superclass1::InputImageRegionType InputImageRegionType; 00088 typedef typename Superclass1::InputImagePixelType InputImagePixelType; 00089 typedef typename Superclass1::ImageSampleType ImageSampleType; 00090 typedef typename Superclass1::ImageSampleContainerType ImageSampleContainerType; 00091 typedef typename Superclass1::MaskType MaskType; 00092 typedef typename Superclass1::InputImageIndexType InputImageIndexType; 00093 typedef typename Superclass1::InputImagePointType InputImagePointType; 00094 00096 itkStaticConstMacro( InputImageDimension, unsigned int, Superclass1::InputImageDimension ); 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 RandomSampler() {} 00117 virtual ~RandomSampler() {} 00118 00119 private: 00120 00122 RandomSampler( const Self& ); // purposely not implemented 00124 void operator=( const Self& ); // purposely not implemented 00125 00126 }; // end class RandomSampler 00127 00128 00129 } // end namespace elastix 00130 00131 #ifndef ITK_MANUAL_INSTANTIATION 00132 #include "elxRandomSampler.hxx" 00133 #endif 00134 00135 #endif // end #ifndef __elxRandomSampler_h 00136
Generated on 24-05-2012 for elastix by ![]() |
![]() |