go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxRandomSamplerSparseMask.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 __elxRandomSamplerSparseMask_h
00016 #define __elxRandomSamplerSparseMask_h
00017 
00018 #include "itkImageRandomSamplerSparseMask.h"
00019 #include "elxIncludes.h"
00020 
00021 namespace elastix
00022 {
00023 
00024 using namespace itk;
00025 
00052   template < class TElastix >
00053     class RandomSamplerSparseMask :
00054     public
00055       ImageRandomSamplerSparseMask<
00056       ITK_TYPENAME elx::ImageSamplerBase<TElastix>::InputImageType >,
00057     public
00058       elx::ImageSamplerBase<TElastix>
00059   {
00060   public:
00061 
00063     typedef RandomSamplerSparseMask                       Self;
00064     typedef ImageRandomSamplerSparseMask<
00065       typename elx::ImageSamplerBase<TElastix>::InputImageType >  Superclass1;
00066     typedef elx::ImageSamplerBase<TElastix>         Superclass2;
00067     typedef SmartPointer<Self>                  Pointer;
00068     typedef SmartPointer<const Self>            ConstPointer;
00069 
00071     itkNewMacro(Self);
00072 
00074     itkTypeMacro( RandomSamplerSparseMask, ImageRandomSamplerSparseMask );
00075 
00080     elxClassNameMacro( "RandomSparseMask" );
00081 
00083     typedef typename Superclass1::DataObjectPointer            DataObjectPointer;
00084     typedef typename Superclass1::OutputVectorContainerType    OutputVectorContainerType;
00085     typedef typename Superclass1::OutputVectorContainerPointer OutputVectorContainerPointer;
00086     typedef typename Superclass1::InputImageType               InputImageType;
00087     typedef typename Superclass1::InputImagePointer            InputImagePointer;
00088     typedef typename Superclass1::InputImageConstPointer       InputImageConstPointer;
00089     typedef typename Superclass1::InputImageRegionType         InputImageRegionType;
00090     typedef typename Superclass1::InputImagePixelType          InputImagePixelType;
00091     typedef typename Superclass1::ImageSampleType              ImageSampleType;
00092     typedef typename Superclass1::ImageSampleContainerType     ImageSampleContainerType;
00093     typedef typename Superclass1::MaskType                     MaskType;
00094     typedef typename Superclass1::InputImageIndexType          InputImageIndexType;
00095     typedef typename Superclass1::InputImagePointType          InputImagePointType;
00096 
00098     itkStaticConstMacro( InputImageDimension, unsigned int, Superclass1::InputImageDimension );
00099 
00101     typedef typename Superclass2::ElastixType               ElastixType;
00102     typedef typename Superclass2::ElastixPointer            ElastixPointer;
00103     typedef typename Superclass2::ConfigurationType         ConfigurationType;
00104     typedef typename Superclass2::ConfigurationPointer      ConfigurationPointer;
00105     typedef typename Superclass2::RegistrationType          RegistrationType;
00106     typedef typename Superclass2::RegistrationPointer       RegistrationPointer;
00107     typedef typename Superclass2::ITKBaseType               ITKBaseType;
00108 
00112     virtual void BeforeEachResolution(void);
00113 
00114   protected:
00115 
00117     RandomSamplerSparseMask() {}
00119     virtual ~RandomSamplerSparseMask() {}
00120 
00121   private:
00122 
00124     RandomSamplerSparseMask( const Self& ); // purposely not implemented
00126     void operator=( const Self& );      // purposely not implemented
00127 
00128   }; // end class RandomSamplerSparseMask
00129 
00130 
00131 } // end namespace elastix
00132 
00133 #ifndef ITK_MANUAL_INSTANTIATION
00134 #include "elxRandomSamplerSparseMask.hxx"
00135 #endif
00136 
00137 #endif // end #ifndef __elxRandomSamplerSparseMask_h
00138 


Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo