Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Imaging/vtkImageIslandRemoval2D.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageIslandRemoval2D.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00042 #ifndef __vtkImageIslandRemoval2D_h
00043 #define __vtkImageIslandRemoval2D_h
00044 
00045 
00046 #include "vtkImageToImageFilter.h"
00047 
00048 //BTX
00049 typedef struct{
00050   void *inPtr;
00051   void *outPtr;
00052   int idx0;
00053   int idx1;
00054   } vtkImage2DIslandPixel;
00055 //ETX
00056 
00057 class VTK_IMAGING_EXPORT vtkImageIslandRemoval2D : public vtkImageToImageFilter
00058 {
00059 public:
00061 
00062   static vtkImageIslandRemoval2D *New();
00063   vtkTypeRevisionMacro(vtkImageIslandRemoval2D,vtkImageToImageFilter);
00064   void PrintSelf(ostream& os, vtkIndent indent);
00066   
00068 
00069   vtkSetMacro(AreaThreshold, int);
00070   vtkGetMacro(AreaThreshold, int);
00072 
00074 
00075   vtkSetMacro(SquareNeighborhood, int);
00076   vtkGetMacro(SquareNeighborhood, int);
00077   vtkBooleanMacro(SquareNeighborhood, int);
00079 
00081 
00082   vtkSetMacro(IslandValue, float);
00083   vtkGetMacro(IslandValue, float);
00085 
00087 
00088   vtkSetMacro(ReplaceValue, float);
00089   vtkGetMacro(ReplaceValue, float);
00091   
00092 protected:
00093   vtkImageIslandRemoval2D();
00094   ~vtkImageIslandRemoval2D() {};
00095 
00096   int AreaThreshold;
00097   int SquareNeighborhood;
00098   float IslandValue;
00099   float ReplaceValue;
00100 
00101   void ExecuteData(vtkDataObject *output);
00102 private:
00103   vtkImageIslandRemoval2D(const vtkImageIslandRemoval2D&);  // Not implemented.
00104   void operator=(const vtkImageIslandRemoval2D&);  // Not implemented.
00105 };
00106 
00107 #endif
00108 
00109 
00110