www.pudn.com > neuroocr_src.zip > Histogram.cs
// AForge Math Library
//
// Copyright © Andrew Kirillov, 2005
// andrew.kirillov@gmail.com
//
namespace AForge.Math
{
using System;
///
/// Histogram
///
public class Histogram
{
private int[] values;
private double mean = 0;
private double stdDev = 0;
private int median = 0;
private int min;
private int max;
// Get values
public int[] Values
{
get { return values; }
}
// Get mean
public double Mean
{
get { return mean; }
}
// Get standard deviation
public double StdDev
{
get { return stdDev; }
}
// Get median
public int Median
{
get { return median; }
}
// Get min value
public int Min
{
get { return min; }
}
// Get max value
public int Max
{
get { return max; }
}
// Constructor
public Histogram(int[] values)
{
this.values = values;
int i, n = values.Length;
max = 0;
min = n;
// calculate min and max
for (i = 0; i < n; i++)
{
if (values[i] != 0)
{
// max
if (i > max)
max = i;
// min
if (i < min)
min = i;
}
}
mean = Statistics.Mean(values);
stdDev = Statistics.StdDev(values);
median = Statistics.Median(values);
}
// Get range around median containing specified
// percentile of values
public Range GetRange(double percent)
{
return Statistics.GetRange(values, percent);
}
}
}