New feature: Thick slab reconstruction from slice controllers and views

Thick slab reconstruction (TSR) can now be enabled and modified from the slice controllers and slice views!

Enabling thick slab reconstruction as well as selection of the composite method (min, max, mean or sum) has been available through the python console.

Now these options are available through both the slice controller and the right-click context menu on the slice views. If the interactive option is selected, the thickness, angle and position of the TSR can be adjusted by moving the slice intersections in the slice views.

Slice Controller (Default) Slice Controller (Slab Enabled) Slice Controller (Slab Enabled + Interactive)
image image image
Slice Viewer (Handle Interaction ) Slice Viewer (Right-click context menu) Slice Viewer (slice intersection & Slab & Interactive) Slice Viewer (Red & Yellow Slab enabled then Linked)
image image image image

These features are currently available in the preview version of 3D Slicer.

Issue 1, PR 1 (slice controller implementation)
Issue 2, PR 2 (slice views implementation)

5 Likes

This slice controller is a very good news!
How can I use it?

After installing Slicer, are you able to enable “Thick Slab Reconstruction” from the Slicer controller ?

Hello, this is a great feature. Is there a way to remove slabs before exporting a snapshot ? It would be really great, since some details can be hided from the slabs

can i create a lateral cephalometry from skull ct with thick slab ?

Hi, very useful tool! Thanks.
However, the slab thickness seems to not work correctly on my data. As you can see in the capture below, the two red lines already cover the whole volume, but the MIP image in the Red view does not really show all vessels. If I increase the interval between the two red lines, more vessels will appear on the MIP image. Do you know why? And how to fix it?

1 Like

@ZhsChen can you share the data or reproduce on public data?

Hi Pieper, I just tried on the DZ-MR_1 data in the sample dataset CBCT-MR Head, same problem occurred. In the two captures below, the projection slabes both cover the whole head, but the MIP images are different.


1 Like

Can you explain why you think the MIP is incorrect?

In the two captures above, I expect the two MIPs (in the Red view) to be exactly the same, since in both images the projection slab covers the whole head (the region outside the head has zero or very low value, and will not be projected to the MIPs).

1 Like

But they are different. This suggests that the real slab used for projection is smaller than the slab between the two red lines.

1 Like

This is the code that sets up thick slab reslicing parameters:

Most likely the slabNumberOfSlices and slabSliceSpacingFraction computation has to be fixed.

I am able to replicate this behavior on Slicer v.5.10.0 on Linux and am trying to understand this behavior.

Due to my limited understanding of how 3D Slicer works, I am thinking this is more of my ignorance instead of anything needing fixing.

Could the masters point me in the right direction?

Use Case

I have a masked scalar volume that I got by using the Mask Scalar Volume module. Now, I am trying to get the Max Intensity Projection (MIP) in coronal view.
However, I am seeing the same behavior as New feature: Thick slab reconstruction from slice controllers and views - #9 by ZhsChen.

Questions

What is “prescribed slice spacing?” The 3D Slicer Documentation nor Github source search revealed anything informative unfortunately.

The “slice spacing” the getter is getting is the thickness of each slice, thus it is the diff of the mm change as I scroll through the slice viewports.

The SlabReconstructionOversamplingFactor is something similar to “Oversampling factor” under Segmentation geometry of the Segment Editor module? 3D Slicer Documentation also did not specify what this attribute that the getter is getting mean.