00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00033 #ifndef __vtkImageButterworthHighPass_h
00034 #define __vtkImageButterworthHighPass_h
00035 
00036 
00037 #include "vtkThreadedImageAlgorithm.h"
00038 
00039 class VTK_IMAGING_EXPORT vtkImageButterworthHighPass : public vtkThreadedImageAlgorithm
00040 {
00041 public:
00042   static vtkImageButterworthHighPass *New();
00043   vtkTypeRevisionMacro(vtkImageButterworthHighPass,vtkThreadedImageAlgorithm);
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00047 
00050   vtkSetVector3Macro(CutOff,double);
00051   void SetCutOff(double v) {this->SetCutOff(v, v, v);}
00052   void SetXCutOff(double v);
00053   void SetYCutOff(double v);
00054   void SetZCutOff(double v);
00055   vtkGetVector3Macro(CutOff,double);
00056   double GetXCutOff() {return this->CutOff[0];}
00057   double GetYCutOff() {return this->CutOff[1];}
00058   double GetZCutOff() {return this->CutOff[2];}
00060 
00062 
00063   vtkSetMacro(Order, int);
00064   vtkGetMacro(Order, int);
00066   
00067 protected:
00068   vtkImageButterworthHighPass();
00069   ~vtkImageButterworthHighPass() {};
00070 
00071   int Order;
00072   double CutOff[3];
00073   
00074   void ThreadedRequestData(vtkInformation *request,
00075                            vtkInformationVector **inputVector,
00076                            vtkInformationVector *outputVector,
00077                            vtkImageData ***inData, vtkImageData **outData,
00078                            int outExt[6], int id);
00079 private:
00080   vtkImageButterworthHighPass(const vtkImageButterworthHighPass&);  
00081   void operator=(const vtkImageButterworthHighPass&);  
00082 };
00083 
00084 #endif
00085 
00086 
00087