VTK
dox/Imaging/vtkImageVariance3D.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageVariance3D.h
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 =========================================================================*/
00029 #ifndef __vtkImageVariance3D_h
00030 #define __vtkImageVariance3D_h
00031 
00032 
00033 #include "vtkImageSpatialAlgorithm.h"
00034 
00035 class vtkImageEllipsoidSource;
00036 
00037 class VTK_IMAGING_EXPORT vtkImageVariance3D : public vtkImageSpatialAlgorithm
00038 {
00039 public:
00040   static vtkImageVariance3D *New();
00041   vtkTypeMacro(vtkImageVariance3D,vtkImageSpatialAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043   
00047   void SetKernelSize(int size0, int size1, int size2);
00048   
00049 protected:
00050   vtkImageVariance3D();
00051   ~vtkImageVariance3D();
00052 
00053   vtkImageEllipsoidSource *Ellipse;
00054     
00055   virtual int RequestInformation (vtkInformation *request,
00056                                   vtkInformationVector **inputVector,
00057                                   vtkInformationVector *outputVector);
00058 
00059   void ThreadedRequestData(vtkInformation *request,
00060                            vtkInformationVector **inputVector,
00061                            vtkInformationVector *outputVector,
00062                            vtkImageData ***inData, vtkImageData **outData,
00063                            int extent[6], int id);
00064   virtual int RequestData(vtkInformation *request,
00065                           vtkInformationVector **inputVector,
00066                           vtkInformationVector *outputVector);
00067 
00068 private:
00069   vtkImageVariance3D(const vtkImageVariance3D&);  // Not implemented.
00070   void operator=(const vtkImageVariance3D&);  // Not implemented.
00071 };
00072 
00073 #endif