2013 Summer Project Week:MarkupsModuleSummer2013

From NAMIC Wiki
Jump to: navigation, search
Home < 2013 Summer Project Week:MarkupsModuleSummer2013

Key Investigators

  • BWH: Nicole Aucoin, Ron Kikinis (user feedback)

Objective

Porting the Annotations module fiducial functionality into a new Markups module, reinstating some missing Slicer3 functionality.




Approach, Plan

The approach is to start from the list of feature requests and bugs and address them all in the new Markups module. The main challenge is to get the basic functionality working solidly before expanding too quickly and adding new features.

The plan for the project week is to give a short demo of the current functionality and solicit feedback, then continuing to work on implementation.

To do list:

  • 2D display bugs (world vs display coordinates)
  • When dragging a markup the position gets further and further away from the mouse - rounding error?

Progress

  • Pre-project week:
    • MRML infrastructure to save to single file, transform lists
    • An initial GUI using a table widget has been designed pre-project week and an initial implementation is progressing. Actions on all fiducials in a list have been exposed via the GUI.
    • Moving fiducials up/down in the list
    • Modifying display properties on all fiducials in a list
    • Creating a new fiduciual list with the display properties of the current list
    • Saving display settings over Slicer sessions has been implemented, but the ctk settings panel is conflicting with the logic class and Qt GUI so it has been disabled for now (buttons in the Markups GUI allows save/restore to defaults)
  • During Project week:
    • added a response to end batch processing to update the GUI when loading markups from file
    • fixed fiducials jumping to the wrong slice (had a bug that was updating the widget instead of MRML)
    • fixed the widget getting further away from the mouse as dragged (Qt table widget was triggering an update to MRML when it was updated from mdml, blocking signals worked)
    • updating Tractography Interactive Seeding to work with markup fiducially
    • Demos for feedback:
      • orientation field
      • naming
        • regexp/prefix/suffix options
        • unique id on the points
      • correspondence
      • storage:
      • easily extensible
      • remove the multiple points options
      • machine readable file (xml? json? proper csv? version number?)
      • look at MRML scene version
      • GUI
        • center on slice
        • make jump slices optional or at least easier to understand
        • click on fid in table then click in viewer and reset the location (select.cut.paste? right click update position)
      • Rendering on a semi transparent plane for when they're hidden
      • Snap to displayable
      • Consider allowing other modules to register new annotations

Delivery Mechanism

This work will be delivered to the NA-MIC Kit as a Slicer Loadable Module.

References