Segment Editor: clicking eye to toggle visibility should not select segment

In a segmentation it is common to create multiple segments in the Segment Editor module.

The current behaviour is that clicking eye displayed adjacent to an individual segment to toggle the visibility of that segment will automatically result in that segment being selected.
I believe that this behaviour is undesirable.

A common usage of Segment Editor is as follows.

  1. Segment “1” is visible, and being edited with some Effect, while all other segments are hidden.
  2. Editing of Segment 1 seems complete. To check that it matches well with the current Segment 3, click the eye adjacent to Segment 3 to make Segment 3 visible. (Segment 3 is automatically selected.)
  3. Now it is desired to edit Segment 3. Therefore it may be preferred to hide Segment 1 — e.g. if using the Scissors effect, or to prevent Segment 1 from obscuring portions of Segment 3. To do this, click the eye adjacent to Segment 1 to make Segment 1 hidden. (Segment 1 is automatically selected.)
  4. Now Segment 3 is visible, and Segment 1 is hidden, so it seems safe to apply the preferred effect to Segment 3. But — oops! — actually it was Segment 1 that was unintentionally selected!!!

Desired behaviour.

  • toggling visibility does not cause a segment to be selected;
  • editing a segment’s colour (double-clicking the swatch) does not cause a segment to be selected;
  • toggling/setting a segment’s status does not cause a segment to be selected;
  • segments are only selected by clicking (or double-clicking) on their Name.

—DIV

Agreed. We already have a feature request for this:

You can add a thumbs up to the issue to indicate that you are interested. While it should not be a too difficult change, it would not be trivial either, and there are many higher-priority tasks, so if you want to see this fixed in the near future then your contribution would be welcome (developing yourself or hiring a developer).

Thanks, lassoan: I have added my support to the feature request (or, alternatively, bug report).
Although I did search the forum before posting, I hadn’t found that logged issue.
—DIV

I run into this problem all the time and accidentally edit the wrong segment. I added my vote here (I think this is the current preferred method?) and also a thumbs up to the bug report (maybe an old method?, but recommended above). Changing visibility or status should definitely not affect which segment is selected. Changing color I am ambivalent about as that feels more like working with the segment because of Slicer’s involved methods of color selection, but would be happy either way.

Voting here is the right method for bringing feature requests into the developers’ attention.

I ran into the issue of accidentally editing the wrong segment after hiding it, but since invisible segments are not allowed to be edited by default (you get a warning popup), this does not happen to me anymore. Updating the selection when you show a segment is actually a quite useful feature (you often want to edit the segment that you have just displayed). So, overall the current implementation is quite safe now (and maybe I even prefer how it works now).

However, this can be still considered as a bug in the sense that “a bug is a feature that cannot be turned off”. I agree that at least we should make it optional to update the selection on any click.

Yes, I appreciate the warning pop-up, and since it was implemented it does often prevent me from actually editing the wrong segment. However, it is very much not the case that if I make a segment visible that means that I want to edit it; I am often actively managing the visibility of different segments while preparing to edit one, and I still often accidentally edit the wrong one and have to undo the edit (because the one I accidentally edited is visible).

My intuitive workflow is:

  1. Select segment to edit
  2. Set up the operation parameters
  3. Manage other segment visibility to ensure that the correct segment has been selected as a modifier (if relevant), or to ensure that the results will be visible as desired, or to ensure that the correct regions are editable or excluded from editing (if using editable region as inside, or outside, all visible segments).
  4. Press Apply.

To me, step 3 (managing visibility as part of setting operation parameters) is independent of step 1 (selecting the segment to edit), but in Slicer changing visibility changes the selection, and I need to remember to add in a step between 3 and 4 to “Re-select the segment to edit”.

For some concrete examples, when using logical operations to add, subtract, copy, or intersect segments, I usually want both the segment I am working on editing AND the modifier segment to be visible when I carry out that operation. That usually means that I select the segment I want to edit, set up the operation, and then I very often have several clicks to to show the modifier segment and perhaps hide other segments, and then I click Apply. When I do this, I either accidentally apply the effect to the intended modifier segment (a silent error that I have to catch on my own) or I get a warning that I am trying to edit a segment which is not visible and it is automatically made visible. This second outcome is much better than silently editing a hidden segment, but I don’t want that segment visible, and thick as I am, after canceling the edit, I click on the desired segment to select it, then click to hide the newly visible undesired segment (unintentionally selecting it again!) and click Apply. This raises the warning again, shows the undesired segment again, and usually this time I remember, and click the desired segment to select it, click to hide the undesired segment, then click to select the desired segment again.

2 Likes