private double getHistogramViewBinCount() { return Math.min(getDisplayableBinCount(), model.getHistogramBins().length); }
g2d.setPaint(Color.DARK_GRAY); final int[] histogramBins = model.getHistogramBins(); final double maxHistogramCounts = getMaxVisibleHistogramCounts(histogramBins, 1.0 / 16.0); final double viewBinCount = getHistogramViewBinCount();
private double getBinCountInRange(double minSample, double maxSample) { if (!isHistogramAvailable()) { return -1.0; } final double minHistogramSample = model.getMinSample(); final double maxHistogramSample = model.getMaxSample(); if (minSample >= maxHistogramSample || maxSample <= minHistogramSample) { return 0.0; } minSample = Math.max(minSample, minHistogramSample); maxSample = Math.min(maxSample, maxHistogramSample); final double a = scaleInverse(maxSample) - scaleInverse(minSample); final double b = scaleInverse(maxHistogramSample) - scaleInverse(minHistogramSample); return (a / b) * model.getHistogramBins().length; }
private double getMinHistogramViewBinIndex() { if (!isHistogramAvailable()) { return -1.0; } final double minHistogramSample = model.getMinSample(); final double minHistogramViewSample = model.getMinHistogramViewSample(); if (minHistogramSample != minHistogramViewSample) { final double a = scaleInverse(minHistogramViewSample) - scaleInverse(minHistogramSample); final double b = scaleInverse(model.getMaxSample()) - scaleInverse(minHistogramSample); return (a / b) * model.getHistogramBins().length; } return 0.0; }
public void compute95Percent() { final Histogram histogram = new Histogram(getModel().getHistogramBins(), scaleInverse(getModel().getMinSample()), scaleInverse(getModel().getMaxSample())); final Range autoStretchRange = histogram.findRangeFor95Percent(); computeFactors(); setFirstSliderSample(scale(autoStretchRange.getMin())); setLastSliderSample(scale(autoStretchRange.getMax())); partitionSliders(false); computeZoomInToSliderLimits(); }