/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
|