go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkImageRandomSamplerBase.h
Go to the documentation of this file.
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 __ImageRandomSamplerBase_h
00016 #define __ImageRandomSamplerBase_h
00017 
00018 #include "itkImageSamplerBase.h"
00019 
00020 namespace itk
00021 {
00022 
00032   template < class TInputImage >
00033   class ImageRandomSamplerBase :
00034     public ImageSamplerBase< TInputImage >
00035   {
00036   public:
00037 
00039     typedef ImageRandomSamplerBase            Self;
00040     typedef ImageSamplerBase< TInputImage >   Superclass;
00041     typedef SmartPointer<Self>                Pointer;
00042     typedef SmartPointer<const Self>          ConstPointer;
00043 
00045     itkNewMacro( Self );
00046 
00048     itkTypeMacro( ImageRandomSamplerBase, ImageSamplerBase );
00049 
00051     typedef typename Superclass::DataObjectPointer            DataObjectPointer;
00052     typedef typename Superclass::OutputVectorContainerType    OutputVectorContainerType;
00053     typedef typename Superclass::OutputVectorContainerPointer OutputVectorContainerPointer;
00054     typedef typename Superclass::InputImageType               InputImageType;
00055     typedef typename Superclass::InputImagePointer            InputImagePointer;
00056     typedef typename Superclass::InputImageConstPointer       InputImageConstPointer;
00057     typedef typename Superclass::InputImageRegionType         InputImageRegionType;
00058     typedef typename Superclass::InputImagePixelType          InputImagePixelType;
00059     typedef typename Superclass::ImageSampleType              ImageSampleType;
00060     typedef typename Superclass::ImageSampleContainerType     ImageSampleContainerType;
00061     typedef typename Superclass::MaskType                     MaskType;
00062 
00064     itkStaticConstMacro( InputImageDimension, unsigned int,
00065       Superclass::InputImageDimension );
00066 
00068     itkSetClampMacro( NumberOfSamples, unsigned long, 1, NumericTraits<unsigned long>::max() );
00069 
00071     itkGetConstMacro( NumberOfSamples, unsigned long );
00072 
00073   protected:
00074 
00076     ImageRandomSamplerBase()
00077     {
00078       this->m_NumberOfSamples = 100;
00079     };
00080 
00082     virtual ~ImageRandomSamplerBase() {};
00083 
00085     void PrintSelf( std::ostream& os, Indent indent ) const
00086     {
00087       Superclass::PrintSelf( os, indent );
00088       os << indent << "NumberOfSamples: " << this->m_NumberOfSamples << std::endl;
00089     };
00090 
00091     unsigned long m_NumberOfSamples;
00092 
00093   private:
00094 
00096     ImageRandomSamplerBase( const Self& );          // purposely not implemented
00098     void operator=( const Self& );            // purposely not implemented
00099 
00100   }; // end class ImageRandomSamplerBase
00101 
00102 
00103 } // end namespace itk
00104 
00105 #endif // end #ifndef __ImageRandomSamplerBase_h
00106 


Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo