![]() |
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 __ImageRandomSamplerSparseMask_h 00016 #define __ImageRandomSamplerSparseMask_h 00017 00018 #include "itkImageRandomSamplerBase.h" 00019 #include "itkMersenneTwisterRandomVariateGenerator.h" 00020 #include "itkImageFullSampler.h" 00021 00022 namespace itk 00023 { 00024 00035 template < class TInputImage > 00036 class ImageRandomSamplerSparseMask : 00037 public ImageRandomSamplerBase< TInputImage > 00038 { 00039 public: 00040 00042 typedef ImageRandomSamplerSparseMask Self; 00043 typedef ImageRandomSamplerBase< TInputImage > Superclass; 00044 typedef SmartPointer<Self> Pointer; 00045 typedef SmartPointer<const Self> ConstPointer; 00046 00048 itkNewMacro( Self ); 00049 00051 itkTypeMacro( ImageRandomSamplerSparseMask, ImageRandomSamplerBase ); 00052 00054 typedef typename Superclass::DataObjectPointer DataObjectPointer; 00055 typedef typename Superclass::OutputVectorContainerType OutputVectorContainerType; 00056 typedef typename Superclass::OutputVectorContainerPointer OutputVectorContainerPointer; 00057 typedef typename Superclass::InputImageType InputImageType; 00058 typedef typename Superclass::InputImagePointer InputImagePointer; 00059 typedef typename Superclass::InputImageConstPointer InputImageConstPointer; 00060 typedef typename Superclass::InputImageRegionType InputImageRegionType; 00061 typedef typename Superclass::InputImagePixelType InputImagePixelType; 00062 typedef typename Superclass::ImageSampleType ImageSampleType; 00063 typedef typename Superclass::ImageSampleContainerType ImageSampleContainerType; 00064 typedef typename Superclass::MaskType MaskType; 00065 00067 itkStaticConstMacro( InputImageDimension, unsigned int, 00068 Superclass::InputImageDimension ); 00069 00071 typedef typename InputImageType::IndexType InputImageIndexType; 00072 typedef typename InputImageType::PointType InputImagePointType; 00073 00075 typedef itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType; 00076 00077 protected: 00078 00079 typedef itk::ImageFullSampler<InputImageType> InternalFullSamplerType; 00080 00082 ImageRandomSamplerSparseMask(); 00084 virtual ~ImageRandomSamplerSparseMask() {}; 00085 00087 void PrintSelf( std::ostream& os, Indent indent ) const; 00088 00090 virtual void GenerateData( void ); 00091 00092 typename RandomGeneratorType::Pointer m_RandomGenerator; 00093 typename InternalFullSamplerType::Pointer m_InternalFullSampler; 00094 00095 private: 00096 00098 ImageRandomSamplerSparseMask( const Self& ); // purposely not implemented 00100 void operator=( const Self& ); // purposely not implemented 00101 00102 00103 }; // end class ImageRandomSamplerSparseMask 00104 00105 00106 } // end namespace itk 00107 00108 #ifndef ITK_MANUAL_INSTANTIATION 00109 #include "itkImageRandomSamplerSparseMask.txx" 00110 #endif 00111 00112 #endif // end #ifndef __ImageRandomSamplerSparseMask_h 00113
Generated on 24-05-2012 for elastix by ![]() |
![]() |