Login  Register

Re: API way to set channel LUT in composite image. [SOLVED]

Posted by Aryeh Weiss on Aug 25, 2018; 6:42pm
URL: http://imagej.273.s1.nabble.com/API-way-to-set-channel-LUT-in-composite-image-tp5021114p5021122.html

I found the answer to this problem.

My mistake was that I did not realize that

compFused = CompositeImage(fusedImp)

creates a separate image. I thought (incorrectly) that it was the same
image, just with teh composite methods added.
Since it is a new image, I needed to run show() to display it.

adding compFused.show() displayed the new image with the correct LUTs.


--aryeh

On 23/08/2018 12:40, Aryeh Weiss wrote:

>
> I am trying to do set the LUt of a channel (actually, three of them)
> for a composite image.
>
>     fusedImp.setC(1)
>     IJ.run(fusedImp, "Grays", "")
>     fusedImp.setC(2)
>     IJ.run(fusedImp, "Red", "")
>     fusedImp.setC(3)
>     IJ.run(fusedImp, "Green", "")
>
> Above is a way that works. However, it means that the image (which is
> large) updates with each IJ.run call,
>
> I tries the following:
>
>     compFused = CompositeImage(fusedImp)
>
>     compFused.setChannelLut(LUT.createLutFromColor(Color.GRAY), 1)
>     compFused.setChannelLut(LUT.createLutFromColor(Color.RED), 2)
>     compFused.setChannelLut(LUT.createLutFromColor(Color.GREEN), 3)
>
> for i in compFused.getLuts():
>     print i
>
> compFused.updateAllChannelsAndDraw()
>
> but although the correct LUTs print out, the image is unchanged.
>
> What am I missing?
>
> Tnx in advance
> --aryeh
>
> --
> Aryeh Weiss
> Faculty of Engineering
> Bar Ilan University
> Ramat Gan 52900 Israel
>
> Ph:  972-3-5317638
> FAX: 972-3-7384051
>

--
Aryeh Weiss
Faculty of Engineering
Bar Ilan University
Ramat Gan 52900 Israel

Ph:  972-3-5317638
FAX: 972-3-7384051


--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html