go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMyStandardResampler.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 __elxMyStandardResampler_h
00016 #define __elxMyStandardResampler_h
00017 
00018 #include "itkResampleImageFilter.h"
00019 #include "elxIncludes.h"
00020 
00021 namespace elastix
00022 {
00023   using namespace itk;
00024 
00036   template < class TElastix >
00037     class MyStandardResampler :
00038       public ResamplerBase<TElastix>::ITKBaseType,
00039       public ResamplerBase<TElastix>
00040   {
00041   public:
00042 
00044     typedef MyStandardResampler                             Self;
00045     typedef typename ResamplerBase<TElastix>::ITKBaseType   Superclass1;
00046     typedef ResamplerBase<TElastix>                         Superclass2;
00047     typedef SmartPointer<Self>                              Pointer;
00048     typedef SmartPointer<const Self>                        ConstPointer;
00049 
00051     itkNewMacro(Self);
00052 
00054     itkTypeMacro( MyStandardResampler, ResampleImageFilter );
00055 
00060     elxClassNameMacro( "DefaultResampler" );
00061 
00063     typedef typename Superclass1::InputImageType            InputImageType;
00064     typedef typename Superclass1::OutputImageType           OutputImageType;
00065     typedef typename Superclass1::InputImagePointer         InputImagePointer;
00066     typedef typename Superclass1::OutputImagePointer        OutputImagePointer;
00067     typedef typename Superclass1::InputImageRegionType      InputImageRegionType;
00068     typedef typename Superclass1::TransformType             TransformType;
00069     typedef typename Superclass1::TransformPointerType      TransformPointerType;
00070     typedef typename Superclass1::InterpolatorType          InterpolatorType;
00071     typedef typename Superclass1::InterpolatorPointerType   InterpolatePointerType;
00072     typedef typename Superclass1::SizeType                  SizeType;
00073     typedef typename Superclass1::IndexType                 IndexType;
00074     typedef typename Superclass1::PointType                 PointType;
00075     typedef typename Superclass1::PixelType                 PixelType;
00076     typedef typename Superclass1::OutputImageRegionType     OutputImageRegionType;
00077     typedef typename Superclass1::SpacingType               SpacingType;
00078     typedef typename Superclass1::OriginPointType           OriginPointType;
00079 
00081     typedef typename Superclass2::ElastixType           ElastixType;
00082     typedef typename Superclass2::ElastixPointer        ElastixPointer;
00083     typedef typename Superclass2::ConfigurationType     ConfigurationType;
00084     typedef typename Superclass2::ConfigurationPointer  ConfigurationPointer;
00085     typedef typename Superclass2::RegistrationType      RegistrationType;
00086     typedef typename Superclass2::RegistrationPointer   RegistrationPointer;
00087     typedef typename Superclass2::ITKBaseType           ITKBaseType;
00088 
00089     /* Nothing to add. In the baseclass already everything is done what should be done. */
00090 
00091   protected:
00092 
00094     MyStandardResampler() {}
00096     virtual ~MyStandardResampler() {}
00097 
00098   private:
00099 
00101     MyStandardResampler( const Self& ); // purposely not implemented
00103     void operator=( const Self& );      // purposely not implemented
00104 
00105   }; // end class MyStandardResampler
00106 
00107 
00108 } // end namespace elastix
00109 
00110 #ifndef ITK_MANUAL_INSTANTIATION
00111 #include "elxMyStandardResampler.hxx"
00112 #endif
00113 
00114 #endif // end #ifndef __elxMyStandardResampler_h


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