@Override public void imageUpdated(ImagePlus image) { if(image == imp) bComp.updateData(updater, 0, 0, w, h); }
@Override public void setNoCheck(final int x, final int y, final int z, int v) { l.setNoCheck(x, y, z, v); v = l.loadWithLUT(x, y, z); xy[z][y * xTexSize + x] = (byte) v; xz[y][z * xTexSize + x] = (byte) v; yz[x][z * yTexSize + y] = (byte) v; xyComp[z].updateData(updater, x, y, 1, 1); xzComp[y].updateData(updater, x, z, 1, 1); yzComp[x].updateData(updater, y, z, 1, 1); }
public void updateData() { for (int z = 0; z < zDim; z++) { loadZ(z, xy[z]); xyComp[z].updateData(updater, 0, 0, xTexSize, yTexSize); } for (int y = 0; y < yDim; y++) { loadY(y, xz[y]); xzComp[y].updateData(updater, 0, 0, xTexSize, zTexSize); } for (int x = 0; x < xDim; x++) { loadX(x, yz[x]); yzComp[x].updateData(updater, 0, 0, yTexSize, zTexSize); } }
@Override public void setNoCheck(final int x, final int y, final int z, int v) { l.setNoCheck(x, y, z, v); v = l.loadWithLUT(x, y, z); final int a = (v & 0xff000000) >> 24; final int r = (v & 0xff0000) >> 16; final int g = (v & 0xff00) >> 8; final int b = (v & 0xff); int i = 4 * (y * xTexSize + x); xy[z][i++] = (byte) r; xy[z][i++] = (byte) g; xy[z][i++] = (byte) b; xy[z][i++] = (byte) a; xyComp[z].updateData(updater, x, y, 1, 1); i = 4 * (z * xTexSize + x); xz[y][i++] = (byte) r; xz[y][i++] = (byte) g; xz[y][i++] = (byte) b; xz[y][i++] = (byte) a; xzComp[y].updateData(updater, x, z, 1, 1); i = 4 * (z * yTexSize + y); yz[x][i++] = (byte) r; yz[x][i++] = (byte) g; yz[x][i++] = (byte) b; yz[x][i++] = (byte) a; yzComp[x].updateData(updater, y, z, 1, 1); }
@Override public void imageUpdated(ImagePlus image) { if(image != imp) return; WritableRaster newRaster = bImage.getRaster(); byte[] byteData = ((DataBufferByte) newRaster.getDataBuffer()).getData(); int[] pixels = (int[])bProcessor.getPixels(); for(int i = 0, j = 0; i < pixels.length; i++) { int c = pixels[i]; int r = (c & 0xff0000) >> 16; int g = (c & 0xff00) >> 8; int b = c & 0xff; int a = Math.min(255, r + g + b); byteData[j++] = (byte)r; byteData[j++] = (byte)g; byteData[j++] = (byte)b; byteData[j++] = (byte)a; } bComp.updateData(updater, 0, 0, w, h); }