2016 Winter Project Week/Projects/CommonDataStructure

From NAMIC Wiki
Jump to: navigation, search
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.