示例#1
0
        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,
            });
        }
示例#4
0
        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);
        }
示例#6
0
        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,
            });
        }