go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxFixedShrinkingPyramid.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 __elxFixedShrinkingPyramid_h
00016 #define __elxFixedShrinkingPyramid_h
00017 
00018 #include "itkMultiResolutionShrinkPyramidImageFilter.h"
00019 #include "elxIncludes.h"
00020 
00021 
00022 namespace elastix
00023 {
00024 using namespace itk;
00025 
00037   template <class TElastix>
00038     class FixedShrinkingPyramid :
00039     public
00040       MultiResolutionShrinkPyramidImageFilter<
00041         ITK_TYPENAME FixedImagePyramidBase<TElastix>::InputImageType,
00042         ITK_TYPENAME FixedImagePyramidBase<TElastix>::OutputImageType >,
00043     public
00044       FixedImagePyramidBase<TElastix>
00045   {
00046   public:
00047 
00049     typedef FixedShrinkingPyramid                                   Self;
00050     typedef MultiResolutionShrinkPyramidImageFilter<
00051         typename FixedImagePyramidBase<TElastix>::InputImageType,
00052         typename FixedImagePyramidBase<TElastix>::OutputImageType > Superclass1;
00053     typedef FixedImagePyramidBase<TElastix>                         Superclass2;
00054     typedef SmartPointer<Self>                                      Pointer;
00055     typedef SmartPointer<const Self>                                ConstPointer;
00056 
00058     itkNewMacro( Self );
00059 
00061     itkTypeMacro( FixedShrinkingPyramid, MultiResolutionShrinkPyramidImageFilter );
00062 
00067     elxClassNameMacro( "FixedShrinkingImagePyramid" );
00068 
00070     itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension );
00071 
00073     typedef typename Superclass1::InputImageType            InputImageType;
00074     typedef typename Superclass1::OutputImageType           OutputImageType;
00075     typedef typename Superclass1::InputImagePointer         InputImagePointer;
00076     typedef typename Superclass1::OutputImagePointer        OutputImagePointer;
00077     typedef typename Superclass1::InputImageConstPointer    InputImageConstPointer;
00078     typedef typename Superclass1::ScheduleType              ScheduleType;
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   protected:
00090 
00092     FixedShrinkingPyramid() {}
00094     virtual ~FixedShrinkingPyramid() {}
00095 
00096   private:
00097 
00099     FixedShrinkingPyramid( const Self& ); // purposely not implemented
00101     void operator=( const Self& );        // purposely not implemented
00102 
00103   }; // end class FixedShrinkingPyramid
00104 
00105 
00106 } // end namespace elastix
00107 
00108 #ifndef ITK_MANUAL_INSTANTIATION
00109 #include "elxFixedShrinkingPyramid.hxx"
00110 #endif
00111 
00112 #endif // end #ifndef __elxFixedShrinkingPyramid_h
00113 


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