go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMultiInputRandomCoordinateSampler.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 __elxMultiInputRandomCoordinateSampler_h
00016 #define __elxMultiInputRandomCoordinateSampler_h
00017 
00018 #include "itkMultiInputImageRandomCoordinateSampler.h"
00019 #include "elxIncludes.h"
00020 
00021 namespace elastix
00022 {
00023 
00024 using namespace itk;
00025 
00082   template < class TElastix >
00083     class MultiInputRandomCoordinateSampler :
00084     public
00085       MultiInputImageRandomCoordinateSampler<
00086       ITK_TYPENAME elx::ImageSamplerBase<TElastix>::InputImageType >,
00087     public
00088       elx::ImageSamplerBase<TElastix>
00089   {
00090   public:
00091 
00093     typedef MultiInputRandomCoordinateSampler   Self;
00094     typedef MultiInputImageRandomCoordinateSampler<
00095       typename elx::ImageSamplerBase<TElastix>
00096       ::InputImageType >                        Superclass1;
00097     typedef elx::ImageSamplerBase<TElastix>     Superclass2;
00098     typedef SmartPointer<Self>                  Pointer;
00099     typedef SmartPointer<const Self>            ConstPointer;
00100 
00102     itkNewMacro(Self);
00103 
00105     itkTypeMacro( MultiInputRandomCoordinateSampler, MultiInputImageRandomCoordinateSampler );
00106 
00111     elxClassNameMacro( "MultiInputRandomCoordinate" );
00112 
00114     typedef typename Superclass1::DataObjectPointer            DataObjectPointer;
00115     typedef typename Superclass1::OutputVectorContainerType    OutputVectorContainerType;
00116     typedef typename Superclass1::OutputVectorContainerPointer OutputVectorContainerPointer;
00117     typedef typename Superclass1::InputImageType               InputImageType;
00118     typedef typename Superclass1::InputImagePointer            InputImagePointer;
00119     typedef typename Superclass1::InputImageConstPointer       InputImageConstPointer;
00120     typedef typename Superclass1::InputImageRegionType         InputImageRegionType;
00121     typedef typename Superclass1::InputImagePixelType          InputImagePixelType;
00122     typedef typename Superclass1::ImageSampleType              ImageSampleType;
00123     typedef typename Superclass1::ImageSampleContainerType     ImageSampleContainerType;
00124     typedef typename Superclass1::MaskType                     MaskType;
00125     typedef typename Superclass1::InputImageIndexType          InputImageIndexType;
00126     typedef typename Superclass1::InputImagePointType          InputImagePointType;
00127     typedef typename Superclass1::InputImageSizeType           InputImageSizeType;
00128     typedef typename Superclass1::InputImageSpacingType        InputImageSpacingType;
00129     typedef typename Superclass1::InputImagePointValueType     InputImagePointValueType;
00130     typedef typename Superclass1::ImageSampleValueType         ImageSampleValueType;
00131 
00134     typedef typename Superclass1::CoordRepType                 CoordRepType;
00135     typedef typename Superclass1::InterpolatorType             InterpolatorType;
00136     typedef typename Superclass1::DefaultInterpolatorType      DefaultInterpolatorType;
00137 
00139     itkStaticConstMacro( InputImageDimension, unsigned int, Superclass1::InputImageDimension );
00140 
00142     typedef typename Superclass2::ElastixType               ElastixType;
00143     typedef typename Superclass2::ElastixPointer            ElastixPointer;
00144     typedef typename Superclass2::ConfigurationType         ConfigurationType;
00145     typedef typename Superclass2::ConfigurationPointer      ConfigurationPointer;
00146     typedef typename Superclass2::RegistrationType          RegistrationType;
00147     typedef typename Superclass2::RegistrationPointer       RegistrationPointer;
00148     typedef typename Superclass2::ITKBaseType               ITKBaseType;
00149 
00155     virtual void BeforeEachResolution(void);
00156 
00157   protected:
00158 
00160     MultiInputRandomCoordinateSampler() {}
00162     virtual ~MultiInputRandomCoordinateSampler() {}
00163 
00164   private:
00165 
00167     MultiInputRandomCoordinateSampler( const Self& ); // purposely not implemented
00169     void operator=( const Self& );      // purposely not implemented
00170 
00171   }; // end class MultiInputRandomCoordinateSampler
00172 
00173 
00174 } // end namespace elastix
00175 
00176 #ifndef ITK_MANUAL_INSTANTIATION
00177 #include "elxMultiInputRandomCoordinateSampler.hxx"
00178 #endif
00179 
00180 #endif // end #ifndef __elxMultiInputRandomCoordinateSampler_h
00181 


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