public static void DrawDistributionsAndSaveImage(double[,] matrix, string imagePath) { // calculate statistics for values in matrix double[] values = DataTools.Matrix2Array(matrix); DataTools.GetModeAndOneTailedStandardDeviation(values, out int[] histogram, out double min, out double max, out int modalBin, out double mode, out double sd); int width = 100; // pixels int height = 100; // pixels int upperPercentileBin = 0; string title = "wpd"; var image = GraphsAndCharts.DrawHistogram( title, histogram, upperPercentileBin, new Dictionary <string, double>() { { "min", min }, { "max", max }, { "modal", modalBin }, { "mode", mode }, { "sd", sd }, }, width, height); image.Save(imagePath); }
public static SpectralStats GetModeAndOneTailedStandardDeviation(double[] values, int binCount, int upperPercentile) { DataTools.GetModeAndOneTailedStandardDeviation(values, out var histogram, out var min, out var max, out var modalBin, out var mode, out var sd); // writeBarGraph(histogram); // debug purposes return(new SpectralStats() { Minimum = min, Maximum = max, ModalBin = modalBin, Mode = mode, StandardDeviation = sd, UpperPercentile = upperPercentile, Distribution = histogram, Count = values.Length, }); }
public static SpectralStats GetModeAndOneTailedStandardDeviation(double[,] matrix) { double[] values = DataTools.Matrix2Array(matrix); DataTools.GetModeAndOneTailedStandardDeviation(values, out var histogram, out var min, out var max, out var modalBin, out var mode, out var sd); // writeBarGraph(histogram); // debug purposes return(new SpectralStats() { Minimum = min, Maximum = max, Mode = mode, ModalBin = modalBin, StandardDeviation = sd, UpperPercentile = 0, Distribution = histogram, }); }
public static SpectralStats GetModeAndOneTailedStandardDeviation(double[] values, int binCount, int upperPercentile) { const bool displayHistogram = false; double min, max, mode, sd; DataTools.GetModeAndOneTailedStandardDeviation(values, displayHistogram, out min, out max, out mode, out sd); int[] histogram = Histogram.Histo(values, binCount); return(new SpectralStats() { Minimum = min, Maximum = max, Mode = mode, StandardDeviation = sd, UpperPercentile = upperPercentile, Distribution = histogram, Count = values.Length, }); }
public static List <Image <Rgb24> > DrawPlotDistributions(List <Plot> plots) { int imageWidth = 100; int height = 100; var imageList = new List <Image <Rgb24> >(); foreach (var plot in plots) { DataTools.GetModeAndOneTailedStandardDeviation(plot.data, out int[] histogram, out double min, out double max, out int modalBin, out double mode, out double sd); var statistics = new Dictionary <string, double> { { "min", min }, { "max", max }, { "mode", mode }, { "sd", sd }, }; var image = DrawHistogram(plot.title, histogram, 95, statistics, imageWidth, height); imageList.Add(image); } return(imageList); }
public static SpectralStats GetModeAndOneTailedStandardDeviation(double[,] matrix) { int binCount = 100; int upperPercentile = 0; double[] values = DataTools.Matrix2Array(matrix); const bool displayHistogram = false; double min, max, mode, sd; DataTools.GetModeAndOneTailedStandardDeviation(values, displayHistogram, out min, out max, out mode, out sd); int[] histogram = Histogram.Histo(matrix, binCount); return(new SpectralStats() { Minimum = min, Maximum = max, Mode = mode, StandardDeviation = sd, UpperPercentile = upperPercentile, Distribution = histogram, }); }