go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxReducedDimensionBSplineResampleInterpolator.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 __elxReducedDimensionBSplineResampleInterpolator_h
00016 #define __elxReducedDimensionBSplineResampleInterpolator_h
00017 
00018 #include "itkReducedDimensionBSplineInterpolateImageFunction.h"
00019 #include "elxIncludes.h"
00020 
00021 namespace elastix
00022 {
00023   using namespace itk;
00024 
00051   template < class TElastix >
00052   class ReducedDimensionBSplineResampleInterpolator :
00053     public
00054     ReducedDimensionBSplineInterpolateImageFunction<
00055     ITK_TYPENAME ResampleInterpolatorBase<TElastix>::InputImageType,
00056     ITK_TYPENAME ResampleInterpolatorBase<TElastix>::CoordRepType,
00057     double >, //CoefficientType
00058     public ResampleInterpolatorBase<TElastix>
00059   {
00060   public:
00061 
00063     typedef ReducedDimensionBSplineResampleInterpolator  Self;
00064     typedef BSplineInterpolateImageFunction<
00065       typename ResampleInterpolatorBase<TElastix>::InputImageType,
00066       typename ResampleInterpolatorBase<TElastix>::CoordRepType,
00067       double >                                    Superclass1;
00068     typedef ResampleInterpolatorBase<TElastix>    Superclass2;
00069     typedef SmartPointer<Self>                    Pointer;
00070     typedef SmartPointer<const Self>              ConstPointer;
00071 
00073     itkNewMacro( Self );
00074 
00076     itkTypeMacro( ReducedDimensionBSplineResampleInterpolator, ReducedDimensionBSplineInterpolateImageFunction );
00077 
00082     elxClassNameMacro( "FinalReducedDimensionBSplineInterpolator" );
00083 
00085     itkStaticConstMacro( ImageDimension, unsigned int,Superclass1::ImageDimension );
00086 
00088     typedef typename Superclass1::OutputType                OutputType;
00089     typedef typename Superclass1::InputImageType            InputImageType;
00090     typedef typename Superclass1::IndexType                 IndexType;
00091     typedef typename Superclass1::ContinuousIndexType       ContinuousIndexType;
00092     typedef typename Superclass1::PointType                 PointType;
00093     typedef typename Superclass1::Iterator                  Iterator;
00094     typedef typename Superclass1::CoefficientDataType       CoefficientDataType;
00095     typedef typename Superclass1::CoefficientImageType      CoefficientImageType;
00096     typedef typename Superclass1::CoefficientFilter         CoefficientFilter;
00097     typedef typename Superclass1::CoefficientFilterPointer  CoefficientFilterPointer;
00098     typedef typename Superclass1::CovariantVectorType       CovariantVectorType;
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 BeforeRegistration( void );
00113 
00115     virtual void ReadFromFile( void );
00116 
00118     virtual void WriteToFile( void ) const;
00119 
00120   protected:
00121 
00123     ReducedDimensionBSplineResampleInterpolator() {}
00125     virtual ~ReducedDimensionBSplineResampleInterpolator() {}
00126 
00127   private:
00128 
00130     ReducedDimensionBSplineResampleInterpolator( const Self& ); // purposely not implemented
00132     void operator=( const Self& );              // purposely not implemented
00133 
00134   }; // end class ReducedDimensionBSplineResampleInterpolator
00135 
00136 
00137 } // end namespace elastix
00138 
00139 #ifndef ITK_MANUAL_INSTANTIATION
00140 #include "elxReducedDimensionBSplineResampleInterpolator.hxx"
00141 #endif
00142 
00143 #endif // end __elxReducedDimensionBSplineResampleInterpolator_h
00144 


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