/usr/include/vtk-7.1/vtkImageOpenClose3D.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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkImageOpenClose3D.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 vtkImageOpenClose3D
* @brief Will perform opening or closing.
*
* vtkImageOpenClose3D performs opening or closing by having two
* vtkImageErodeDilates in series. The size of operation
* is determined by the method SetKernelSize, and the operator is an ellipse.
* OpenValue and CloseValue determine how the filter behaves. For binary
* images Opening and closing behaves as expected.
* Close value is first dilated, and then eroded.
* Open value is first eroded, and then dilated.
* Degenerate two dimensional opening/closing can be achieved by setting the
* one axis the 3D KernelSize to 1.
* Values other than open value and close value are not touched.
* This enables the filter to processes segmented images containing more than
* two tags.
*/
#ifndef vtkImageOpenClose3D_h
#define vtkImageOpenClose3D_h
#include "vtkImagingMorphologicalModule.h" // For export macro
#include "vtkImageAlgorithm.h"
class vtkImageDilateErode3D;
class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
{
public:
//@{
/**
* Default open value is 0, and default close value is 255.
*/
static vtkImageOpenClose3D *New();
vtkTypeMacro(vtkImageOpenClose3D,vtkImageAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
//@}
/**
* This method considers the sub filters MTimes when computing this objects
* modified time.
*/
vtkMTimeType GetMTime();
//@{
/**
* Turn debugging output on. (in sub filters also)
*/
void DebugOn();
void DebugOff();
//@}
/**
* Pass modified message to sub filters.
*/
void Modified();
// Forward Source messages to filter1
/**
* Selects the size of gaps or objects removed.
*/
void SetKernelSize(int size0, int size1, int size2);
//@{
/**
* Determines the value that will opened.
* Open value is first eroded, and then dilated.
*/
void SetOpenValue(double value);
double GetOpenValue();
//@}
//@{
/**
* Determines the value that will closed.
* Close value is first dilated, and then eroded
*/
void SetCloseValue(double value);
double GetCloseValue();
//@}
//@{
/**
* Needed for Progress functions
*/
vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
//@}
/**
* see vtkAlgorithm for details
*/
virtual int ProcessRequest(vtkInformation*,
vtkInformationVector**,
vtkInformationVector*);
/**
* Override to send the request to internal pipeline.
*/
virtual int
ComputePipelineMTime(vtkInformation* request,
vtkInformationVector** inInfoVec,
vtkInformationVector* outInfoVec,
int requestFromOutputPort,
vtkMTimeType* mtime);
protected:
vtkImageOpenClose3D();
~vtkImageOpenClose3D();
vtkImageDilateErode3D *Filter0;
vtkImageDilateErode3D *Filter1;
void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
private:
vtkImageOpenClose3D(const vtkImageOpenClose3D&) VTK_DELETE_FUNCTION;
void operator=(const vtkImageOpenClose3D&) VTK_DELETE_FUNCTION;
};
#endif
|