How to create Markups Point List template with GUI

How do I create a Markups Point List template using the Slicer GUI? For the template, I want it to be a template where there are templated control point names, but no coordinate positions yet defined. Is there a way to add control points to a Markups Point List using the Slicer GUI? I seem to only be able to place points randomly in the slice views and then clear all of their positions which wasn’t intuitive at first.

A Markups Point List template would look like the following where there are control points, but not coordinate positions yet defined for them.

Under the control points advanced options, there is a button to add an unplaced point. Previously, it was supposed to add a point at the origin, but it had been broken for a while. It’s not very easy to find, maybe it should be moved to the main control points menu?

I also made a short video showing the steps to create a template with the GUI.

So is this tool tip out-of-date? Or is it supposed to add a point to the origin?

I did not look there in the advanced section because I figured if there is a button to Delete a control point, then there would surely be the opposite button available nearby to add a new control point. I would have expected it to be one of the first buttons in the list of buttons above the control point table.

Thanks, the tooltip should be updated to read “Add a new control point with undefined position”. The button placement was carried over from the earlier version that placed a point at the origin. Given the new use case for templating I think it makes sense to move it near the delete control point button.

I’ve been brainstorming designs of “Add” buttons for the control point table to go along side the delete buttons. The place button would add a point and go into editing mode. The menu option for this button would support the advanced case of adding an undefined point to the table. This seems to make more logical sense to me then, having it in an advanced section below the control point table. The Delete button would delete the highlighted control points, while the menu option for this button would support the advanced case of deleting all points in the table.

The “More Organization” brainstorming of options was done to reorganize to allow the “Add” and “Delete” to be the primary buttons to interact with the table and therefore would be the largest in size.

Thoughts on which version is liked here?

I personally liked the third one. It provides a verbal explanation of what most of the icons are (particularly the new functionality ones), and doesn’t look too cluttered.

I also like the “more organization” version, the layout seems more intuitive.

I can see a benefit for consistency, but entering placement mode would be less efficient if the goal is just to create a list of named, uninitialized points.

Sequential, group edit for highlighted points isn’t currently supported, but I think would be a nice addition.

Creating a list of named, uninitialized points would utilize an advanced option in the menu of the “Add” button as a replacement to the button that has been in the “Advanced” section below the control point table. Is clicking into the menu of the “Add” button too cumbersome for this advanced task?

It could be tedious if you need to expand the menu each time and are placing a large number of points. I’m not sure if it’s possible to keep the menu visible after expanding? Navigating to the advanced menu is inconvenient, but only needs to be done once.

Given that there are two other, easily accessible GUI options for entering placement mode, I would suggest making this button more convenient for the templating use case.

For creating templates are you adding one point, changing the name, adding another point, etc? Or is the number of points already known to support something like “Add 20 undefined points” where you can enter a number?

The number of points is known in advance, so something like this would work well.

1 Like

For filtering and search, please use the same UI as for the segment list (can be enabled by right-clicking on the segment list and choose “Show filter bar”):

It should be a feature of the control point list widget, which should be created by factoring out the control point list into a new reusable widget. It would be similar to the qSlicerSimpleMarkupsWidget; probably the qSlicerSimpleMarkupsWidget should use this new control point list widget.

1 Like

Looking into using the template capabilities, I was wondering if updating one of these pages would make sense:

Currently the only reference to the word “template” is in the Definition of columns: associate with the Markups control points table file format (.csv, .tsv) section.

It would be helpful to provide a bit more guidance.

Is there any text in this thread that could be added to the documentation ?

All the templating and edit/restore/skip/clear states for control points will need to be updated in the documentation as well with the new Markups toolbar. These updates were primarily led by @smrolfe’s group. Will need updated documentation for this work which is being captured by Markups: Documentation of Markups module has not been updated to reflect latest changes · Issue #5916 · Slicer/Slicer · GitHub.

Now that the updates are stable, I can help update the documentation. I’m also planning to redo the template/Markups toolbar YouTube videos since there have been some changes to the interface.