How to disable automatic switch to master volume with Segment editor

ichele_BailoMickyB

1m

Hi there,
I’m working with segmentations to be checked on multiple (eight) coregistered volumes that are simultaneously displayed in the layout. However, every time I change the master volume or I change the segmentation node it reset all the layout forcing me to reposition and relink over and over again all the different imaging series displayed. Is there a way to disable this automatic switch to the master volume? Would it perhaps be possible to easily select/deselect this option in the “Segment editor” module or in the “Application settings” panel?

Thank you very much for all you efforts and kindness!

Hi, I’m still struggling with this problem (which make me waste sooooo much time every time I use Slicer) since I wasn’t able to solve it by myself.
Do you have any suggestion on how to disable the autoshow of master volume node when you enter in the segment editor?
thank you very much

Automatic showing of the source volume is optional, but it is not commonly requested, so no graphical user interface was added for it. You can type this line into the Python console (or for changing it permanently, add it to the application startup file):

slicer.util.getModuleWidget('SegmentEditor').editor.autoShowSourceVolumeNode = False
1 Like

I was wondering if it was possible for someone to figure it out that this option existed, so I have typed the subject title of this topic into bing chat and it provided a quite useful answer:

You can disable automatic showing of the master volume in slice views by turning off autoShowMasterVolumeNode property of the segment editor widget1.

I hope that helps. Let me know if you have any other questions.

It did not tell how to get the segment editor widget, so I asked how to disable automatic switching of source volume in Segment Editor in 3D Slicer by Python scripting?

For this it provided a complete answer, although with a few lines of extra code (that did not do any harm but was not necessary).


You can disable automatic switching of source volume in Segment Editor in 3D Slicer by Python scripting. You can turn off autoShowMasterVolumeNode property of the segment editor widget to disable automatic showing of the matter volume in slice views. The new master volume is only shown in those views where the segmentation node is visible (based on view node IDs set in the segmentation’display node)¹.

Here is an example of how to disable automatic switching of source volume in Segment Editor in 3D Slicer by Python scripting:

segmentEditorWidget = slicer.modules.segmenteditor.widgetRepresentation().self().editor
segmentEditorWidget.setMRMLScene(slicer.mrmlScene)
segmentEditorNode = slicer.vtkMRMLSegmentEditorNode()
slicer.mrmlScene.AddNode(segmentEditorNode)
segmentEditorWidget.setMRMLSegmentEditorNode(segmentEditorNode)
segmentEditorWidget.setAutoShowMasterVolumeNode(False)

I hope this helps! Let me know if you have any other questions.

¹: Setting segmentation in SegmentEditor without changing volumes in slice views - Support - 3D Slicer Community

Source: Conversation with Bing, 7/16/2023
(1) Setting segmentation in SegmentEditor without … - 3D Slicer Community. Setting segmentation in SegmentEditor without changing volumes in slice views.
(2) Segmentations — 3D Slicer documentation - Read the Docs. Segmentations — 3D Slicer documentation.
(3) Slicer/segmenteditor.md at main · Slicer/Slicer · GitHub. https://github.com/Slicer/Slicer/blob/main/Docs/user_guide/modules/segmenteditor.md.
(4) Segment editor — 3D Slicer documentation - Read the Docs. Segment editor — 3D Slicer documentation.
(5) How to disable automatic switch to master volume with Segment editor … How to disable automatic switch to master volume with Segment editor.


Thank you very, very much for your help. As a neurosurgeon I work a lot with multiple coregistered volumes, displaying them simultaneously, especially when planning procedures. Unfortunately every time I switched back to the segment editor my dataset view was reset back to the master volume, so I had to recreate my ideal view again and again again, losing a lot of time.

Thank you again a lot
MB

1 Like

Hi,
I have the same problem when a new scalar volume is added. In my clinical and research practice I regularly use 3D slicer to monitor brain diseases at different time-points. Unfortunately, every time I add (or create) a new scalar volume to the scene, Slicer resets all the layouts to display the new volume, forcing me to reposition and relink over and over again all the different imaging series displayed.
Is there a simple way to disable the behavior of automatically switching layouts when a new scalar volume is loaded?
Many many thanks for all you help.

If you are loading from a file, in the ‘Load data’ dialog, the ‘Show’ option can be unchecked.

slicer.util.loadVolume()’ does this in Python.
Type ‘help(loadVolume)’ in the Python console for a description of this function.

Also you may find unchecking the options to reset field of view / reset origin helpful when comparing different MR contrasts. Right click on the ‘eye’ icon in the data module.

Many thanks for your help.
Unfortunately, I usually import scalar volume from DICOM files, after directly retrieving them for my hospital’s PACS network system, and I don’t see that option there.
I also tried the Python string you suggested but it did not seem to solve the issue (perhaps I am doing something incorrectly)

What I would typically do is load all the series of interest from the dicom module, and then use the Data module (with the orientation and field of view options unchecked) to switch between MR contrasts. I also like to use the CompareVolumes module to create linked view layouts and also setting foreground/background settings for cross-fades.

Thanks for the advice, I did not know about the possibility of unchecking orientation and field of view options, that certainly helps. However, it does not solve my problem completely, because if I have to import a new DICOM series of an MRI performed after 6 months of follow up in a pre-existing dataset of a patient, it will keep replacing all the existing layouts.

I used to be enthusiastic of the CompareModule feature, but I had to stop using it because it permanently engulfed the working memory and processing units once used in a specific Slicer dataset, as described in this previous post ( “Compare Volumes” module - display order - Support / Feature requests - 3D Slicer Community)

@Michele_Bailo It appears your Slicer issue (linked below) about the Compare module was closed after not receiving a response from you. Can you provide further information there? The issue could then be re-opened.