3D Cropping Volume Rendering

Hi everyone,

I’m currently making 3D volume renderings of arteries from a series of OCT images captured during a constant rate pullback within a vessel. The reconstructions look spectacular after some fine-tuning in the volume rendering module, but I would like the ROI to be freeform (not square) so I can segment specific layers of the volume. I know this is possible from the segmentation module as well as the 3D cropping scissors tool, but only possible after the volume has been converted to model.

Converting the volume to a model would not be an option as this makes the vessel one homogenous color, eliminating layered structures and vessel wall contrast.

Any options on segmenting / freeform cropping a volume rendering so I can keep the detail in the layers (threshold functionality)?

After you create the mask in Segment editor, export it to a labelmap and use Mask volume module to crop the volume (blank out parts that are outside the mask).

1 Like

I’m sorry but can i know how we can export the 3D model to labelmap again? and is the Mask volume module different than the “crop volume” module?
I use Slicer 4.5.0-1
Thanks

Please use the latest nightly version of Slicer. Mask Scalar Volume module and Crop Volume module are two different modules. Hit Ctrl+F and enter Mask to find the Mask Scalar Volume module.

Alright. Now i’m using 4.7.0-2017-06-11 nightly version.
I’m trying to use the scissors in Segment Editor to have a free-form cut, but the cut shape is not saved. How it can be saved and masked?

Export to labelmap node (in Data module, right click on the segmentation node and click Export to labelmap) then use Mask Scalar Volume module to mask out regions of the original volume.

I tried that procedure with the “scissors” tool but it gave me at the end black screen. I work from nhdr file not a DICOM series. Could that be the problem?
Do I have to use the CT/MRI series itself to activate the segmentation tools?

Use the latest nightly version of Slicer.

It works with DICOM images, that should be no problem.

Select the CT/MRI as background volume when you enter the Segment Editor - it should select that volume automatically as Master volume.

What do you mean you got black screen? What was black? Can you describe exactly what steps you performed in what order and when something unexpected happened: what happened and what did you expect to happen?

I’m sorry isn’t the 4.7.0-2017-06-11 is the latest version?
For the DICOM data, I tried to import the dataset but an error says “can’t load (name of folder) as DWI Volume as a Diffusion Volume”. It was importing normally in the previous version i used for Slicer though.

The steps are as follows:

  • go to Segment Editor, choose Scissors tool, cut the desired part (from the nhdr slices in this case).
  • go to Data module, right click on the segment made, export visible segments to binary labelmap
  • go to Mask Scalar Volume, choose the nhdr images as input volume, choose segmentation-label as Mask Volume, create new volume for the output volume.
    -click apply.
    Then the black window appeared as below. I expexted to see the desired part cut.

It is, so that’s good.

To fix this, in the DICOM module click on Advanced settings and disable the DWI plugin.[quote=“Mohamed, post:9, topic:394”]
choose segmentation-label as Mask
[/quote]

Make sure you also select the correct Label value (index of the segment in the segment list, probably 1, 2, 3, 4, …). You can verify what is the correct label value if you show the labelmap volume and you hover over it with the mouse. The Data probe window in the bottom-left corner shows the label value at the mouse pointer position (L layer, last number in the line in parentheses).

Note that in recent version of Slicer, the workflow is much simpler, as Mask Volume effect allows masking directly from a segment, without leaving the Segment Editor module. Mask Volume will show up in the Segment Editor module after installing SegmentEditorExtraEffects extension.

A post was split to a new topic: Mask volume using Python scripting