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

dox/Imaging/vtkImageNonMaximumSuppression.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImageNonMaximumSuppression.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00029 #ifndef __vtkImageNonMaximumSuppression_h 00030 #define __vtkImageNonMaximumSuppression_h 00031 00032 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_MAGNITUDE_INPUT 0 00033 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_VECTOR_INPUT 1 00034 00035 #include "vtkImageTwoInputFilter.h" 00036 00037 class VTK_IMAGING_EXPORT vtkImageNonMaximumSuppression : public vtkImageTwoInputFilter 00038 { 00039 public: 00040 static vtkImageNonMaximumSuppression *New(); 00041 vtkTypeRevisionMacro(vtkImageNonMaximumSuppression,vtkImageTwoInputFilter); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00045 00046 void SetMagnitudeInput(vtkImageData *input) {this->SetInput1(input);}; 00047 void SetVectorInput(vtkImageData *input) {this->SetInput2(input);}; 00049 00051 00053 vtkSetMacro(HandleBoundaries, int); 00054 vtkGetMacro(HandleBoundaries, int); 00055 vtkBooleanMacro(HandleBoundaries, int); 00057 00059 00061 vtkSetClampMacro(Dimensionality,int,2,3); 00062 vtkGetMacro(Dimensionality,int); 00064 00065 protected: 00066 vtkImageNonMaximumSuppression(); 00067 ~vtkImageNonMaximumSuppression() {}; 00068 00069 int HandleBoundaries; 00070 int Dimensionality; 00071 00072 void ExecuteInformation(vtkImageData **inDatas, vtkImageData *outData); 00073 virtual void ComputeInputUpdateExtent(int inExt[6], int outExt[6], 00074 int whichInput); 00075 void ExecuteInformation(){this->vtkImageTwoInputFilter::ExecuteInformation();}; 00076 void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData, 00077 int extent[6], int id); 00078 00079 private: 00080 vtkImageNonMaximumSuppression(const vtkImageNonMaximumSuppression&); // Not implemented. 00081 void operator=(const vtkImageNonMaximumSuppression&); // Not implemented. 00082 }; 00083 00084 #endif 00085 00086 00087