Markups are being completely reworked. There will be markups for points, lines, angles, curves, they will be much simpler (so that we can add many new features) and faster. Probably they will be ready for public testing in January.
@lassoan this is great news! Do you have something like a labs page with the summary of what types of markups will be supported? It would be nice to coordinate this with what is commonly used by radiologists. Are you planning to support circle/ellipse, for example? Bi-dimensional measurements? Do you anticipate it will be a big effort to add new types of annotations with the new infrastructure?
It would be very nice to work out the DICOM interoperability for those annotations, especially since we have several other tools that support planar markups. I am interested to help with that.
Sorry I had a conflict and would not be able to join the meeting, even if I knew this was going to be discussed.
I’m not sure we’ll bundle IPython packages in the Slicer installer, but we’ll consider it.
Is this related to Slicer5? Is any change in Slicer code needed to make build scripts available?
4D image support was added in Slicer several years. We now have DICOM import/export, sequence registration, cropping, visualization, recording, video compression, intensity plotting, etc. Moreover, 4D record/replay/editing/saving/loading is supported not just for volumes but all nodes - models, markups, segmentations, etc.
Could you be a bit more specific about what features you are looking for?
Yes, I confirm that most likely the new infrastructure will be available around January. Here there are few preview videos (in the audio, I explain the interactions) (pure VTK) of what we are developing:
Reading the lab page, the new widget rework that I am doing should cover the majority of the desired improvements.
Our idea is to have for a first implementation everything within Slicer (vtkwidgets in Modules/Loadable/Markups/VTKWidgets, and for each widget a relative markups node, etc…). This will allow a much faster prototype, dev and test (then in future we may move them upstream in VTK). In addition, having the widget directly in Slicer will allow additional feature: save the state of the scene for undo at each widget interaction, easier communication between different 2D/3D views, etc…
The vtkwidgets have few layers of abstract classes, so it should be relatively easy to implement a new annotations with the new widgets.
From point of view of implementation at VTK level we don’t use anymore the vtkHandle to interact with the widget. This will greatly boost the performance (the fps while interacting with a closed curve with 2000 points were still > 30) and make all the infrastructure much easier/lighter.