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

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 "vtkThreadedImageAlgorithm.h"
00036 #include "vtkImageData.h" // makes things a bit easier
00037 
00038 class VTK_IMAGING_EXPORT vtkImageNonMaximumSuppression : public vtkThreadedImageAlgorithm
00039 {
00040 public:
00041   static vtkImageNonMaximumSuppression *New();
00042   vtkTypeRevisionMacro(vtkImageNonMaximumSuppression,vtkThreadedImageAlgorithm);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044   
00046 
00047   void SetMagnitudeInput(vtkImageData *input) {this->SetInput(0,input);};
00048   void SetVectorInput(vtkImageData *input) {this->SetInput(1,input);};
00050   
00052 
00054   vtkSetMacro(HandleBoundaries, int);
00055   vtkGetMacro(HandleBoundaries, int);
00056   vtkBooleanMacro(HandleBoundaries, int);
00058 
00060 
00062   vtkSetClampMacro(Dimensionality,int,2,3);
00063   vtkGetMacro(Dimensionality,int);
00065   
00066 protected:
00067   vtkImageNonMaximumSuppression();
00068   ~vtkImageNonMaximumSuppression() {};
00069 
00070   int HandleBoundaries;
00071   int Dimensionality;
00072   
00073   virtual int RequestInformation (vtkInformation *, 
00074                                   vtkInformationVector **,
00075                                   vtkInformationVector *);
00076 
00077   virtual int RequestUpdateExtent(vtkInformation*,
00078                                   vtkInformationVector**,
00079                                   vtkInformationVector*);
00080   
00081   virtual void ThreadedRequestData(vtkInformation *request, 
00082                                    vtkInformationVector **inputVector, 
00083                                    vtkInformationVector *outputVector,
00084                                    vtkImageData ***inData, 
00085                                    vtkImageData **outData,
00086                                    int extent[6], int threadId);
00087   
00088 private:
00089   vtkImageNonMaximumSuppression(const vtkImageNonMaximumSuppression&);  // Not implemented.
00090   void operator=(const vtkImageNonMaximumSuppression&);  // Not implemented.
00091 };
00092 
00093 #endif
00094 
00095 
00096 

Generated on Mon Jan 21 23:07:30 2008 for VTK by  doxygen 1.4.3-20050530