private ImagePlus[] splitRGBStack(ImagePlus rgb) { Calibration cal = rgb.getCalibration(); FileInfo fi = rgb.getOriginalFileInfo(); RGBStackSplitter splitter = new RGBStackSplitter(); splitter.split(rgb.getStack(), false); rgb.close(); ImagePlus[] ret = new ImagePlus[3]; ret[0] = new ImagePlus(rgb.getTitle(), splitter.red); ret[0].setCalibration(cal); ret[0].setFileInfo(fi); ret[1] = new ImagePlus(rgb.getTitle(), splitter.green); ret[1].setCalibration(cal); ret[1].setFileInfo(fi); ret[2] = new ImagePlus(rgb.getTitle(), splitter.blue); ret[2].setCalibration(cal); ret[2].setFileInfo(fi); return ret; } }
final RGBStackSplitter channel_splitter = new RGBStackSplitter(); ImagePlus current_imp = null; for ( final String key : imp_map.keySet() ) channel_splitter.split( current_imp.getImageStack(), true ); red_map.put( key, new ImagePlus( current_imp.getShortTitle() + "-R", channel_splitter.red ) ); green_map.put( key, new ImagePlus( current_imp.getShortTitle() + "-G", channel_splitter.green ) );