Consider a non-destructive default in segment editor masking options

The item ‘Modify other segments’ in the masking options of the ‘Segment editor’ defaults to ‘Overwrite all’. When working with multiple segments, we may forget to switch to ‘Allow overlap’ so as to preserve prior work, and notices it when we can’t revert changes.

I hereby suggest that this item defaults to ‘Allow overlap’ rather. If it is forgotten as such, nothing is lost, and ‘Subtract’ in ‘Logical operators’ can still be used.

Thank you for considering.


This default can be set in the application startup file as described here.

If we get some votes on this feature request then we will add GUI for this. We would also welcome a pull request that adds this option to application settings.

This works perfectly well, thank you.

Can you please hint the location of application settings in the source tree ?

Segmentation settings are implemented in qSlicerSegmentationsSettingsPanel.cxx.

You can implement GetOverwriteMode() and SetOverwriteMode(...) methods in vtkSlicerSegmentationsModuleLogic.cxx to get/set the default OverwriteMode - very similarly how vtkSlicerSegmentationsModuleLogic::GetDefaultSurfaceSmoothingEnabled() and vtkSlicerSegmentationsModuleLogic::SetDefaultSurfaceSmoothingEnabled() are implemented. You can then use these methods in qSlicerSegmentationsSettingsPanel.