VTK
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=========================================================================*/
30#ifndef vtkImageNonMaximumSuppression_h
31#define vtkImageNonMaximumSuppression_h
32
33#define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_MAGNITUDE_INPUT 0
34#define VTK_IMAGE_NON_MAXIMUM_SUPPRESSION_VECTOR_INPUT 1
35
36#include "vtkImagingMorphologicalModule.h" // For export macro
38#include "vtkImageData.h" // makes things a bit easier
39
40class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageNonMaximumSuppression : public vtkThreadedImageAlgorithm
41{
42public:
45 void PrintSelf(ostream& os, vtkIndent indent);
46
48
51 void SetMagnitudeInputData(vtkImageData *input) {this->SetInputData(0,input);};
52 void SetVectorInputData(vtkImageData *input) {this->SetInputData(1,input);};
54
56
60 vtkSetMacro(HandleBoundaries, int);
61 vtkGetMacro(HandleBoundaries, int);
62 vtkBooleanMacro(HandleBoundaries, int);
64
66
69 vtkSetClampMacro(Dimensionality,int,2,3);
70 vtkGetMacro(Dimensionality,int);
72
73protected:
76
79
83
87
88 virtual void ThreadedRequestData(vtkInformation *request,
89 vtkInformationVector **inputVector,
90 vtkInformationVector *outputVector,
91 vtkImageData ***inData,
92 vtkImageData **outData,
93 int extent[6], int threadId);
94
95private:
97 void operator=(const vtkImageNonMaximumSuppression&) VTK_DELETE_FUNCTION;
98};
99
100#endif
101
102
103
void SetInputData(vtkDataObject *)
Assign a data object as input.
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
Performs non-maximum suppression.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
static vtkImageNonMaximumSuppression * New()
void SetVectorInputData(vtkImageData *input)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Subclasses can reimplement this method to translate the update extent requests from each output port ...
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId)
If the subclass does not define an Execute method, then the task will be broken up,...
void SetMagnitudeInputData(vtkImageData *input)
Set the magnitude and vector inputs.
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Subclasses can reimplement this method to collect information from their inputs and set information f...
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Generic filter that has one input.
@ extent
Definition: vtkX3D.h:345
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.