Volume rendering of binary label maps

Hello everyone,

is it generally possible to use the volume rendering module for created binary label maps, which were originating from segmentations?

I was exporting my segments to binary label maps and were trying to visualize them as a volume rendering… it did not work. Is this not possible? And if yes, why not?

Might there be another solutions?

Thanks for all your inputs!

We need a bit more information. What did you do? What did you expect? What happened instead? Thanks!

Hi,
I was segmenting an nrrd file which contained a gray scale image stack.
I was creating several different segments from blood vessels with different colors and exported them thereupon in the data module to a binary label map. This binary label map is in a volume format right?
So I was hoping to generate a volume rendering (VTK GPU Ray Casting) out of this binary label map…

It would also help if I could use the Volume Rendering module for one segmentation, which was converted to a binary label map.

What not worked was that I could not visualize the binary label map as a volume rendering in the 3D view. I selected it as according volume and clicked on the eye icon but no 3D volume was visible (I tried also to change the Shift)…

You said that volume rendering did not work, so it would be great if you explained what did it not work in that: What did you do? What did you expect? What happened instead?

Btw what Slicer version did you use? 4.8.1 is quite outdated especially in terms of Segment Editor and Volume Rendering, so if you used that then please install a recent nightly such as this.

I explained it above again…
I´m currently using 4.9.0…
I will try it with the nightly version

I understand what you want to do and why. Your way of creating the labelmap volume looks fine. But you didn’t describe what’s the problem with volume rendering, which is your question.

  1. Go to Volume Rendering module
  2. Use GPU volume rendering
  3. Turn on visibility for the labelmap volume
  4. I expect to see X, but instead I see Y, see screenshot

Something like this please.

You can use volume rendering to show segments (you may need to adjust Scalar Color Mapping function to assign each color to map colors to voxel values 1.0, 2.0, …), however the result won’t be nice:

image

You can get the same look and just as good rendering speed by using “Show 3D” function with smoothing turned off.

If you smooth the volume to get a better look then you’ll have interpolation artifacts at the edges. A solution can be to use multi-volume rendering, but it is still experimental (no shading is available in multi-volume rendering mode).

Therefore, right now for 3D display of segments your best option is to click “Show 3D” button.

I was trying it again today with another version and now I can see the segmentation, thank you!

1 Like

yes exactly, I tried the smoothing too. Thank you!

Hi @lassoan. " however the result won’t be nice:". Could you tell me why? Or maybe point out some document with an explanation.

See the image above, you can barely make out the shape of the segment, even for a very simple shape.

By smoothing the labelmap, you can get visualization that is similar to surface rendering, like these:

A hybrid option exists, too, when you take the color from the segmentation but opacity from another volume (smoothed labelmap or the original input image):

See more information about this option here.