Difference between unselected control point and skipped control point

What’s the difference in usage between setting a markups control point as being “Unselected” versus having a position status that is “Skip placement”?

The markups control point table appears to indicate the Selected/Unselected state is for marking control points to be used or not used by CLI modules. The “Skip placement” appears to also be used to allow control points to be in the list, but marked in a way to not be used (to have a position undefined). Are both used to allow a control point to be in the list, but then marked to be ignored? Are both necessary? Could their functionality be combined in some way?

Would I have a control point that is marked as “Unselected”, but then a point defined (row 3)? Or a control point marked as “Selected”, but then marked as “Skip placement” with no position defined (row 5)?


The “missing” flag is used when placing landmarks from a template on a group of specimens, some of which may be missing features. It indicates that the point is complete (will never become active when placement mode is entered) but has no position recorded.

Using the select/unselect field to indicate missing landmarks would break its use for other tasks that require selecting a persistent subset of control points. For example, SlicerMorph has a module that allows a group of points to be selected and operated on by drawing a curve around them. I believe this property is used similarly in other modules.

If I want to have a row in the control point list to be ignored by various processing on it should I mark it as “Unselected” like some CLI are doing? Or mark it as “Skip placement”, where the position is undefined?

In this case you would mark it “Unselected” to ignore during processing of “Selected” points. “Skip placement” is intended to prevent only point placement, not deleting, copy/paste to a new node, etc.

It is up to the user and modules to decide how to use the selected flag. For example, it is used in Fiducial registration module to exclude points, while it is used for differentiating inflow/outflow points in Extract centerline module.

Since point status is a new feature, I don’t think any CLI modules use the feature and only those loadable modules use them that are recently modified.