Refine search
void add(ImagePlus imp, int value) { //IJ.log("add: "+value); ImageStack stack = imp.getStack(); for (int slice=1; slice<=stack.getSize(); slice++) { ImageProcessor ip = stack.getProcessor(slice); short[] pixels = (short[])ip.getPixels(); for (int i=0; i<pixels.length; i++) pixels[i] = (short)((pixels[i]&0xffff)+value); } }
private static final int computeMaxLabel(ImageStack image) { int labelMax = 0; for (int i = 1; i <= image.getSize(); i++) { ImageProcessor slice = image.getProcessor(i); labelMax = Math.max(labelMax, computeMaxLabel(slice)); } return labelMax; } }
/** * Process the image. * * @see ij.plugin.filter.PlugInFilter#run(ij.process.ImageProcessor) */ public void run(ImageProcessor ip) { this.width = this.imRef.getWidth(); this.height = this.imRef.getHeight(); this.depth = this.imRef.getStackSize(); this.inputImage = this.imRef.getStack(); // Prepare data prepareData(this.inputImage); // Compute Thinning computeThinImage(this.inputImage); // Convert image to binary 0-255 for(int i = 1; i <= this.inputImage.getSize(); i++) this.inputImage.getProcessor(i).multiply(255); this.inputImage.update(ip); } /* end run */
private static void setSliceLabels( ImagePlus imp, FileInfo fileInfo ) { if (fileInfo.sliceLabels != null) { if (imp.getStackSize() < 2) { if (fileInfo.sliceLabels.length > 0) { imp.setProperty("Label", fileInfo.sliceLabels[0]); } } else { ImageStack stack = imp.getStack(); for (int i = 0; i < fileInfo.sliceLabels.length && i < stack.getSize(); i++) { stack.setSliceLabel(fileInfo.sliceLabels[i], i + 1); } } } }
public MaxEntHistogram(ImagePlus image) { values=new long[256]; ImageStack stack=image.getStack(); for(int i=1;i<=stack.getSize();i++) initHistogram((ByteProcessor)stack.getProcessor(i)); total=stack.getWidth()*stack.getHeight()*stack.getSize(); }
synchronized void setup(int channels, ImageStack stack2) { if (stack2!=null && stack2.getSize()>0 && (stack2.getProcessor(1) instanceof ColorProcessor)) { // RGB? cip = null; lut = null; return; } setupLuts(channels); if (mode==COMPOSITE) { cip = new ImageProcessor[channels]; for (int i=0; i<channels; ++i) { cip[i] = stack2.getProcessor(i+1); cip[i].setLut(lut[i]); } currentSlice = currentFrame = 1; } }
@Override public void mouseWheelMoved(MouseWheelEvent event) { synchronized(this) { skip = !skip; if (skip) return; int slice = imp.getCurrentSlice() + event.getWheelRotation(); if (slice < 1) slice = 1; else if (slice > imp.getStack().getSize()) slice = imp.getStack().getSize(); imp.setSlice(slice); } } }
public static void crop(ImagePlus image, Rectangle rect) { if (image.getWidth() == rect.width && image.getHeight() == rect.height) return; image.changes = true; if (image.getStackSize() == 1) { image.setProcessor(image.getTitle(), crop(image.getProcessor(), rect)); return; } ImageStack stack = new ImageStack(rect.width, rect.height); ImageStack orig = image.getStack(); for (int i = 1; i < orig.getSize(); i++) stack.addSlice("", crop(orig.getProcessor(i), rect)); image.setStack(image.getTitle(), stack); } }
@Override public void run() { IOFunctions.println( new Date( System.currentTimeMillis() ) + ": Fusing " + views.size() + ", downsampling=" + DownsampleTools.printDownsampling( downsampling ) + ", caching strategy=" + imgType ); final ImagePlus imp = FusionTools.display( FusionTools.fuseVirtual( spimData, views, defaultUseBlending, false, defaultInterpolation, bb, downsampling, null ), imgType ); if ( imp.getStack().getSize() > 1 ) { imp.setSlice( Math.max( 1, imp.getStackSize() / 2 ) ); imp.updateAndRepaintWindow(); } imp.show(); try { // update the z-slider without redrawing everything final ImageWindow win = imp.getWindow(); if ( win != null && StackWindow.class.isInstance( win ) ) ((StackWindow)win).updateSliceSelector(); } catch ( Exception e ){} } } ).start();
public void insert(ImagePlus imp1, ImagePlus imp2, int x, int y) { ImageStack stack1 = imp1.getStack(); ImageStack stack2 = imp2.getStack(); int size1 = stack1.getSize(); int size2 = stack2.getSize(); ImageProcessor ip1, ip2; for (int i=1; i<=size2; i++) { ip1 = stack1.getProcessor(i<=size1?i:size1); ip2 = stack2.getProcessor(i); ip2.insert(ip1, x, y); stack2.setPixels(ip2.getPixels(), i); } imp2.setStack(null, stack2); }
synchronized void setup(int channels, ImageStack stack2) { if (stack2!=null && stack2.getSize()>0 && (stack2.getProcessor(1) instanceof ColorProcessor)) { // RGB? cip = null; lut = null; return; } setupLuts(channels); if (mode==COMPOSITE) { cip = new ImageProcessor[channels]; for (int i=0; i<channels; ++i) { cip[i] = stack2.getProcessor(i+1); cip[i].setLut(lut[i]); } currentSlice = currentFrame = 1; } }
public void insert(ImagePlus imp1, ImagePlus imp2, int x, int y) { ImageStack stack1 = imp1.getStack(); ImageStack stack2 = imp2.getStack(); int size1 = stack1.getSize(); int size2 = stack2.getSize(); ImageProcessor ip1, ip2; for (int i=1; i<=size2; i++) { ip1 = stack1.getProcessor(i<=size1?i:size1); ip2 = stack2.getProcessor(i); ip2.insert(ip1, x, y); stack2.setPixels(ip2.getPixels(), i); } imp2.setStack(null, stack2); }
void swapQuadrants(ImageStack stack) { FHT fht = new FHT(new FloatProcessor(1, 1)); for (int i=1; i<=stack.getSize(); i++) fht.swapQuadrants(stack.getProcessor(i)); }
void setZCoordinate() { int z = (int)getArg(); int n = z + 1; ImagePlus imp = getImage(); ImageStack stack = imp.getStack(); int size = stack.getSize(); if (z<0 || z>=size) interp.error("Z coordinate ("+z+") is out of 0-"+(size-1)+ " range"); this.defaultIP = stack.getProcessor(n); }
void swapQuadrants(ImageStack stack) { FHT fht = new FHT(new FloatProcessor(1, 1)); for (int i=1; i<=stack.getSize(); i++) fht.swapQuadrants(stack.getProcessor(i)); }
void labelSlices(ImagePlus imp) { if (createOverlay) return; ImageStack stack = imp.getStack(); String units = getUnits(imp); for (int i=1; i<=stack.getSize(); i++) drawScaleBar(stack.getProcessor(i), units); imp.setStack(stack); }