dox/Imaging/vtkImageConnectedComponents.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageConnectedComponents.h,v $
00005 
00006   Copyright  2006  The Pennsylvania State University
00007   
00008           Notice
00009  
00010   The contents of this file are subject to The Pennsylvania State University 
00011   Open Source License (the "License"); you may not use this file except in 
00012   compliance with the License. You may obtain a copy of the License at H066 
00013   Radiology, NMR Building, 500 University Drive, Hershey, PA, 
00014   tel. (717) 531-6069 or via email at dcb210@psu.edu.
00015  
00016   Software distributed under the License is distributed on an "AS IS" basis, 
00017   WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
00018   for the specific language governing rights and limitations under the 
00019   License.
00020  
00021   The Original Code is listed under Exhibit A of the license.
00022  
00023   The Initial Developer of the Original Code is Don Bigler.
00024  
00025   Contributor(s):
00026  
00027 =========================================================================*/
00041 #ifndef __vtkImageConnectedComponents_h
00042 #define __vtkImageConnectedComponents_h
00043 
00044 #include "vtkSimpleImageToImageFilter.h"
00045 #include "vtkCNMRRImagingWin32Header.h"
00046 
00047 // Operation options.
00048 #define VTK_CONNECTED_SIX        0
00049 #define VTK_CONNECTED_EIGHTEEN   1
00050 #define VTK_CONNECTED_TWENTYSIX  2
00051 
00052 class VTK_CNMRR_IMAGING_EXPORT vtkImageConnectedComponents : public vtkSimpleImageToImageFilter
00053 {
00054 public:
00055   static vtkImageConnectedComponents *New();
00056   vtkTypeRevisionMacro(vtkImageConnectedComponents,vtkSimpleImageToImageFilter);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058 
00060 
00061   vtkSetMacro(NumberConnected,int);
00062   vtkGetMacro(NumberConnected,int);
00063   void SetNumberConnectedToSix() {this->SetNumberConnected(VTK_CONNECTED_SIX);};
00064   void SetNumberConnectedToEighteen() {this->SetNumberConnected(VTK_CONNECTED_EIGHTEEN);};
00065   void SetNumberConnectedToTwentySix() {this->SetNumberConnected(VTK_CONNECTED_TWENTYSIX);};
00067   
00069 
00070   vtkSetMacro(Dimensionality,int);
00071   vtkGetMacro(Dimensionality,int);
00073   
00074 protected:
00075   vtkImageConnectedComponents();
00076   ~vtkImageConnectedComponents(){};
00077 
00078   int Dimensionality;
00079   int NumberConnected;
00080   
00081   virtual int RequestInformation (vtkInformation*,vtkInformationVector**,vtkInformationVector*);
00082   virtual void SimpleExecute(vtkImageData* input, vtkImageData* output);
00083      
00084 private:
00085   vtkImageConnectedComponents(const vtkImageConnectedComponents&);  // Not implemented.
00086   void operator=(const vtkImageConnectedComponents&);  // Not implemented.
00087 };
00088 
00089 
00090 
00091 #endif

Generated on Tue May 12 14:53:03 2009 for vtkCNMRRLibrary by  doxygen 1.4.7