// ----------------------------------------------- // Create 3D Spectrums // By David Marso 4/1/2009 // // ----------------------------------------------- newtitle = "rgb"; setBatchMode(true); newImage(newtitle, "RGB White", 256, 256, 256); for (r=1; r<=256; r++) { setSlice(r); for (g=1; g<=256; g++) { for (b=1; b<=256; b++) { setColor(r-1, g-1, b-1); drawRect(g-1, b-1, 1, 1); } } showProgress(r, 256); } setSlice(1); setBatchMode("exit and display"); selectWindow("rgb"); run("Reslice [/]...", "input=1.000 output=1.000 start=Top avoid"); selectWindow("rgb"); run("Reslice [/]...", "input=1.000 output=1.000 start=Left avoid"); selectWindow("rgb"); rename("3D_Spectrum_1"); selectWindow("Reslice of rgb"); rename("3D_Spectrum_2"); selectWindow("Reslice of rgb"); rename("3D_Spectrum_3"); selectWindow("3D_Spectrum_1"); run("Duplicate...", "title=" + "3D_Spectrum_1_Inverse" +" duplicate"); run("Invert", "stack"); selectWindow("3D_Spectrum_2"); run("Duplicate...", "title=" + "3D_Spectrum_2_Inverse" +" duplicate"); run("Invert", "stack"); selectWindow("3D_Spectrum_3"); run("Duplicate...", "title=" + "3D_Spectrum_3_Inverse" +" duplicate"); run("Invert", "stack"); run("Tile");