Having used it a little bit more, I have a couple ‘very-specific-to-my-use-case’ suggestions, more like discussion points. I would love to have your opinion on them since I cannot decide how to improve/fix them.
Skipping a landmark / Selected or highlighted control point
My main use case is to load a fiducial template (usually 50-70 points) and mark the control points one by one on 3D rendering (sometimes on 2D slice views). There is usually a few control points missing in each scan, so I need to use “skip” button once or twice in each scan. Currently, it sets the state of highlighted control point as “skipped” but the highlight or selection stays on the last marked control point (unless you are in the persistent mode).
-
If you are not using persistent mode, you either need to go into place mode, then click on the “skip” button; or select the next control point from the list (simply go to the list and click or if the next point is out of the screen, scroll down and then click to select) and click on “skip”. If you go into the place mode, even if you click “skip”, you stay in the place mode.
-
The workaround is to use the persistent mode, the selection auto-advances and you can simply click “skip” when you don’t want to mark that point. But then you need to go into and out of placement mode a lot if you are also interacting with the rendering (rotate, translate etc).
I think the behavior is that the selection (highlighted control point) advances to the next “empty” control point when you go into the “place” mode - and only when you are in Markups module, it doesn’t advance or change when you are in another module and keep marking points. I wonder what could go wrong if the selection advances to the next “empty” point when a point is marked? You probably need an exception when there is no more “empty” points in the list.
I understand the idea of marking a point “missing” (skip it) when you ‘attempt’ to mark it by going into place mode (hence advancing the selection) but my thinking is usually like this: “look at the list to see which point I need to mark next, then adjust the 3D view or slice views to find it, then go into place mode and place it”. Not “first go into place mode, cannot find the point, click skip”.
Auto-scroll control point list
In the same scenario of marking points one by one from the list, my fist action is to look at the list to see which points are coming. Currently, if I marked the last visible point from the list, I need to scroll down to see the next point - or again, go into the place mode so the selection advances and control point list automatically scrolls down. As I said, I don’t like to go into the place mode or use persistent mode as I adjust 3D view and slice views a lot when I am marking points. I think it would be nice to auto-scroll the list so that the selected point is not the last one, maybe 2nd or 3rd one from the visible portion of the list.
Keyboard shortcut for skip button
I also LOVE the ‘p’ keyboard shortcut that comes with SlicerMorph startup script for “dropping” a control point where the mouse is. I like to keep mouse actions for interaction - it is easy to move the mouse cursor unintentionally when clicking to mark a point. It’s much better to position your mouse, and press a key from your keyboard.
This is something @smrolfe and I discuss a lot, the shortcuts for going into the placement mode and persistent mode are too complex. Once reprogrammed, they could be a workaround for the highlight auto-advance + skip issue. I would love to be able to program another keyboard shortcut for “skip” button (if possible, “skip the next empty point”, not “skip the selected point”). If there was a shortcut even for only the current functionality (skip the selected point), you could mark a temporary point with “p” shortcut and make it “unset” or “skipped” by this new shortcut. Let me know if this is possible to program.
FCSV export
I know we are transitioning from fcsv to JSON, but since Slicer still supports fcsv exports, I wanted to note that currently the column headings for the last few fields are not written. When you want to read them as csv files into R, for example, R complains about the mismatch between columns and column headings.
Again, although these are minor improvements in larger Slicer-verse, they will have huge returns for my research team since most of what our students do is marking anatomical landmarks on hundreds of CTs.