Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkImageShrink3D.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageShrink3D.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00040 #ifndef __vtkImageShrink3D_h
00041 #define __vtkImageShrink3D_h
00042 
00043 
00044 #include "vtkImageToImageFilter.h"
00045 
00046 class VTK_IMAGING_EXPORT vtkImageShrink3D : public vtkImageToImageFilter
00047 {
00048 public:
00049   static vtkImageShrink3D *New();
00050   vtkTypeRevisionMacro(vtkImageShrink3D,vtkImageToImageFilter);
00051   void PrintSelf(ostream& os, vtkIndent indent);
00052   
00054 
00055   vtkSetVector3Macro(ShrinkFactors,int);
00056   vtkGetVector3Macro(ShrinkFactors,int);
00058 
00060 
00061   vtkSetVector3Macro(Shift,int);
00062   vtkGetVector3Macro(Shift,int);
00064 
00066 
00071   void SetAveraging(int);
00072   int GetAveraging() {return this->GetMean();};
00073   vtkBooleanMacro(Averaging,int);
00075   
00076   void SetMean(int);
00077   vtkGetMacro(Mean,int);
00078   vtkBooleanMacro(Mean,int);
00079   
00080   void SetMinimum(int);
00081   vtkGetMacro(Minimum,int);
00082   vtkBooleanMacro(Minimum,int);
00083   
00084   void SetMaximum(int);
00085   vtkGetMacro(Maximum,int);
00086   vtkBooleanMacro(Maximum,int);
00087   
00088   void SetMedian(int);
00089   vtkGetMacro(Median,int);
00090   vtkBooleanMacro(Median,int);
00091   
00092   
00093 protected:
00094   vtkImageShrink3D();
00095   ~vtkImageShrink3D() {};
00096 
00097   int ShrinkFactors[3];
00098   int Shift[3];
00099   int Mean;
00100   int Minimum;
00101   int Maximum;
00102   int Median;
00103 
00104   void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00105   void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00106   void ExecuteInformation(){this->vtkImageToImageFilter::ExecuteInformation();};
00107   void ThreadedExecute(vtkImageData *inData, vtkImageData *outData, 
00108                        int ext[6], int id);  
00109 private:
00110   vtkImageShrink3D(const vtkImageShrink3D&);  // Not implemented.
00111   void operator=(const vtkImageShrink3D&);  // Not implemented.
00112 };
00113 
00114 #endif
00115 
00116 
00117