void setMinAndMax(ImagePlus imp, double min, double max) { boolean rgb = imp.getType()==ImagePlus.COLOR_RGB; if (channels!=7 && rgb) imp.setDisplayRange(min, max, channels); else imp.setDisplayRange(min, max); }
void setMinAndMax(ImagePlus imp, double min, double max) { boolean rgb = imp.getType()==ImagePlus.COLOR_RGB; if (channels!=7 && rgb) imp.setDisplayRange(min, max, channels); else imp.setDisplayRange(min, max); }
protected void showImage(ImagePlus imp, double max) { // set the display range imp.setDisplayRange(0.0, max); imp.show(); }
private static void setMinAndMax(ImagePlus img, double min, double max, int channels) { Calibration cal = img.getCalibration(); min = cal.getRawValue(min); max = cal.getRawValue(max); if (channels==7) img.setDisplayRange(min, max); else img.setDisplayRange(min, max, channels); img.updateAndDraw(); }
/** * Optimize display range of 2d/3d image based on its * minimum and maximum values * * @param image input image */ public static final void optimizeDisplayRange( ImagePlus image ) { double[] extremeValue = findMinAndMax(image); image.setDisplayRange( extremeValue[ 0 ], extremeValue[ 1 ] ); image.updateAndDraw(); }
private static void setMinAndMax(ImagePlus img, double min, double max, int channels) { Calibration cal = img.getCalibration(); min = cal.getRawValue(min); max = cal.getRawValue(max); if (channels==7) img.setDisplayRange(min, max); else img.setDisplayRange(min, max, channels); img.updateAndDraw(); }
@Override public void handleImage(RandomAccessibleInterval<T> image, String name) { ImagePlus imp = ImageJFunctions.wrapFloat( image, name ); // set the display range double max = ImageStatistics.getImageMax(image).getRealDouble(); imp.setDisplayRange(0.0, max); addImageToList(imp, name); }
@Override public void run() { renderedImage.show(); if(renderedImage.isVisible()) { double upperRange = findQuantileHisto(renderedImage, 0.99); //IJ.log("upper image range: " + upperRange); renderedImage.setDisplayRange(0, upperRange); renderedImage.updateAndDraw(); } } /*
private static void minmax(final ImagePlus imp, final double min, final double max) { switch (type(imp)) { case IMAGE5D: { I5DResource.minmax(imp,min,max); break; } case COMPOSITEIMAGE: { final CompositeImage ci = (CompositeImage)imp; final int nc = ci.getNChannels(); for (int c=1; c<=nc; ++c) { final LUT lut = ci.getChannelLut(c); lut.min = min; lut.max = max; } break; } case HYPERSTACK: case IMAGESTACK: case SINGLEIMAGE: { imp.setDisplayRange(min,max); break; } } }
labelPlus.setDisplayRange(0, nLabels); return labelPlus;
static void transfer(final ImagePlus src, final ImagePlus dst) { // Calibration: dst.setCalibration(src.getCalibration()); // Color model: final ColorModel cm = src.getProcessor().getColorModel(); dst.getProcessor().setColorModel(cm); dst.getStack().setColorModel(cm); // Min and max displaying: dst.setDisplayRange(src.getDisplayRangeMin(),src.getDisplayRangeMax()); }
@SuppressWarnings("unchecked") public static < T extends RealType< T > & NativeType< T > > ImagePlus getImagePlusInstance( final RandomAccessibleInterval< T > img, final boolean virtualDisplay, final String title, final double min, final double max ) { ImagePlus imp = null; if ( img instanceof ImagePlusImg ) try { imp = ((ImagePlusImg<T, ?>)img).getImagePlus(); } catch (ImgLibException e) {} if ( imp == null ) { if ( virtualDisplay ) imp = ImageJFunctions.wrap( img, title, DeconViews.createExecutorService() ); else imp = ImageJFunctions.wrap( img, title, DeconViews.createExecutorService() ).duplicate(); } final double[] minmax = getFusionMinMax( img, min, max ); imp.setTitle( title ); imp.setDimensions( 1, (int)img.dimension( 2 ), 1 ); imp.setDisplayRange( minmax[ 0 ], minmax[ 1 ] ); return imp; }
private ImagePlus computeResultImage() { // extract array of numerical values double[] values = getColumnValues(table, this.selectedHeaderName); // Different processing depending on image dimensionality try { if (this.resultPlus.getStackSize() == 1) { ImageProcessor labelImage = this.labelImagePlus.getProcessor(); ImageProcessor resultImage = LabelImages.applyLut(labelImage, values); this.resultPlus.setProcessor(resultImage); } else { ImageStack labelImage = this.labelImagePlus.getStack(); ImageStack resultImage = LabelImages.applyLut(labelImage, values); this.resultPlus.setStack(resultImage); } } catch (RuntimeException ex) { IJ.error("Label to value error", "ERROR: label image values do not \n" + "correspond with table values!"); return null; } this.resultPlus.setDisplayRange(this.minValue, this.maxValue); return this.resultPlus; }
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(); }
public ImagePlus compute(ImageStack stack) { w = stack.getWidth(); h = stack.getHeight(); d = stack.getSize(); ImageStack result = new ImageStack(w, h, d); for (int i = 1; i <= d; i++) result.setPixels(new float[w * h], i); current = 0; total = w * h * d * 3; /* Since X class is the last to call set method, * it is its set method that takes care of * updating {min,max}Value */ minValue = 0; maxValue = 0; new Z(stack, result).compute(); new Y(result).compute(); new X(result).compute(); scaledResult = new ImagePlus("EDT", result); scaledResult.setDisplayRange(minValue, maxValue); return scaledResult; }
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(); }
selectedPlus.setDisplayRange(imagePlus.getDisplayRangeMin(), imagePlus.getDisplayRangeMax()); selectedPlus.setLut( imagePlus.getProcessor().getLut() );
impSubstack.setStack(stackTitle, stack2); if (virtualStack) impSubstack.setDisplayRange(min, max); return impSubstack;
substack.setCalibration(imp.getCalibration()); if (virtualStack) substack.setDisplayRange(min, max); return substack;
double min = imp.getDisplayRangeMin(); double max = imp.getDisplayRangeMax(); imp2.setDisplayRange(min, max);