public void setChannelColorModel(IndexColorModel cm) { setChannelLut(new LUT(cm,0.0,0.0)); }
public void setChannelColorModel(IndexColorModel cm) { setChannelLut(new LUT(cm,0.0,0.0)); }
public void setLuts(LUT[] luts) { int channels = getNChannels(); if (lut==null) setupLuts(channels); if (luts==null || luts.length<channels) throw new IllegalArgumentException("Lut array is null or too small"); for (int i=0; i<channels; i++) setChannelLut(luts[i], i+1); }
public void setLuts(LUT[] luts) { int channels = getNChannels(); if (lut==null) setupLuts(channels); if (luts==null || luts.length<channels) throw new IllegalArgumentException("Lut array is null or too small"); for (int i=0; i<channels; i++) setChannelLut(luts[i], i+1); }
/** * For each channel in CompositeImage, sets LUT to one from given ColorTables */ private void setCompositeImageLUTs(final CompositeImage ci, final List<ColorTable> cTables) { if (cTables == null || cTables.size() == 0) { setCompositeImageLUTsToDefault(ci); } else { for (int i = 0; i < ci.getNChannels(); i++) { final ColorTable cTable = cTables.get(i); final LUT lut = make8BitLUT(cTable); ci.setChannelLut(lut, i + 1); } } }
/** * For each channel in CompositeImage, sets LUT to one from default * progression */ private void setCompositeImageLUTsToDefault(final CompositeImage ci) { for (int i = 0; i < ci.getNChannels(); i++) { final ColorTable cTable = ColorTables.getDefaultColorTable(i); final LUT lut = make8BitLUT(cTable); ci.setChannelLut(lut, i + 1); } }
public void resetDisplayRange() { if (getType()==GRAY16 && getDefault16bitRange()!=0) { int defaultRange = getDefault16bitRange(); for (int i=1; i<=getNChannels(); i++) { LUT lut = getChannelLut(i); lut.min = 0; lut.max = Math.pow(2,defaultRange)-1; if (getWindow()!=null) setChannelLut(lut, i); } } else { ip.resetMinAndMax(); int c = getChannelIndex(); lut[c].min = ip.getMin(); lut[c].max = ip.getMax(); } }
public void resetDisplayRange() { if (getType()==GRAY16 && getDefault16bitRange()!=0) { int defaultRange = getDefault16bitRange(); for (int i=1; i<=getNChannels(); i++) { LUT lut = getChannelLut(i); lut.min = 0; lut.max = Math.pow(2,defaultRange)-1; if (getWindow()!=null) setChannelLut(lut, i); } } else { ip.resetMinAndMax(); int c = getChannelIndex(); lut[c].min = ip.getMin(); lut[c].max = ip.getMax(); } }
oc++; LUT table = compositeInput.getChannelLut(c); compositeOutput.setChannelLut(table, oc); compositeOutput.setPositionWithoutUpdate(oc, 1, 1); compositeInput.setPositionWithoutUpdate(c, 1, 1);
oc++; LUT table = compositeInput.getChannelLut(c); compositeOutput.setChannelLut(table, oc); compositeOutput.setPositionWithoutUpdate(oc, 1, 1); compositeInput.setPositionWithoutUpdate(c, 1, 1);
CompositeImage cimp = (CompositeImage)imp; for (int c=1; c<=channels; c++) cimp.setChannelLut(luts[c-1], c); imp.updateAndDraw();
void setLut() { double[] reds = getFirstArray(); double[] greens = getNextArray(); double[] blues = getLastArray(); int length = reds.length; if (greens.length!=length || blues.length!=length) interp.error("Arrays are not the same length"); ImagePlus imp = getImage(); if (imp.getBitDepth()==24) interp.error("Non-RGB image expected"); ImageProcessor ip = getProcessor(); byte[] r = new byte[length]; byte[] g = new byte[length]; byte[] b = new byte[length]; for (int i=0; i<length; i++) { r[i] = (byte)reds[i]; g[i] = (byte)greens[i]; b[i] = (byte)blues[i]; } LUT lut = new LUT(8, length, r, g, b); if (imp.isComposite()) ((CompositeImage)imp).setChannelLut(lut); else ip.setColorModel(lut); imp.updateAndDraw(); updateNeeded = false; }
void invertLut() { ImagePlus imp = WindowManager.getCurrentImage(); if (imp==null) {IJ.noImage(); return;} if (imp.getType()==ImagePlus.COLOR_RGB) {IJ.error("RGB images do not use LUTs"); return;} if (imp.isComposite()) { CompositeImage ci = (CompositeImage)imp; LUT lut = ci.getChannelLut(); if (lut!=null) ci.setChannelLut(lut.createInvertedLut()); } else { ImageProcessor ip = imp.getProcessor(); ip.invertLut(); if (imp.getStackSize()>1) imp.getStack().setColorModel(ip.getColorModel()); } imp.updateAndRepaintWindow(); }
void setLut() { double[] reds = getFirstArray(); double[] greens = getNextArray(); double[] blues = getLastArray(); int length = reds.length; if (greens.length!=length || blues.length!=length) interp.error("Arrays are not the same length"); ImagePlus imp = getImage(); if (imp.getBitDepth()==24) interp.error("Non-RGB image expected"); ImageProcessor ip = getProcessor(); byte[] r = new byte[length]; byte[] g = new byte[length]; byte[] b = new byte[length]; for (int i=0; i<length; i++) { r[i] = (byte)reds[i]; g[i] = (byte)greens[i]; b[i] = (byte)blues[i]; } LUT lut = new LUT(8, length, r, g, b); if (imp.isComposite()) ((CompositeImage)imp).setChannelLut(lut); else ip.setColorModel(lut); imp.updateAndDraw(); updateNeeded = false; }
void invertLut() { ImagePlus imp = WindowManager.getCurrentImage(); if (imp==null) {IJ.noImage(); return;} if (imp.getType()==ImagePlus.COLOR_RGB) {IJ.error("RGB images do not use LUTs"); return;} if (imp.isComposite()) { CompositeImage ci = (CompositeImage)imp; LUT lut = ci.getChannelLut(); if (lut!=null) ci.setChannelLut(lut.createInvertedLut()); } else { ImageProcessor ip = imp.getProcessor(); ip.invertLut(); if (imp.getStackSize()>1) imp.getStack().setColorModel(ip.getColorModel()); } imp.updateAndRepaintWindow(); }
dstci.updatePosition(di[i],1,1); final int sii = si[i] - 1; dstci.setChannelLut(new LUT((LUT)cms[sii],min[sii],max[sii])); dstci.setDisplayRange(min[sii],max[sii]);
((CompositeImage)imp2).setChannelLut(lut); else imp2.getProcessor().setColorModel(lut);
for (int i=firstC; i<=lastC; i++) { LUT lut = ((CompositeImage)imp).getChannelLut(i); ((CompositeImage)imp2).setChannelLut(lut, i2++);
for (int i=firstC; i<=lastC; i++) { LUT lut = ((CompositeImage)imp).getChannelLut(i); ((CompositeImage)imp2).setChannelLut(lut, i2++);
((CompositeImage)imp2).setChannelLut(lut); else imp2.getProcessor().setColorModel(lut);