Difference between revisions of "Projects/Slicer3/2007 Project Week Lego Mindstorms dissemination for IGT"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
{|
+
 
|[[Image:ProjectWeek-2007.png|thumb|320px|Return to [[2007_Programming/Project_Week_MIT|Project Week Main Page]] ]]
 
|[[Image:ROIsketch.png  ]]
 
|}
 
  
  
Line 15: Line 12:
  
 
<h1>Objective</h1>
 
<h1>Objective</h1>
Plan for ROIs in Slicer3
+
Lego Mindstorms Dissemination for IGT
  
He'd like ROI-drawing functionality to be available (like Fiducials are)
+
The goal of this project is to provide a highly accessible means for users to assess whether Slicer 3 meets their needs.  In order to truly evaluate open-source IGT software, users must be able to experiment with the software in a hands-on fashion.  Unfortunately, an accessible means of doing so is often not provided, as users usually have the option of trying out the software without any physical devices whatsoever or purchasing expensive tracking devices and/or phantoms.  This project uses Lego Mindstorms, an inexpensive robotics kit, to provide an assessment tool and tutorial for Slicer 3.
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
+
</div>
to expose this functionality. I think that sounds like a good idea.
 
  
There are multiple ways we can define ROIs:
+
<div style="width: 27%; float: left; padding-right: 3%;">
  
1. directly: painting/outlining a label map (Editor module)
+
<h1>Approach, Plan</h1>
  
2. implicitly: specifying a location-and-radius (Fei's module), or
+
Advancement will be made in this ongoing summer project with the following three goals in mind:
  
3. vector-form: points + curves (may be a DICOM compatible representation)
+
1)  Wrap up programming a means for communication between Slicer 3 and the Lego Mindstorms robot over USB.
  
...(others?)...
+
2) Wrap up hierarchical modelling to calculate the final needle position given the current rotation of the three motors.
  
To expose this at the Application GUI level, we could use a new
+
3)  Start and finish programming the Slicer 3 module GUI.
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?
 
  
 
</div>
 
</div>
  
<div style="width: 27%; float: left; padding-right: 3%;">
+
<div style="width: 40%; float: left;">
  
<h1>Approach, Plan</h1>
+
<h1>Progress</h1>
  
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".
+
1) USB communication coding finished.
  
'''Also see:''' [[Slicer3:UIDesign#Working_problem:_Application-wide_support_for_ROI_definition | UIDesign working problems ]].
+
2)  Hierarchical modelling almost finished as of Friday morning, will be finished by Friday afternoon.
  
 +
3)  Slicer 3 GUI finished:
  
</div>
 
  
<div style="width: 40%; float: left;">
 
  
<h1>Progress</h1>
 
  
...
 
  
 
</div>
 
</div>
Line 84: Line 58:
 
Contribute input here:
 
Contribute input here:
  
* <em>Stephen says:</em> 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.
+
 
* <em>Jeremy says:</em>  We do a lot of manual tracing at my site, we find that both the BRAINS2 package and [http://web.arizona.edu/~cnl/mricro.htm MRICro] have features that would collectively be nice to see in ROI generation for Slicer3.
 
 
   
 
   
 
===References===
 
===References===

Revision as of 03:51, 29 June 2007

Home < Projects < Slicer3 < 2007 Project Week Lego Mindstorms dissemination for IGT



Key Investigators

  • Danielle Pace


Objective

Lego Mindstorms Dissemination for IGT

The goal of this project is to provide a highly accessible means for users to assess whether Slicer 3 meets their needs. In order to truly evaluate open-source IGT software, users must be able to experiment with the software in a hands-on fashion. Unfortunately, an accessible means of doing so is often not provided, as users usually have the option of trying out the software without any physical devices whatsoever or purchasing expensive tracking devices and/or phantoms. This project uses Lego Mindstorms, an inexpensive robotics kit, to provide an assessment tool and tutorial for Slicer 3.

Approach, Plan

Advancement will be made in this ongoing summer project with the following three goals in mind:

1) Wrap up programming a means for communication between Slicer 3 and the Lego Mindstorms robot over USB.

2) Wrap up hierarchical modelling to calculate the final needle position given the current rotation of the three motors.

3) Start and finish programming the Slicer 3 module GUI.


Progress

1) USB communication coding finished.

2) Hierarchical modelling almost finished as of Friday morning, will be finished by Friday afternoon.

3) Slicer 3 GUI finished:





Notes & Suggestions

Contribute input here:


References