go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxRandomSampler.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __elxRandomSampler_h
16 #define __elxRandomSampler_h
17 
18 #include "itkImageRandomSampler.h"
19 #include "elxIncludes.h"
20 
21 namespace elastix
22 {
23 
24 using namespace itk;
25 
50  template < class TElastix >
51  class RandomSampler :
52  public
54  ITK_TYPENAME elx::ImageSamplerBase<TElastix>::InputImageType >,
55  public
56  elx::ImageSamplerBase<TElastix>
57  {
58  public:
59 
62  typedef ImageRandomSampler<
65  typedef SmartPointer<Self> Pointer;
66  typedef SmartPointer<const Self> ConstPointer;
67 
69  itkNewMacro(Self);
70 
72  itkTypeMacro( RandomSampler, ImageRandomSampler );
73 
78  elxClassNameMacro( "Random" );
79 
91  typedef typename Superclass1::MaskType MaskType;
94 
96  itkStaticConstMacro( InputImageDimension, unsigned int, Superclass1::InputImageDimension );
97 
99  typedef typename Superclass2::ElastixType ElastixType;
100  typedef typename Superclass2::ElastixPointer ElastixPointer;
101  typedef typename Superclass2::ConfigurationType ConfigurationType;
102  typedef typename Superclass2::ConfigurationPointer ConfigurationPointer;
103  typedef typename Superclass2::RegistrationType RegistrationType;
104  typedef typename Superclass2::RegistrationPointer RegistrationPointer;
105  typedef typename Superclass2::ITKBaseType ITKBaseType;
106 
110  virtual void BeforeEachResolution(void);
111 
112  protected:
113 
117  virtual ~RandomSampler() {}
118 
119  private:
120 
122  RandomSampler( const Self& ); // purposely not implemented
124  void operator=( const Self& ); // purposely not implemented
125 
126  }; // end class RandomSampler
127 
128 
129 } // end namespace elastix
130 
131 #ifndef ITK_MANUAL_INSTANTIATION
132 #include "elxRandomSampler.hxx"
133 #endif
134 
135 #endif // end #ifndef __elxRandomSampler_h
136 


Generated on 27-06-2013 for elastix by doxygen 1.8.3.1 elastix logo