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

Sketch above is a starting point -- includes all the ways of defining an ROI I can think of: painted, drawn, vector form, implicit -- no erase is shown (undo?). Shows toolbar menubutton with drop-down menu and a corresponding mouse-mode for "defining ROI".

Also see: UIDesign working problems .


Progress

...



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.


References