go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkMultiResolutionShrinkPyramidImageFilter.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 #ifndef __itkMultiResolutionShrinkPyramidImageFilter_h
00015 #define __itkMultiResolutionShrinkPyramidImageFilter_h
00016 
00017 #include "itkMultiResolutionPyramidImageFilter.h"
00018 
00019 
00020 namespace itk
00021 {
00022 
00035 template <
00036   class TInputImage,
00037   class TOutputImage
00038   >
00039 class ITK_EXPORT MultiResolutionShrinkPyramidImageFilter :
00040     public MultiResolutionPyramidImageFilter< TInputImage, TOutputImage >
00041 {
00042 public:
00044   typedef MultiResolutionShrinkPyramidImageFilter             Self;
00045   typedef MultiResolutionPyramidImageFilter<TInputImage,TOutputImage>  Superclass;
00046   typedef SmartPointer<Self>                            Pointer;
00047   typedef SmartPointer<const Self>                      ConstPointer;
00048 
00050   itkNewMacro( Self );
00051 
00053   itkTypeMacro( MultiResolutionShrinkPyramidImageFilter,
00054     MultiResolutionPyramidImageFilter );
00055 
00057   itkStaticConstMacro( ImageDimension, unsigned int,
00058     TInputImage::ImageDimension );
00059   itkStaticConstMacro( OutputImageDimension, unsigned int,
00060     TOutputImage::ImageDimension );
00061 
00063   typedef typename Superclass::ScheduleType           ScheduleType;
00064   typedef typename Superclass::InputImageType         InputImageType;
00065   typedef typename Superclass::OutputImageType        OutputImageType;
00066   typedef typename Superclass::InputImagePointer      InputImagePointer;
00067   typedef typename Superclass::OutputImagePointer     OutputImagePointer;
00068   typedef typename Superclass::InputImageConstPointer InputImageConstPointer;
00069 
00071   virtual void GenerateInputRequestedRegion( void );
00072 
00073 #ifdef ITK_USE_CONCEPT_CHECKING
00074 
00075   itkConceptMacro(SameDimensionCheck,
00076     (Concept::SameDimension<ImageDimension, OutputImageDimension>));
00077   itkConceptMacro(OutputHasNumericTraitsCheck,
00078     (Concept::HasNumericTraits<typename TOutputImage::PixelType>));
00080 #endif
00081 
00082 protected:
00083   MultiResolutionShrinkPyramidImageFilter() {};
00084   ~MultiResolutionShrinkPyramidImageFilter() {};
00085 
00087   virtual void GenerateData( void );
00088 
00089 private:
00090   MultiResolutionShrinkPyramidImageFilter(const Self&); //purposely not implemented
00091   void operator=(const Self&); //purposely not implemented
00092 
00093 };
00094 
00095 
00096 } // namespace itk
00097 
00098 #ifndef ITK_MANUAL_INSTANTIATION
00099 #include "itkMultiResolutionShrinkPyramidImageFilter.txx"
00100 #endif
00101 
00102 #endif


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