How to display the blended colors in the view of 'volume rendering'?

Hello,
I am using the ‘volume rendering’ module of Slicer to visualize the image data of a cell composed of red and green channels.
The rendering method I chose is: ‘VTK GPU Ray Casting’
However, as shown in Figure 1, the intersection of the red channel and the green channel in the view window cannot be displayed as a blended yellow.

Figure1
But it seems that only when I turn on the ‘display clipping box’ under the ‘ROI’ tab, the blended color can be displayed. As shown in Figure 2, the intersection of the red channel and the green channel is displayed in yellow.
Figure2

At the same time, however, even in the view window in the desktop mode, the blended color can be displayed(as shown above), but the blended color is still can not be displayed in the 3D view created in the VR mode(SlicerVirtualReality). As shown in Figure 3.
Figure3

On the other hand, when I change the rendering method to ‘VTK Multi-Volume’, no matter whether I turn on the ‘display clipping box’ or not, the blended colors will not be displayed.

Therefore, in a situation similar to the above, how to display the blended colors of different color channels in the view of ‘volume rendering’(both in desktop mode and the VR mode) correctly?

Appreciate any help! Thank you so much in advance!

Therefore, in a situation similar to the above, how to display the blended colors of different color channels in the view of ‘volume rendering’(both in desktop mode and the VR mode) correctly?

@lassoan Hello Dr. Andras Lasso, Could you please give me some suggestions on the above issues?
Thank you so much!

If these are two independent image acquisitions then I would recommend to render them as separate volumes: extract each component using “Vector to scalar volume” module, using “Single component extraction” conversion method; then render each volume separately. Make sure to choose “VTK multi-volume” rendering (otherwise one volume will be always in front of another volume, instead of being blended in 3D).

Hello Dr. Andras Lasso,
Thank you so much for your reply!

If these are two independent image acquisitions

Yes, the red and green channels shown in the figures above are two independent 16-bit TIFF images(named ‘cell-new-red.tif’ and ‘cell-new-green.tif’), as shown in Figure1 and 2(I got them from FIJI).


After I followed the method you suggested, in the view of ‘Volume rendering’, the blended colors of the two channels still cannot be displayed.

I’m not sure if the steps I performed are correct, could you please check them? if there are errors, please point out:

  1. First, according to your guide, in order to get the ‘Input vector volume’, I used FIJI to convert the image type of these two TIFF images from 16 bit to RGB color type, since from the 'Documentation/4.10/Modules/VectorToScalarVolume ’ I learned that:

The “Vector to scalar volume” module is useful for converting RGB (vector) volumes to one component (scalar) grayscale volumes.

  1. I saved the converted red and green channel images (both are RGB colors) as: ‘cell-new-red-RGB.tif’ and ‘cell-new-red-RGB.tif’

  2. In the ‘Vector to scalar volume’ module, I used the two files obtained from the 2nd step as ‘Input Vector Volume’, set the ‘Output Scalar Volume’ to ‘Scalar Volume RED’ and ‘Scalar Volume GREEN’, and I chose the ‘Single component extraction’ method as you said. As shown in Figure 3 and Figure 4 below.
    Scalar Volume RED
    Scalar Volume GREEN

  3. In the ‘Volume rendering’ module, I loaded the ‘Scalar Volume RED’ and ‘Scalar Volume GREEN’ obtained from the 3rd step into the view (I open both eye icons in front of the ‘Volume’, and loaded them into the view), and set the rendering method to ‘VTK Multi-Volume’, as shown in Figure 5 and Figure 6 below.


As you can see, after performing the above steps, the blended colors of the two channels still cannot be displayed in the view.

Could you please point out which step is incorrect or what should I do?

Thank you very much!

What Slicer displays looks correct. This is a 3D rendering, therefore if you have a piece of red blob in front of a green blob, you will only see the red blob if you make Scalar Opacity Mapping function ramp up to 1.0. Even if you make the opacity plateau at a lower level (e.g., 0.3), whatever is in front will have larger influence on the color.

Another thing that you may not expect that when you render multiple volumes independently then the colors are combined using additive averaging (similar to a spinning colorwheel - brightness of colors are not added), and not using additive averaging (like in fluorescent imaging when you sum the intensities of multiple light beams).

As a result, you will not see bright yellow if you use multi-volume rendering (1. the yellow may be occluded, 2. if you crop the images to make the mixed yellow visible, that the yellow will be relatively dark).

If you want to see bright yellows then the best is to display the image as an RGBA stack. You can enable direct RGBA volume rendering as described here: Merge colored images and show them as 1 volume - #6 by lassoan.

If you only have RGB channels then you can generate an A (alpha = opacity) channel by averaging the RGB channels and generate an RGBA image by appending this A channel to the RGB image.

Thank you for your kind and patient reply!
I will try the method you mentioned.
Thank you so much! :+1: