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
1.4.7