go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkMultiResolutionGaussianSmoothingPyramidImageFilter.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 
00017 /*=========================================================================
00018 
00019   Program:   Insight Segmentation & Registration Toolkit
00020   Module:    $RCSfile$
00021   Language:  C++
00022   Date:      $Date: 2008-04-15 19:54:41 +0200 (Tue, 15 Apr 2008) $
00023   Version:   $Revision: 1573 $
00024 
00025   Copyright (c) Insight Software Consortium. All rights reserved.
00026   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00027 
00028      This software is distributed WITHOUT ANY WARRANTY; without even
00029      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00030      PURPOSE.  See the above copyright notices for more information.
00031 
00032 =========================================================================*/
00033 #ifndef __itkMultiResolutionGaussianSmoothingPyramidImageFilter_h
00034 #define __itkMultiResolutionGaussianSmoothingPyramidImageFilter_h
00035 
00036 #include "itkMultiResolutionPyramidImageFilter.h"
00037 
00038 namespace itk
00039 {
00040 
00119 template <
00120   class TInputImage,
00121   class TOutputImage
00122   >
00123 class MultiResolutionGaussianSmoothingPyramidImageFilter :
00124     public MultiResolutionPyramidImageFilter< TInputImage, TOutputImage >
00125 {
00126 public:
00128   typedef MultiResolutionGaussianSmoothingPyramidImageFilter  Self;
00129   typedef MultiResolutionPyramidImageFilter<TInputImage,TOutputImage>  Superclass;
00130   typedef SmartPointer<Self>  Pointer;
00131   typedef SmartPointer<const Self>  ConstPointer;
00132 
00134   itkNewMacro(Self);
00135 
00137   itkTypeMacro(MultiResolutionGaussianSmoothingPyramidImageFilter, MultiResolutionPyramidImageFilter);
00138 
00140   itkStaticConstMacro(ImageDimension, unsigned int,
00141                       TInputImage::ImageDimension);
00142   itkStaticConstMacro(OutputImageDimension, unsigned int,
00143                       TOutputImage::ImageDimension);
00144 
00146   typedef typename Superclass::ScheduleType ScheduleType;
00147   typedef typename Superclass::InputImageType InputImageType;
00148   typedef typename Superclass::OutputImageType OutputImageType;
00149   typedef typename Superclass::InputImagePointer InputImagePointer;
00150   typedef typename Superclass::OutputImagePointer OutputImagePointer;
00151   typedef typename Superclass::InputImageConstPointer InputImageConstPointer;
00152 
00166   void SetSchedule( const ScheduleType& schedule );
00167 
00169   virtual void GenerateOutputInformation();
00170 
00175   virtual void GenerateOutputRequestedRegion(DataObject *output);
00176 
00183   virtual void GenerateInputRequestedRegion();
00184 
00185 protected:
00186   MultiResolutionGaussianSmoothingPyramidImageFilter();
00187   ~MultiResolutionGaussianSmoothingPyramidImageFilter() {};
00188   void PrintSelf(std::ostream&os, Indent indent) const;
00189 
00191   void GenerateData();
00192 
00195   virtual void EnlargeOutputRequestedRegion(DataObject *output);
00196 
00197 
00198 private:
00199   MultiResolutionGaussianSmoothingPyramidImageFilter(const Self&); //purposely not implemented
00200   void operator=(const Self&); //purposely not implemented
00201 
00202 };
00203 
00204 
00205 } // namespace itk
00206 
00207 #ifndef ITK_MANUAL_INSTANTIATION
00208 #include "itkMultiResolutionGaussianSmoothingPyramidImageFilter.txx"
00209 #endif
00210 
00211 #endif
00212 
00213 


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