/** * Multiplies all pixel values in the result image by pixelWidth. This ways * the pixel values represent sample thickness in real units. * * @throws NullPointerException If this.resultImage == null */ private void pixelValuesToCalibratedValues() { if (resultImage == null) { throw new NullPointerException( "The resultImage in LocalThicknessWrapper is null"); } final double pixelWidth = resultImage.getCalibration().pixelWidth; final ImageStack stack = resultImage.getStack(); final int depth = stack.getSize(); for (int z = 1; z <= depth; z++) { stack.getProcessor(z).multiply(pixelWidth); } final StackStatistics stackStatistics = new StackStatistics(resultImage); final double maxPixelValue = stackStatistics.max; resultImage.getProcessor().setMinAndMax(0, maxPixelValue); }
ImageStatistics stats = new StackStatistics(imp, nBins, nMin, nMax); int maxCount = 0; for (int i=0; i<stats.histogram.length; i++) {
ImageStatistics stats = new StackStatistics(imp, nBins, nMin, nMax); int maxCount = 0; for (int i=0; i<stats.histogram.length; i++) {
int measurements = Analyzer.getMeasurements(); Analyzer.setMeasurements(Measurements.AREA+Measurements.MIN_MAX); ImageStatistics stats = new StackStatistics(imp); Analyzer.setMeasurements(measurements); AutoThresholder thresholder = new AutoThresholder();
int measurements = Analyzer.getMeasurements(); Analyzer.setMeasurements(Measurements.AREA+Measurements.MIN_MAX); ImageStatistics stats = new StackStatistics(imp); Analyzer.setMeasurements(measurements); AutoThresholder thresholder = new AutoThresholder();
void invert16BitStack(ImagePlus imp) { imp.deleteRoi(); imp.getCalibration().disableDensityCalibration(); ImageStatistics stats = new StackStatistics(imp); ImageStack stack = imp.getStack(); int nslices = stack.getSize(); int min=(int)stats.min, range=(int)(stats.max-stats.min); int n = imp.getWidth()*imp.getHeight(); for (int slice=1; slice<=nslices; slice++) { ImageProcessor ip = stack.getProcessor(slice); short[] pixels = (short[])ip.getPixels(); for (int i=0; i<n; i++) { int before = pixels[i]&0xffff; pixels[i] = (short)(range-((pixels[i]&0xffff)-min)); } } imp.setStack(null, stack); imp.setDisplayRange(0, range); imp.updateAndDraw(); }
if (range!=0 && imp.getProcessor().getMax()==Math.pow(2,range)-1 && !(imp.getCalibration().isSigned16Bit())) { ImagePlus imp2 = new ImagePlus("Temp", imp.getProcessor()); stats = new StackStatistics(imp2, 256, 0, Math.pow(2,range)); } else stats = imp.getStatistics();
void invert16BitStack(ImagePlus imp) { imp.deleteRoi(); imp.getCalibration().disableDensityCalibration(); ImageStatistics stats = new StackStatistics(imp); ImageStack stack = imp.getStack(); int nslices = stack.getSize(); int min=(int)stats.min, range=(int)(stats.max-stats.min); int n = imp.getWidth()*imp.getHeight(); for (int slice=1; slice<=nslices; slice++) { ImageProcessor ip = stack.getProcessor(slice); short[] pixels = (short[])ip.getPixels(); for (int i=0; i<n; i++) { int before = pixels[i]&0xffff; pixels[i] = (short)(range-((pixels[i]&0xffff)-min)); } } imp.setStack(null, stack); imp.setDisplayRange(0, range); imp.updateAndDraw(); }
if (range!=0 && imp.getProcessor().getMax()==Math.pow(2,range)-1 && !(imp.getCalibration().isSigned16Bit())) { ImagePlus imp2 = new ImagePlus("Temp", imp.getProcessor()); stats = new StackStatistics(imp2, 256, 0, Math.pow(2,range)); } else stats = imp.getStatistics();
public void stretchHistogram(ImagePlus imp, double saturated) { ImageStatistics stats = null; if (useStackHistogram) stats = new StackStatistics(imp); if (processStack) { ImageStack stack = imp.getStack(); for (int i=1; i<=stackSize; i++) { IJ.showProgress(i, stackSize); ImageProcessor ip = stack.getProcessor(i); ip.setRoi(imp.getRoi()); if (!useStackHistogram) stats = ImageStatistics.getStatistics(ip, MIN_MAX, null); stretchHistogram(ip, saturated, stats); } } else { ImageProcessor ip = imp.getProcessor(); ip.setRoi(imp.getRoi()); if (stats==null) stats = ImageStatistics.getStatistics(ip, MIN_MAX, null); if (imp.isComposite()) stretchCompositeImageHistogram((CompositeImage)imp, saturated, stats); else stretchHistogram(ip, saturated, stats); } }
public void stretchHistogram(ImagePlus imp, double saturated) { ImageStatistics stats = null; if (useStackHistogram) stats = new StackStatistics(imp); if (processStack) { ImageStack stack = imp.getStack(); for (int i=1; i<=stackSize; i++) { IJ.showProgress(i, stackSize); ImageProcessor ip = stack.getProcessor(i); ip.setRoi(imp.getRoi()); if (!useStackHistogram) stats = ImageStatistics.getStatistics(ip, MIN_MAX, null); stretchHistogram(ip, saturated, stats); } } else { ImageProcessor ip = imp.getProcessor(); ip.setRoi(imp.getRoi()); if (stats==null) stats = ImageStatistics.getStatistics(ip, MIN_MAX, null); if (imp.isComposite()) stretchCompositeImageHistogram((CompositeImage)imp, saturated, stats); else stretchHistogram(ip, saturated, stats); } }
if (customHistogram && !stackHistogram && imp.getStackSize()>1) imp2 = new ImagePlus("Temp", imp.getProcessor()); stats = new StackStatistics(imp2, nBins, xMin, xMax); stats.histYMax = iyMax; new HistogramWindow("Histogram of "+imp.getShortTitle(), imp, stats);
if (customHistogram && !stackHistogram && imp.getStackSize()>1) imp2 = new ImagePlus("Temp", imp.getProcessor()); stats = new StackStatistics(imp2, nBins, xMin, xMax); stats.histYMax = iyMax; new HistogramWindow("Histogram of "+imp.getShortTitle(), imp, stats);
int measurements = Analyzer.getMeasurements(); Analyzer.setMeasurements(measurements | Measurements.LIMIT); ImageStatistics stats = new StackStatistics(imp, 256, 0.0, histMax); Analyzer.setMeasurements(measurements); ResultsTable rt = Analyzer.getResultsTable(); } else { Analyzer.setMeasurements(measurements & ~Measurements.LIMIT); ImageStatistics stats2 = new StackStatistics(imp, 256, 0.0, histMax); Analyzer.setMeasurements(measurements); stackVoxels = stats2.longPixelCount;
int measurements = Analyzer.getMeasurements(); Analyzer.setMeasurements(measurements | Measurements.LIMIT); ImageStatistics stats = new StackStatistics(imp, 256, 0.0, histMax); Analyzer.setMeasurements(measurements); ResultsTable rt = Analyzer.getResultsTable(); } else { Analyzer.setMeasurements(measurements & ~Measurements.LIMIT); ImageStatistics stats2 = new StackStatistics(imp, 256, 0.0, histMax); Analyzer.setMeasurements(measurements); stackVoxels = stats2.longPixelCount;
ImageStatistics stats = new StackStatistics(imp); count.setValue(stats.pixelCount); if (mean!=null) mean.setValue(stats.mean);
ImageStatistics stats = new StackStatistics(imp); count.setValue(stats.pixelCount); if (mean!=null) mean.setValue(stats.mean);
if (imp.isHyperStack()) { ImageStack stack = ChannelSplitter.getChannel(imp, imp.getChannel()); stats = new StackStatistics(new ImagePlus("", stack)); } else stats = new StackStatistics(imp);
int[] histogram = null; if (useStackHistogram) { ImageStatistics stats = new StackStatistics(imp); histogram = stats.histogram; if (stats.histogram16!=null && imp.getBitDepth()==16)
int[] histogram = null; if (useStackHistogram) { ImageStatistics stats = new StackStatistics(imp); histogram = stats.histogram; if (stats.histogram16!=null && imp.getBitDepth()==16)