User confusion about mouse position due to Segment Editor effect cursor artwork

Multiple users have told me that they were confused about where their current mouse position was when using a Segment Editor effect that has cursor artwork, specifically the “Draw” effect.

They problem is that they thought the tip of the Pencil in the icon effect was where drawing was going to start rather than at the tip of the smaller blue arrow.

“None” “Draw” “Paint”
image image image

As indicated in Slicer issue #2432, editor effect cursors were originally added to make it easier for users to know which editor effect was the current one. ENH: implementation of feature 2432 custom cursors in Editor · Slicer/Slicer@eba54b8 · GitHub

It is also a bit unclear to me why the smaller blue arrow is used rather than the standard Qt arrow cursor. The blue arrow cursor is nearly half the dimension of the regular OS level arrow cursor. This likely contributes to the user’s confusion about where their mouse click is going to start the interaction in the slice views.

Options

  • If editor effect cursor icons are the best way to represent clearly the active effect to the user, then maybe a solution is to make it clear that it is just an icon and not the actual cursor shape itself. One possible idea is to draw a black border around the image to more clearly indicate that it is an icon next to the cursor and not the actual cursor shape.
  • Maybe the effect icon can be removed completely from the slice views with a different technique for better indicating the active editor effect?
1 Like

I agree that the current effect icons are not good: they are not expressive enough, does not follow standard conventions where applicable, not easy to distinguish from each other. Most likely we will start the Slicer icons redesign project with getting these effect icons and the markups icons. Any suggestions are welcome.

The current mouse cursor icons are generated automatically from the effect icons. It is an advantage for users that they don’t need to learn two icons for the same effect, and for developers that they don’t need to design two icons. Completely removing the custom icon would remove a useful hint for the user, so I don’t think that would be a step in the right direction.

You could try changing the mouse cursor generation by adding the effect icon to a standard white cursor icon and see how it looks. If we go through with this change then we would probably also need to modify the markups plane cursor generation the same way.

I recall that once we had, or tried to have, the standard pointer cursor with the standard hotspot and the editor effect icon superimposed to the lower right. This addressed the use case well, since you knew where the hotspot was and also had a reminder of what effect is active. I believe there were some cross-platform issues with cursor image size but those may have gone away in the meantime.

I have done some prototyping where I have replaced the CursorBaseArrow.png usage with the NullEffect.png and maintained this base image directly above the effect image. This required some adjustment of the hotspot positioning to match the point of the arrow in the NullEffect.png. I also removed some padding that was positioning the effect closer to the arrow icon which was causing overlapping issues. It appears to work well at least on my Windows platform. I could issue a PR for you to help review on other platforms?

image

Using the same arrow cursor makes it more recognizable and more intuitive to think that the draw will begin at the point of this arrow rather than the smaller blue arrow. I also added a white border around the effect icon to further address the confusion to make it clear the effect image is just an image to match the effect icon and that the tip of the pencil isn’t where the draw is going to begin. I went with the border idea rather than just dropping the transparency of the effect image as in the case of the paint effect, the circular brush can be really large and encompass the effect image. We wouldn’t want a square to completely cover up the image data when we could still use the transparency benefit.

Is the blue color of the current arrow something we want to maintain? Maybe the NullEffect.png just colored with that same blue? Is it blue to be a distinctive mouse mode compared to the None state? Although I guess it isn’t really considered an official Slicer mouse mode state.

I’ve issued the following for others to try it out with the ability to prototype additional changes starting with my code.

Thoughts on the proposed design? I was thinking more and the white cursor does seem to be the correct cursor as if you’re in Window/Level mouse mode and then click a segment editor effect, the mouse mode goes to the white arrow cursor (ViewTransfrom) mode in the mouse mode toolbar.