Difference between revisions of "2016 Winter Project Week/Projects/CommonDataStructure"

From NAMIC Wiki
Jump to: navigation, search
(Created page with "__NOTOC__ <gallery> Image:PW-MIT2016.png|link=2016_Winter_Project_Week#Projects|Projects List Image:DataStructure-2016-12-10.png|Schemati...")
 
 
(10 intermediate revisions by 3 users not shown)
Line 5: Line 5:
 
</gallery>
 
</gallery>
  
 +
 +
The main goal of this project is to create a common data structure that will allow a better use of: Angle Plane, Easy Clip, Pick and Paint, Q3DC, Surface Registration. The data structure will allow the user to work with all of these modules at the same time and also to save and reload all his progress in the different modules.
 +
 +
For now it has been decided that the data structure will be encoded in JSON and save in the "markupFiducialNodes" thanks to the SetAttribute function. This will allow all the modules to read and modify this data structure, and save it by saving the "MRMLscene" in Slicer. After a study of all modules, and a listing of all the useful information for each module, the data structure shown bellow (schematic description) as been created.
 +
 +
Finally the modification of the modules has started with Surface Registration, Pick and Paint, and Q3DC.
 +
 +
Here is an exemple of the data structure encoded in JSON: https://gist.github.com/jbvimort/47fc5783a3c85a041c66
 +
 +
Here is an exemple of how the new data structure is used: https://gist.github.com/jbvimort/a4401a77299eb6823bc9
 
==Key Investigators==
 
==Key Investigators==
 
+
* Françoi Budin, University of North Carolina
Françoi Budin, University of North Carolina
+
* Lucia Cevidanes, University of Michigan
Lucia Cevidanes, University of Michigan
+
* Beatriz Paniagua, University of North Carolina
Beatriz Paniagua, University of North Carolina
+
* Steeve Pieper, Isomics, Inc.
Steeve Pieper, Isomics
+
* Juan Carlos Prieto, University of North Carolina
Juan Carlos Prieto, University of north Carolina
+
* Jean-Baptiste Vimort, University of Michigan
Jean-Baptiste Vimort, University of Michigan
 
  
 
==Project Description==
 
==Project Description==
<div style="margin: 20px;">
+
{| class="wikitable"
<div style="width: 27%; float: left; padding-right: 3%;">
+
! style="text-align: left; width:27%" |  Objective
<h3>Objective</h3>
+
! style="text-align: left; width:27%" |  Approach and Plan
* Create a common data structure that will allow a better use of: Angle Plane, Easy Clip, Pick and Paint, Q3DC, Surface Registration.
+
! style="text-align: left; width:27%" |  Progress and Next Steps
* The data structure will allow the user to work with all of these modules at the same time.
+
|- style="vertical-align:top;"
* The data structure will also allow the user to save and reload all his progress in the different modules.
+
|
</div>
+
<!-- Objective bullet points -->
<div style="width: 27%; float: left; padding-right: 3%;">
+
* Finalize the data structure implementation.
<h3>Approach, Plan</h3>
+
* Work on OA tracker, which will allow to regroup several modules for an easiest use by the user.
* Find a way to share the data structure between modules and save it.
+
|
* Identify the useful information and create the data structure.
+
<!-- Add a bulleted list of key points -->
* Modify all the modules to make them work with the new data structure.
+
* Finish to adapt the new data structure to Easy Clip and Angle Planes.
</div>
+
* Check that all the modules listed before works correctly together thanks to the new data structure.
<div style="width: 27%; float: left; padding-right: 3%;">
+
* Identify the better way to implement OA tracker.  
<h3>Progress</h3>
+
|
* It has been decided that the data structure will be encoded in JSON and save in the "markupFiducialNodes" thanks to the SetAttribute function. This will allow all the modules to read and modify this data structure, and save it by saving the "MRMLscene" in Slicer.
+
<!-- Fill this out at the end of Project Week; describe what you did this week and what you plan to do next -->
* After a study of all modules, and a listing of all the useful information for each module, the data structure shown bellow (schematic description) as been created.
+
* Correction of some bugs in the encoding and decoding of the data structure.
* The modification of the modules has started with Surface Registration, Pick and Paint, and Q3DC.
+
* Beginning of the implementation of the new data structure in AnglePlanes.
</div>
+
|}
</div>
 

Latest revision as of 03:10, 8 January 2016

Home < 2016 Winter Project Week < Projects < CommonDataStructure


The main goal of this project is to create a common data structure that will allow a better use of: Angle Plane, Easy Clip, Pick and Paint, Q3DC, Surface Registration. The data structure will allow the user to work with all of these modules at the same time and also to save and reload all his progress in the different modules.

For now it has been decided that the data structure will be encoded in JSON and save in the "markupFiducialNodes" thanks to the SetAttribute function. This will allow all the modules to read and modify this data structure, and save it by saving the "MRMLscene" in Slicer. After a study of all modules, and a listing of all the useful information for each module, the data structure shown bellow (schematic description) as been created.

Finally the modification of the modules has started with Surface Registration, Pick and Paint, and Q3DC.

Here is an exemple of the data structure encoded in JSON: https://gist.github.com/jbvimort/47fc5783a3c85a041c66

Here is an exemple of how the new data structure is used: https://gist.github.com/jbvimort/a4401a77299eb6823bc9

Key Investigators

  • Françoi Budin, University of North Carolina
  • Lucia Cevidanes, University of Michigan
  • Beatriz Paniagua, University of North Carolina
  • Steeve Pieper, Isomics, Inc.
  • Juan Carlos Prieto, University of North Carolina
  • Jean-Baptiste Vimort, University of Michigan

Project Description

Objective Approach and Plan Progress and Next Steps
  • Finalize the data structure implementation.
  • Work on OA tracker, which will allow to regroup several modules for an easiest use by the user.
  • Finish to adapt the new data structure to Easy Clip and Angle Planes.
  • Check that all the modules listed before works correctly together thanks to the new data structure.
  • Identify the better way to implement OA tracker.
  • Correction of some bugs in the encoding and decoding of the data structure.
  • Beginning of the implementation of the new data structure in AnglePlanes.