Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkInPlaceImageFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Insight Segmentation & Registration Toolkit
00004   Module:    $RCSfile: itkInPlaceImageFilter.h,v $
00005   Language:  C++
00006   Date:      $Date: 2003/09/10 14:29:13 $
00007   Version:   $Revision: 1.2 $
00008 
00009   Copyright (c) Insight Software Consortium. All rights reserved.
00010   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00011 
00012   Portions of this code are covered under the VTK copyright.
00013   See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details.
00014 
00015      This software is distributed WITHOUT ANY WARRANTY; without even 
00016      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00017      PURPOSE.  See the above copyright notices for more information.
00018 
00019 =========================================================================*/
00020 #ifndef __itkInPlaceImageFilter_h
00021 #define __itkInPlaceImageFilter_h
00022 
00023 #include "itkImageToImageFilter.h"
00024 
00025 namespace itk
00026 {
00027   
00054 template <class TInputImage>
00055 class ITK_EXPORT InPlaceImageFilter : public ImageToImageFilter<TInputImage, TInputImage>
00056 {
00057 public:
00059   typedef InPlaceImageFilter  Self;
00060   typedef ImageToImageFilter<TInputImage, TInputImage>  Superclass;
00061   typedef SmartPointer<Self>  Pointer;
00062   typedef SmartPointer<const Self>  ConstPointer;
00063   
00064   
00066   itkTypeMacro(InPlaceImageFilter,ImageToImageFilter);
00067 
00069   typedef typename Superclass::OutputImageRegionType OutputImageRegionType;
00070 
00072   typedef TInputImage InputImageType;
00073   typedef typename InputImageType::Pointer        InputImagePointer;
00074   typedef typename InputImageType::ConstPointer   InputImageConstPointer;
00075   typedef typename InputImageType::RegionType     InputImageRegionType; 
00076   typedef typename InputImageType::PixelType      InputImagePixelType; 
00077   
00079   itkStaticConstMacro(InputImageDimension, unsigned int,
00080                       TInputImage::ImageDimension);
00081   itkStaticConstMacro(OutputImageDimension, unsigned int,
00082                       TInputImage::ImageDimension);
00083 
00084 
00085  protected:
00086   InPlaceImageFilter();
00087   ~InPlaceImageFilter();
00088 
00089   virtual void PrintSelf(std::ostream& os, Indent indent) const;
00090 
00103   virtual void AllocateOutputs();
00104 
00114   virtual void ReleaseInputs(); 
00115 
00116 private:
00117   InPlaceImageFilter(const Self&); //purposely not implemented
00118   void operator=(const Self&); //purposely not implemented
00119 };
00120 
00121 } // end namespace itk
00122 
00123 #ifndef ITK_MANUAL_INSTANTIATION
00124 #include "itkInPlaceImageFilter.txx"
00125 #endif
00126 
00127 #endif

Generated at Sun Jan 25 13:19:37 2004 for ITK by doxygen 1.3.3 written by Dimitri van Heesch, © 1997-2000