VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkImageNonMaximumSuppression.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageNonMaximumSuppression.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
29 #ifndef __vtkImageNonMaximumSuppression_h
30 #define __vtkImageNonMaximumSuppression_h
31 
32 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_MAGNITUDE_INPUT 0
33 #define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_VECTOR_INPUT 1
34 
35 #include "vtkImagingMorphologicalModule.h" // For export macro
37 #include "vtkImageData.h" // makes things a bit easier
38 
39 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageNonMaximumSuppression : public vtkThreadedImageAlgorithm
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent);
45 
47 
48  void SetMagnitudeInputData(vtkImageData *input) {this->SetInputData(0,input);};
49  void SetVectorInputData(vtkImageData *input) {this->SetInputData(1,input);};
51 
53 
55  vtkSetMacro(HandleBoundaries, int);
56  vtkGetMacro(HandleBoundaries, int);
57  vtkBooleanMacro(HandleBoundaries, int);
59 
61 
63  vtkSetClampMacro(Dimensionality,int,2,3);
64  vtkGetMacro(Dimensionality,int);
66 
67 protected:
70 
71  int HandleBoundaries;
73 
74  virtual int RequestInformation (vtkInformation *,
75  vtkInformationVector **,
76  vtkInformationVector *);
77 
78  virtual int RequestUpdateExtent(vtkInformation*,
79  vtkInformationVector**,
80  vtkInformationVector*);
81 
82  virtual void ThreadedRequestData(vtkInformation *request,
83  vtkInformationVector **inputVector,
84  vtkInformationVector *outputVector,
85  vtkImageData ***inData,
86  vtkImageData **outData,
87  int extent[6], int threadId);
88 
89 private:
91  void operator=(const vtkImageNonMaximumSuppression&); // Not implemented.
92 };
93 
94 #endif
95 
96 
97 
void SetVectorInputData(vtkImageData *input)
void SetMagnitudeInputData(vtkImageData *input)
void SetInputData(vtkDataObject *)
void PrintSelf(ostream &os, vtkIndent indent)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Generic filter that has one input..
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Performs non-maximum suppression.
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId)
static vtkAlgorithm * New()