/usr/include/vtk-7.1/vtkSubPixelPositionEdgels.h is in libvtk7-dev 7.1.1+dfsg1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkSubPixelPositionEdgels.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkSubPixelPositionEdgels
* @brief adjust edgel locations based on gradients.
*
* vtkSubPixelPositionEdgels is a filter that takes a series of linked
* edgels (digital curves) and gradient maps as input. It then adjusts
* the edgel locations based on the gradient data. Specifically, the
* algorithm first determines the neighboring gradient magnitudes of
* an edgel using simple interpolation of its neighbors. It then fits
* the following three data points: negative gradient direction
* gradient magnitude, edgel gradient magnitude and positive gradient
* direction gradient magnitude to a quadratic function. It then
* solves this quadratic to find the maximum gradient location along
* the gradient orientation. It then modifies the edgels location
* along the gradient orientation to the calculated maximum
* location. This algorithm does not adjust an edgel in the direction
* orthogonal to its gradient vector.
*
* @sa
* vtkImageData vtkImageGradient vtkLinkEdgels
*/
#ifndef vtkSubPixelPositionEdgels_h
#define vtkSubPixelPositionEdgels_h
#include "vtkFiltersGeneralModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"
class vtkStructuredPoints;
class vtkDataArray;
class VTKFILTERSGENERAL_EXPORT vtkSubPixelPositionEdgels : public vtkPolyDataAlgorithm
{
public:
static vtkSubPixelPositionEdgels *New();
vtkTypeMacro(vtkSubPixelPositionEdgels,vtkPolyDataAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
//@{
/**
* Set/Get the gradient data for doing the position adjustments.
*/
void SetGradMapsData(vtkStructuredPoints *gm);
vtkStructuredPoints *GetGradMaps();
//@}
//@{
/**
* These methods can make the positioning look for a target scalar value
* instead of looking for a maximum.
*/
vtkSetMacro(TargetFlag, int);
vtkGetMacro(TargetFlag, int);
vtkBooleanMacro(TargetFlag, int);
vtkSetMacro(TargetValue, double);
vtkGetMacro(TargetValue, double);
//@}
protected:
vtkSubPixelPositionEdgels();
~vtkSubPixelPositionEdgels() VTK_OVERRIDE;
// Usual data generation method
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
void Move(int xdim, int ydim, int zdim, int x, int y,
float *img, vtkDataArray *inVecs,
double *result, int z, double *aspect, double *resultNormal);
void Move(int xdim, int ydim, int zdim, int x, int y,
double *img, vtkDataArray *inVecs,
double *result, int z, double *aspect, double *resultNormal);
// extension for target instead of maximum
int TargetFlag;
double TargetValue;
private:
vtkSubPixelPositionEdgels(const vtkSubPixelPositionEdgels&) VTK_DELETE_FUNCTION;
void operator=(const vtkSubPixelPositionEdgels&) VTK_DELETE_FUNCTION;
};
#endif
|