00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00036 #ifndef __vtkImageSolitaryFilter_h
00037 #define __vtkImageSolitaryFilter_h
00038
00039 #include "vtkThreadedImageAlgorithm.h"
00040
00041 class VTK_IMAGING_EXPORT vtkImageSolitaryFilter : public vtkThreadedImageAlgorithm
00042 {
00043 public:
00044 vtkTypeRevisionMacro(vtkImageSolitaryFilter, vtkThreadedImageAlgorithm);
00045 void PrintSelf(ostream& os, vtkIndent indent);
00046
00048 static vtkImageSolitaryFilter *New();
00049
00051
00053 vtkSetMacro(HorizontalThreshold,int);
00054 vtkGetMacro(HorizontalThreshold,int);
00055
00056
00057
00058 vtkSetMacro(VerticalThreshold,int);
00059 vtkGetMacro(VerticalThreshold,int);
00060
00061
00062
00063 vtkSetMacro(FilteringThreshold,int);
00064 vtkGetMacro(FilteringThreshold,int);
00066
00067
00068 protected:
00069 vtkImageSolitaryFilter();
00070 ~vtkImageSolitaryFilter() {};
00071
00072
00073 virtual int RequestUpdateExtent (
00074 vtkInformation* vtkNotUsed(request),
00075 vtkInformationVector** inputVector,
00076 vtkInformationVector* outputVector);
00077
00078
00079 void ThreadedRequestData (vtkInformation* request, vtkInformationVector** inputVector,
00080 vtkInformationVector* outputVector,vtkImageData ***inData, vtkImageData **outData,
00081 int ext[6], int id);
00082
00083
00084 virtual int FillInputPortInformation(int, vtkInformation*);
00085 int HorizontalThreshold;
00086 int VerticalThreshold;
00087 int FilteringThreshold;
00088 private:
00089 vtkImageSolitaryFilter(const vtkImageSolitaryFilter&);
00090 void operator=(const vtkImageSolitaryFilter&);
00091 };
00092
00093 #endif
00094
00095