These fulfill the needs we have for them, but I don’t think they could be considered “feature complete”. They don’t have a GUI to interact with them for example. Where do you think would be a good idea to share these so the community can have access to it ? As an extension ?
Each of these new annotation uses the Markups nodes as a base. Unfortunately, they don’t have a generic storage node for them yet. We were thinking we should add a one. The plan would be:
Add a generic markup storage node to save to JSon
Allow subclasses to easily add attributes to store in the JSon for:
The whole markup node
Each individual markup
The current vtkMRMLMarkupsFiducialStorageNode would stay as-is, leaving the user the option to save to (*.fcsv, *.acsv) with it or to JSON with the new generic storage node.
Just share the code as is. If it is implemented as a modification in Slicer core, just push it to your own fork. I’ve been working on very similar features, so I have a good idea of how to proceed, but I would need to see what you have already.
I have pushed a PR here (1) for preview. It’s easier to comment on these than on a branch.
@cpinter: I am working on a storage node (see the plan for the JSON generic markup storage node). In our applications we have not needed any specialized behavior for the display so I have not implement any yet.
The planes are not available in the 2D view, but the splines are. You can interact with them too.
The feature is not available in the nightly release yet. You need to build Slicer using the branch referenced in the pull request above if you want to try it now.