go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkImageRandomSamplerSparseMask.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 #ifndef __ImageRandomSamplerSparseMask_h
15 #define __ImageRandomSamplerSparseMask_h
16 
18 #include "itkMersenneTwisterRandomVariateGenerator.h"
19 #include "itkImageFullSampler.h"
20 
21 namespace itk
22 {
33 template< class TInputImage >
35  public ImageRandomSamplerBase< TInputImage >
36 {
37 public:
38 
42  typedef SmartPointer< Self > Pointer;
43  typedef SmartPointer< const Self > ConstPointer;
44 
46  itkNewMacro( Self );
47 
50 
63  typedef typename Superclass::MaskType MaskType;
64 
66  itkStaticConstMacro( InputImageDimension, unsigned int,
67  Superclass::InputImageDimension );
68 
70  typedef typename InputImageType::IndexType InputImageIndexType;
71  typedef typename InputImageType::PointType InputImagePointType;
72 
74  typedef itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType;
75  typedef typename RandomGeneratorType::Pointer RandomGeneratorPointer;
76 
77 protected:
78 
81 
86 
88  void PrintSelf( std::ostream & os, Indent indent ) const;
89 
91  virtual void GenerateData( void );
92 
94  virtual void BeforeThreadedGenerateData( void );
95 
96  virtual void ThreadedGenerateData(
97  const InputImageRegionType & inputRegionForThread,
98  ThreadIdType threadId );
99 
102 
103 private:
104 
106  ImageRandomSamplerSparseMask( const Self & ); // purposely not implemented
108  void operator=( const Self & ); // purposely not implemented
109 
110 };
111 
112 } // end namespace itk
113 
114 #ifndef ITK_MANUAL_INSTANTIATION
115 #include "itkImageRandomSamplerSparseMask.hxx"
116 #endif
117 
118 #endif // end #ifndef __ImageRandomSamplerSparseMask_h
SmartPointer< Self > Pointer
void PrintSelf(std::ostream &os, Indent indent) const
RandomGeneratorType::Pointer RandomGeneratorPointer
Superclass::ImageSampleContainerType ImageSampleContainerType
virtual void ThreadedGenerateData(const InputImageRegionType &inputRegionForThread, ThreadIdType threadId)
itkStaticConstMacro(InputImageDimension, unsigned int, Superclass::InputImageDimension)
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::OutputVectorContainerType OutputVectorContainerType
itk::ImageFullSampler< InputImageType > InternalFullSamplerType
A class that defines an image sample, which is the coordinates of a point and its value...
Superclass::InputImagePointer InputImagePointer
Samples all voxels in the InputImageRegion.
Superclass::InputImagePixelType InputImagePixelType
Samples randomly some voxels of an image.
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
Superclass::InputImageConstPointer InputImageConstPointer
Superclass::OutputVectorContainerPointer OutputVectorContainerPointer
InternalFullSamplerType::Pointer InternalFullSamplerPointer
virtual void BeforeThreadedGenerateData(void)
This class is a base class for any image sampler that randomly picks samples.
Superclass::InputImageRegionType InputImageRegionType
ImageRandomSamplerBase< TInputImage > Superclass
Superclass::DataObjectPointer DataObjectPointer


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo