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

From NAMIC Wiki
Jump to: navigation, search
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{|
 
{|
 
|[[Image:ProjectWeek-2007.png|thumb|320px|Return to [[2007_Programming/Project_Week_MIT|Project Week Main Page]] ]]
 
|[[Image:ProjectWeek-2007.png|thumb|320px|Return to [[2007_Programming/Project_Week_MIT|Project Week Main Page]] ]]
|[[Image:ROIsketch.png ]]
+
|[[Image:LegoMindstorms_Slicer3.jpg ]]
 
|}
 
|}
 
  
 
__NOTOC__
 
__NOTOC__
 
===Key Investigators===
 
===Key Investigators===
* Wendy, Jim, Nicole, Steve, Ron
+
* Danielle Pace
 +
* NA-MIC Collaborators:  Katie Hayes, Michael Halle, Tauseef Rehman, Marco Ruiz
  
  
Line 13: Line 13:
  
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
 +
 
<h1>Objective</h1>
 
<h1>Objective</h1>
Plan for ROIs in Slicer3
 
  
He'd like ROI-drawing functionality to be available (like Fiducials are)
+
The goal of this project is to provide a highly accessible tool that allows 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 with open-source IGT software, as users' only options are usually trying out the software without any physical devices or purchasing expensive tracking devices and/or phantoms.
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
+
This project uses Lego Mindstorms, an inexpensive robotics kit, to provide an assessment tool and tutorial for Slicer 3. The user will get a feel for the capabilities of Slicer 3 by setting up and executing a simulated needle biopsy using the robot.
to expose this functionality. I think that sounds like a good idea.
 
  
There are multiple ways we can define ROIs:
+
</div>
  
1. directly: painting/outlining a label map (Editor module)
+
<div style="width: 27%; float: left; padding-right: 3%;">
  
2. implicitly: specifying a location-and-radius (Fei's module), or
+
<h1>Approach, Plan</h1>
 
 
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:'''
+
Advancement will be made in this ongoing summer project with the following three goals in mind:
  
* Relationship between ROIs and fiducials?
+
1)  Wrap up programming a means for communication between Slicer 3 and the Lego Mindstorms robot over USB.
  
* Will we have paint and draw tools? How about erase (will undo work)?
+
2) Wrap up hierarchical modelling to calculate the final needle position given the current rotation of the three motors.
  
* Cross-over with editor?
+
3)  Start and finish programming the Slicer 3 module GUI.
  
* 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 and will be finished by the end of the week.
  
 +
3)  Slicer 3 GUI finished (see example screenshot below):
  
</div>
+
[[Image:LegoGUIScreenshot.png|thumb|240px]]
  
<div style="width: 40%; float: left;">
 
 
<h1>Progress</h1>
 
  
...
 
  
 
</div>
 
</div>
Line 83: Line 62:
 
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===

Latest revision as of 04:54, 29 June 2007

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


Key Investigators

  • Danielle Pace
  • NA-MIC Collaborators: Katie Hayes, Michael Halle, Tauseef Rehman, Marco Ruiz


Objective

The goal of this project is to provide a highly accessible tool that allows 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 with open-source IGT software, as users' only options are usually trying out the software without any physical devices 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. The user will get a feel for the capabilities of Slicer 3 by setting up and executing a simulated needle biopsy using the robot.

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 and will be finished by the end of the week.

3) Slicer 3 GUI finished (see example screenshot below):

LegoGUIScreenshot.png




Notes & Suggestions

Contribute input here:


References