go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxLinearResampleInterpolator.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 __elxLinearResampleInterpolator_h
00016 #define __elxLinearResampleInterpolator_h
00017 
00018 #include "itkLinearInterpolateImageFunction.h"
00019 #include "elxIncludes.h"
00020 
00021 namespace elastix
00022 {
00023   using namespace itk;
00024 
00041   template < class TElastix >
00042   class LinearResampleInterpolator :
00043     public
00044     LinearInterpolateImageFunction<
00045     ITK_TYPENAME ResampleInterpolatorBase<TElastix>::InputImageType,
00046     ITK_TYPENAME ResampleInterpolatorBase<TElastix>::CoordRepType >,
00047     public ResampleInterpolatorBase<TElastix>
00048   {
00049   public:
00050 
00052     typedef LinearResampleInterpolator                              Self;
00053     typedef LinearInterpolateImageFunction<
00054       typename ResampleInterpolatorBase<TElastix>::InputImageType,
00055       typename ResampleInterpolatorBase<TElastix>::CoordRepType >   Superclass1;
00056     typedef ResampleInterpolatorBase<TElastix>                      Superclass2;
00057     typedef SmartPointer<Self>                                      Pointer;
00058     typedef SmartPointer<const Self>                                ConstPointer;
00059 
00061     itkNewMacro( Self );
00062 
00064     itkTypeMacro( LinearResampleInterpolator, LinearInterpolateImageFunction );
00065 
00070     elxClassNameMacro( "FinalLinearInterpolator" );
00071 
00073     itkStaticConstMacro( ImageDimension, unsigned int,Superclass1::ImageDimension );
00074 
00076     typedef typename Superclass1::OutputType                OutputType;
00077     typedef typename Superclass1::InputImageType            InputImageType;
00078     typedef typename Superclass1::IndexType                 IndexType;
00079     typedef typename Superclass1::ContinuousIndexType       ContinuousIndexType;
00080 
00082     typedef typename Superclass2::ElastixType               ElastixType;
00083     typedef typename Superclass2::ElastixPointer            ElastixPointer;
00084     typedef typename Superclass2::ConfigurationType         ConfigurationType;
00085     typedef typename Superclass2::ConfigurationPointer      ConfigurationPointer;
00086     typedef typename Superclass2::RegistrationType          RegistrationType;
00087     typedef typename Superclass2::RegistrationPointer       RegistrationPointer;
00088     typedef typename Superclass2::ITKBaseType               ITKBaseType;
00089 
00090   protected:
00091 
00093     LinearResampleInterpolator() {}
00095     virtual ~LinearResampleInterpolator() {}
00096 
00097   private:
00098 
00100     LinearResampleInterpolator( const Self& );  // purposely not implemented
00102     void operator=( const Self& );              // purposely not implemented
00103 
00104   }; // end class LinearResampleInterpolator
00105 
00106 
00107 } // end namespace elastix
00108 
00109 #ifndef ITK_MANUAL_INSTANTIATION
00110 #include "elxLinearResampleInterpolator.hxx"
00111 #endif
00112 
00113 #endif // end __elxLinearResampleInterpolator_h
00114 


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