Projects/Slicer3/2007 Project Week ROIs in Slicer3

From NAMIC Wiki
Jump to: navigation, search
Home < Projects < Slicer3 < 2007 Project Week ROIs in Slicer3
ROIsketch.png


Key Investigators

  • Wendy, Jim, Nicole, Steve, Ron


Objective

Plan for ROIs in Slicer3

He'd like ROI-drawing functionality to be available (like Fiducials are) across the application -- not only in the ROI module or the Editor module, etc. He'd like to avoid making a user "wormhole" from one module into another (ROI/Editor) module to define a region, and then navigate back to continue what they were doing.

So somehow, at the application GUI level, Ron would like to expose this functionality. I think that sounds like a good idea.

There are multiple ways we can define ROIs:

1. directly: painting/outlining a label map (Editor module)

2. implicitly: specifying a location-and-radius (Fei's module), or

3. vector-form: points + curves (may be a DICOM compatible representation)

...(others?)...

To expose this at the Application GUI level, we could use a new ROI-mouse-mode (maybe a drop down choice from a single icon)? or a pop-up-and-dismiss ROI toolbox?

so before we add an icon to the toolbar for Fei's ROI module, we should see if there's a good way to consolidate this functionality and provide one-click access to it.

Questions:

  • Relationship between ROIs and fiducials?
  • Will we have paint and draw tools? How about erase (will undo work)?
  • Cross-over with editor?
  • What kind of implicit regions are useful and to what applications?

Approach, Plan

  • Learn about Brains interface and interaction design for creating ROIs.
  • Talk with other users present at the meeting about their needs and tools they use.
  • Revisit editor module design working problem.
  • Define relationship between label maps and polyline-based ROIs.
  • Draft a compatible design for an application-wide "toolbox" as a subset of the editor module's functionality.

Also see: UIDesign working problems .


Progress

We created draft interface & interaction design based on input during the programming week from Greg Sharp and Sylvain Bouix (comments from Jeremy Bockholt), demo of Brains2 from Hans Johnson, and previous editor module design sessions with Katharina Quintus, Doug Markant, Usman Khan, Charlie Davidson, Motoaki Nakamura, Marianna Jakab and Florin Talos.

An image of the interface is displayed above. The interaction design is linked below in "Related Information".

The interface shown is a drop-down pin-open panel with core ROI definition and editing funtionality, and a jump-button to the editor module for more advance tools.


See ROI-toolbox interface and interaction design for draft interface and interaction design.



Notes & Suggestions

Contribute input here:

  • Stephen says: It should be possible to use any object as a ROI for future processing. For example, if the liver has been segmented using an automated method, it should then be possible to use the liver object as the ROI for any subsequent processing such as vessel extraction. Perhaps an "IsInside" function should be added to MRML nodes that represent objects in space.
  • Jeremy says: We do a lot of manual tracing at my site, we find that both the BRAINS2 package and MRICro have features that would collectively be nice to see in ROI generation for Slicer3.

Related Information

ROI-toolbox interface and interaction design