Page MenuHomePhabricator

Make sure that PlanarFigures can be re-discovered in a scene
Closed, ResolvedPublic

Description

With the current mapper implementation, PlanarFigures are only rendered when their 2D (plane) geometry matches that of a currently displayed 2D renderer scene.

When selecting a different slice, or even re-initializing the sliced 3D world geometry by means of a different dataset (so that the slice which contains the PlanarFigure is no longer contained in the geometry), it is difficult or even impossible to find/display the PlanarFigure in the scene again.

A simple mechanism needs to be devised and implemented by means of which the user can easily select and display PlanarFigure objects created in different slices.

Event Timeline

[SVN revision 20001]
ENH (#2795): Set a render-window-specific bool property when a PlanarFigure is placed (to recover the render window in which this was done later on)

seleted planar figures (either in DM or in the planar figure table) the selected property of this figure is set to true causing the mapper to draw the lines in red.
automatically recovering the plane is not working yet

plane recovery is as is mentioned before not working yet. mathias you wanted to work on it

P.S.: You can find the implementation on the bottom of QmitkMeasurement.cpp. WIll be commited shortly

[SVN revision 20045]
FIX (#2795): Figures with true "selected" property is painted in red

[SVN revision 20163]
FIX (#2795): Use origin of PlanarFigure geometry instead of center; render PlanarFigure if current render plane is contained in the bounds of the PlanarFigure Geometry

PlanarFigure re-discovery works now if

  • the world geometry remains unchanged after a PlanarFigure has been placed (no re-initialization on a different dataset)
  • PlanarFigures are only used on one of the principal planes (coronal, sagittal, tranversal)

If the world geometry is re-initialized to a different dataset (with a different spacing), a PlanarFigure object could possibly be "too small" (in terms of thickness of the geometry) to be re-discovered in the scene. This can occur when the closest possible render plane is outside of the z-bounds of the PlanarFigure plane geometry.

To ensure that the PlanarFigure 2D geometry is always aligned to the image on which the measurement was performed (parent node of PlanarFigure), the QmitkMeasurement bundle could additionally re-initialize on the selected image before adding / loading PlanarFigures.

We should make sure that a scene is reinitialized on the dataset to which PlanarFigures belong when adding/interacting with them. Otherwise finding PlanarFigures will sometimes not work, as described above

Adding party keyword.

Rediscovering generally works with the current window initialization. However, for future releases the QmitkMeasurement application should restrict mesurement planes to actual image planes. A new T3062 has been created to solve this problem (not 3M3).

Setting bug to fixed.