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

vtkImageSeparableConvolution.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageSeparableConvolution.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 =========================================================================*/
00031 #ifndef __vtkImageSeparableConvolution_h
00032 #define __vtkImageSeparableConvolution_h
00033 
00034 
00035 #include "vtkImageDecomposeFilter.h"
00036 
00037 class vtkFloatArray;
00038 
00039 class VTK_IMAGING_EXPORT vtkImageSeparableConvolution : public vtkImageDecomposeFilter
00040 {
00041 public:
00042   static vtkImageSeparableConvolution *New();
00043   vtkTypeRevisionMacro(vtkImageSeparableConvolution,vtkImageDecomposeFilter);
00044 
00045 
00046   // Set the X convolution kernel, a null value indicates no convolution to
00047   // be done.  The kernel must be of odd length
00048   virtual void SetXKernel(vtkFloatArray*);
00049   vtkGetObjectMacro ( XKernel, vtkFloatArray );
00050 
00051   // Set the Y convolution kernel, a null value indicates no convolution to
00052   // be done The kernel must be of odd length
00053   virtual void SetYKernel(vtkFloatArray*);
00054   vtkGetObjectMacro ( YKernel, vtkFloatArray );
00055 
00056   // Set the Z convolution kernel, a null value indicates no convolution to
00057   // be done The kernel must be of odd length
00058   virtual void SetZKernel(vtkFloatArray*);
00059   vtkGetObjectMacro ( ZKernel, vtkFloatArray );
00060 
00061   void PrintSelf(ostream& os, vtkIndent indent);
00062   
00065   unsigned long int GetMTime();
00066   
00067 protected:
00068   vtkImageSeparableConvolution();
00069   ~vtkImageSeparableConvolution();
00070   
00071   vtkFloatArray* XKernel;
00072   vtkFloatArray* YKernel;
00073   vtkFloatArray* ZKernel;
00074 
00075   virtual int IterativeRequestData(vtkInformation*,
00076                                    vtkInformationVector**,
00077                                    vtkInformationVector*);
00078 
00079   virtual int IterativeRequestInformation(vtkInformation* in,
00080                                           vtkInformation* out);
00081   virtual int IterativeRequestUpdateExtent(vtkInformation* in,
00082                                            vtkInformation* out);
00083 
00084 private:
00085   vtkImageSeparableConvolution(const vtkImageSeparableConvolution&);  // Not implemented.
00086   void operator=(const vtkImageSeparableConvolution&);  // Not implemented.
00087 };
00088 
00089 #endif
00090 
00091 
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 

Generated on Mon Jan 21 23:07:30 2008 for VTK by  doxygen 1.4.3-20050530