public void run(String arg) { ImagePlus imp = IJ.getImage(); if (imp.isComposite()) { int z = imp.getSlice(); int t = imp.getFrame(); ImagePlus[] channels = split(imp); imp.changes = false; imp.setIgnoreFlush(true); imp.close(); for (int i=0; i<channels.length; i++) { channels[i].setIJMenuBar(i==channels.length-1); channels[i].show(); if (z>1 || t>1) channels[i].setPosition(1, z, t); } } else if (imp.getType()==ImagePlus.COLOR_RGB) splitRGB(imp); else IJ.error("Split Channels", "Multichannel image required"); }
/** Creates a hyperstack montage and returns it as an ImagePlus. */ private ImagePlus makeHyperstackMontage(ImagePlus imp, int columns, int rows, double scale, int inc, int borderWidth, boolean labels) { ImagePlus[] channels = ChannelSplitter.split(imp); int n = channels.length; ImagePlus[] montages = new ImagePlus[n]; for (int i=0; i<n; i++) { int last = channels[i].getStackSize(); montages[i] = makeMontage2(channels[i], columns, rows, scale, 1, last, inc, borderWidth, labels); } ImagePlus montage = (new RGBStackMerge()).mergeHyperstacks(montages, false); montage.setCalibration(montages[0].getCalibration()); montage.setTitle("Montage"); return montage; }
public void run(String arg) { ImagePlus imp = IJ.getImage(); if (imp.isComposite()) { int z = imp.getSlice(); int t = imp.getFrame(); ImagePlus[] channels = split(imp); imp.changes = false; imp.setIgnoreFlush(true); imp.close(); for (int i=0; i<channels.length; i++) { channels[i].setIJMenuBar(i==channels.length-1); channels[i].show(); if (z>1 || t>1) channels[i].setPosition(1, z, t); } } else if (imp.getType()==ImagePlus.COLOR_RGB) splitRGB(imp); else IJ.error("Split Channels", "Multichannel image required"); }
/** Creates a hyperstack montage and returns it as an ImagePlus. */ private ImagePlus makeHyperstackMontage(ImagePlus imp, int columns, int rows, double scale, int inc, int borderWidth, boolean labels) { ImagePlus[] channels = ChannelSplitter.split(imp); int n = channels.length; ImagePlus[] montages = new ImagePlus[n]; for (int i=0; i<n; i++) { int last = channels[i].getStackSize(); montages[i] = makeMontage2(channels[i], columns, rows, scale, 1, last, inc, borderWidth, labels); } ImagePlus montage = (new RGBStackMerge()).mergeHyperstacks(montages, false); montage.setCalibration(montages[0].getCalibration()); montage.setTitle("Montage"); return montage; }
private static void filterHyperstack(ImagePlus imp, int filter, float vx, float vy, float vz) { if (imp.getNDimensions()>4) { IJ.error("5D hyperstacks are currently not supported"); return; } if (imp.getNChannels()==1) { ImageStack stack = filter(imp.getStack(), filter, vx, vy, vz); imp.setStack(stack); return; } ImagePlus[] channels = ChannelSplitter.split(imp); int n = channels.length; for (int i=0; i<n; i++) { ImageStack stack = filter(channels[i].getStack(), filter, vx, vy, vz); channels[i].setStack(stack); } ImagePlus imp2 = RGBStackMerge.mergeChannels(channels, false); imp.setImage(imp2); imp.setC(1); }
private static void filterHyperstack(ImagePlus imp, int filter, float vx, float vy, float vz) { if (imp.getNDimensions()>4) { IJ.error("5D hyperstacks are currently not supported"); return; } if (imp.getNChannels()==1) { ImageStack stack = filter(imp.getStack(), filter, vx, vy, vz); imp.setStack(stack); return; } ImagePlus[] channels = ChannelSplitter.split(imp); int n = channels.length; for (int i=0; i<n; i++) { ImageStack stack = filter(channels[i].getStack(), filter, vx, vy, vz); channels[i].setStack(stack); } ImagePlus imp2 = RGBStackMerge.mergeChannels(channels, false); imp.setImage(imp2); imp.setC(1); }
int slice = img.getSlice(); int frame = img.getFrame(); ImagePlus[] channels = ChannelSplitter.split(img); int nChannels2 = newOrder.length; if (nChannels2>channels.length)
int slice = img.getSlice(); int frame = img.getFrame(); ImagePlus[] channels = ChannelSplitter.split(img); int nChannels2 = newOrder.length; if (nChannels2>channels.length)