This file is indexed.

/usr/include/vtk-7.1/vtkImageHistogramStatistics.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
137
138
139
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkImageHistogramStatistics.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   vtkImageHistogramStatistics
 * @brief   Compute statistics for an image
 *
 * vtkImageHistogramStatistics computes statistics such as mean, median, and
 * standard deviation.  These statistics are computed from the histogram
 * of the image, rather than from the image itself, because this is more
 * efficient than computing the statistics while traversing the pixels.
 * If the input image is of type float or double, then the precision of
 * the Mean, Median, and StandardDeviation will depend on the number of
 * histogram bins.  By default, 65536 bins are used for float data, giving
 * at least 16 bits of precision.
 * @par Thanks:
 * Thanks to David Gobbi at the Seaman Family MR Centre and Dept. of Clinical
 * Neurosciences, Foothills Medical Centre, Calgary, for providing this class.
*/

#ifndef vtkImageHistogramStatistics_h
#define vtkImageHistogramStatistics_h

#include "vtkImagingStatisticsModule.h" // For export macro
#include "vtkImageHistogram.h"

class vtkImageStencilData;
class vtkIdTypeArray;

class VTKIMAGINGSTATISTICS_EXPORT vtkImageHistogramStatistics : public vtkImageHistogram
{
public:
  static vtkImageHistogramStatistics *New();
  vtkTypeMacro(vtkImageHistogramStatistics,vtkImageHistogram);

  void PrintSelf(ostream& os, vtkIndent indent);

  /**
   * Get the minimum value present in the image.  This value is computed
   * when Update() is called.
   */
  double GetMinimum() { return this->Minimum; }

  /**
   * Get the maximum value present in the image.  This value is computed
   * when Update() is called.
   */
  double GetMaximum() { return this->Maximum; }

  /**
   * Get the mean value of the image.  This value is computed when Update()
   * is called.
   */
  double GetMean() { return this->Mean; }

  /**
   * Get the median value.  This is computed when Update() is called.
   */
  double GetMedian() { return this->Median; }

  /**
   * Get the standard deviation of the values in the image.  This is
   * computed when Update() is called.
   */
  double GetStandardDeviation() { return this->StandardDeviation; }

  //@{
  /**
   * Set the percentiles to use for automatic view range computation.
   * This allows one to compute a range that does not include outliers
   * that are significantly darker or significantly brighter than the
   * rest of the pixels in the image.  The default is to use the first
   * percentile and the 99th percentile.
   */
  vtkSetVector2Macro(AutoRangePercentiles, double);
  vtkGetVector2Macro(AutoRangePercentiles, double);
  //@}

  //@{
  /**
   * Set lower and upper expansion factors to apply to the auto range
   * that was computed from the AutoRangePercentiles.  Any outliers that
   * are within this expanded range will be included, even if they are
   * beyond the percentile.  This allows inclusion of values that are
   * just slightly outside of the percentile, while rejecting values
   * that are far beyond the percentile.  The default is to expand the
   * range by a factor of 0.1 at each end.  The range will never be
   * expanded beyond the Minimum or Maximum pixel values.
   */
  vtkSetVector2Macro(AutoRangeExpansionFactors, double);
  vtkGetVector2Macro(AutoRangeExpansionFactors, double);
  //@}

  //@{
  /**
   * Get an automatically computed view range for the image, for use
   * with the lookup table or image property that is used when viewing
   * the image.  The use of this range will avoid situations where an
   * image looks too dark because a few pixels happen to be much brighter
   * than the rest.
   */
  vtkGetVector2Macro(AutoRange, double);
  //@}

protected:
  vtkImageHistogramStatistics();
  ~vtkImageHistogramStatistics();

  virtual int RequestData(vtkInformation *,
                          vtkInformationVector **,
                          vtkInformationVector *);

  double Minimum;
  double Maximum;
  double Mean;
  double StandardDeviation;
  double Median;

  double AutoRange[2];
  double AutoRangePercentiles[2];
  double AutoRangeExpansionFactors[2];

private:
  vtkImageHistogramStatistics(const vtkImageHistogramStatistics&) VTK_DELETE_FUNCTION;
  void operator=(const vtkImageHistogramStatistics&) VTK_DELETE_FUNCTION;
};

#endif