User Tools

Site Tools


macro:importzeisslut

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

macro:importzeisslut [2019/04/12 11:13] (current)
Line 1: Line 1:
 +====== Import Zeiss lookup tables ======
 +
 +**This macro imports a Zeiss lookuptable file, as found in the AIM or ZEN software, and applies it to the current image.**
 +
 +<file java Apply Zeiss Lut.txt>
 +
 +// This macro imports a Zeiss lookuptable file, as found in the AIM or ZEN software.
 +// and applies it to the current image.
 +// jm at ibmp dot fr
 +
 +// checks if the current image can accept a lookup table.
 +if (bitDepth==24) exit ("RGB images cannot have lookup tables"​);​
 +
 +// selects a file and checks if it complies with the announced Zeiss Confocal Palette file format
 +path=File.openDialog("​Select Zeiss LUT to apply"​);​
 +s=File.openAsRawString(path,​50000);​
 +if (!startsWith(s,"​CZ - LSM510 Color Palette , Version 1.00"​)) exit ("Not a Zeiss LUT definition file."​);​
 +
 +// reads the palette'​s name's length, and the palette'​s name itself, and finds out the offset to the palette data
 +nameLength=read32int(41);​
 +nameString=substring(s,​45,​45+nameLength);​
 +lutOffset=46+nameLength;​
 +
 +// creates three 8-bit arrays and fills them with each 16th value read from the 12bit to 12bit Zeiss palette.
 +r=newArray(256);​
 +g=newArray(256);​
 +b=newArray(256);​
 +for (i=0;​i<​256;​i++) {
 +  r[i]=parseInt(read16int(lutOffset+i*16*2))*255/​0xfff;​
 +  g[i]=parseInt(read16int(lutOffset+i*16*2+4096*2))*255/​0xfff;​
 +  b[i]=parseInt(read16int(lutOffset+i*16*2+4096*2*2))*255/​0xfff;​
 +}
 +
 +// applies the 8-bit palette to the current image
 +setLut(r,​g,​b);​
 +
 +// end of macro : displays a success message ​
 +showStatus(nameString+"​ Zeiss LUT Applied"​);​
 +
 +function read32int(n) {
 +return charCodeAt(s,​n)+charCodeAt(s,​n+1)<<​8+charCodeAt(s,​n+2)<<​16+charCodeAt(s,​n+3)<<​24;​
 +}
 +function read16int(n) {
 +return charCodeAt(s,​n)+charCodeAt(s,​n+1)<<​8;​
 +}
 +
 +</​file>​
 +
 +
 +** Here is a montage of all Lookuptables available in the ZEN software. **
 +
 +
 +{{:​macro:​montagelutzeiss.jpg|}}
  
macro/importzeisslut.txt ยท Last modified: 2019/04/12 11:13 (external edit)