public LUT(IndexColorModel cm, double min, double max) { super(8, cm.getMapSize(), getReds(cm), getGreens(cm), getBlues(cm)); this.min = min; this.max = max; }
public LUT(IndexColorModel cm, double min, double max) { super(8, cm.getMapSize(), getReds(cm), getGreens(cm), getBlues(cm)); this.min = min; this.max = max; }
public IndexColorModel getColorModel() { if (cm==null) { byte[] reds=new byte[256]; getReds(reds); byte[] greens=new byte[256]; getGreens(greens); byte[] blues=new byte[256]; getBlues(blues); cm = new IndexColorModel(8, getMapSize(), reds, greens, blues); } return cm; }
public IndexColorModel getColorModel() { if (cm==null) { byte[] reds=new byte[256]; getReds(reds); byte[] greens=new byte[256]; getGreens(greens); byte[] blues=new byte[256]; getBlues(blues); cm = new IndexColorModel(8, getMapSize(), reds, greens, blues); } return cm; }
public LUT createInvertedLut() { int mapSize = getMapSize(); byte[] reds = new byte[mapSize]; byte[] greens = new byte[mapSize]; byte[] blues = new byte[mapSize]; byte[] reds2 = new byte[mapSize]; byte[] greens2 = new byte[mapSize]; byte[] blues2 = new byte[mapSize]; getReds(reds); getGreens(greens); getBlues(blues); for (int i=0; i<mapSize; i++) { reds2[i] = (byte)(reds[mapSize-i-1]&255); greens2[i] = (byte)(greens[mapSize-i-1]&255); blues2[i] = (byte)(blues[mapSize-i-1]&255); } return new LUT(8, mapSize, reds2, greens2, blues2); }
/** tests that the first and last entries of a lut match expected values */ private void lutTest(CompositeImage ci, int channel, int minR, int minG, int minB, int maxR, int maxG, int maxB) { // channel is 0-based LUT lut = ci.getChannelLut(channel+1); // IJ is 1-based byte[] reds = new byte[256]; byte[] blues = new byte[256]; byte[] greens = new byte[256]; lut.getReds(reds); lut.getGreens(greens); lut.getBlues(blues); assertEquals((byte)minR,reds[0]); assertEquals((byte)maxR,reds[255]); assertEquals((byte)minG,greens[0]); assertEquals((byte)maxG,greens[255]); assertEquals((byte)minB,blues[0]); assertEquals((byte)maxB,blues[255]); }
public LUT createInvertedLut() { int mapSize = getMapSize(); byte[] reds = new byte[mapSize]; byte[] greens = new byte[mapSize]; byte[] blues = new byte[mapSize]; byte[] reds2 = new byte[mapSize]; byte[] greens2 = new byte[mapSize]; byte[] blues2 = new byte[mapSize]; getReds(reds); getGreens(greens); getBlues(blues); for (int i=0; i<mapSize; i++) { reds2[i] = (byte)(reds[mapSize-i-1]&255); greens2[i] = (byte)(greens[mapSize-i-1]&255); blues2[i] = (byte)(blues[mapSize-i-1]&255); } return new LUT(8, mapSize, reds2, greens2, blues2); }
private void imagePlusLutTest(ImagePlus imp, boolean indexed, boolean falseColor, Color color) { // When numCh < 2 or numCh > 7 the setColorMode() code for Composite and Colorize cannot create a CompositeImage. // Therefore it creates a one channel ImagePlus with a LUT that only ramps the red channel. Test this to be // the case. assertFalse(imp instanceof CompositeImage); if (indexed) { fail("not yet supporting indexed"); } LUT lut = getColorTable(imp,0); byte[] data = new byte[256]; if (color.getRed() > 0) { lut.getReds(data); ascendingValuesTest(data,256); } if (color.getGreen() > 0) { lut.getGreens(data); ascendingValuesTest(data,256); } if (color.getBlue() > 0) { lut.getBlues(data); ascendingValuesTest(data,256); } }
luts[currentChannel].getReds(lut[0]); luts[currentChannel].getGreens(lut[1]); luts[currentChannel].getBlues(lut[2]);
luts[currentChannel].getReds(lut[0]); luts[currentChannel].getGreens(lut[1]); luts[currentChannel].getBlues(lut[2]);