Difference between revisions of "2017 Winter Project Week/AMI: A 3D Medical Imaging Javascript Library"

From NAMIC Wiki
Jump to: navigation, search
(Created page with "__NOTOC__ <gallery> Image:PW-Winter2017.png|link=2017_Winter_Project_Week#Projects|Projects List <!-- Use the "Upload file" link on the l...")
 
Line 6: Line 6:
  
 
==Key Investigators==
 
==Key Investigators==
<!-- Add a bulleted list of investigators and their institutions here -->
+
* Rudolph Pienaar, Boston Children's Hospital
 +
* Jorge Luis Bernal Rusiel, Boston Children's Hospital
 +
* Nicolas Rannou, Eunate Technology S.L.
  
 
==Project Description==
 
==Project Description==
 +
Many tools and libraries exist to build powerful '''web medical visualizers''' but the learning curve can be steep for new comers.
 +
This project aims to provide simple interfaces for AMI [1].
 +
 +
==== Simple JS interface ====
 +
A simple Javascript XTK-like [2] API. The key to the XTK success was its simple interface that lets people just dive in without worrying about the details.
 +
 +
==== Web components ====
 +
A collection of modular web components [3] (via Polymer [4]) that people can cherry pick to easily build their own web medical visualizer.
 +
 +
 +
''Why Polymer? (and not React [5] or Angular [6])''
 +
 +
Because Polymer is meant to '''disappear'''!
 +
 +
Polymer adds very little 'sugar' on top of the web '''standards'''. It mostly adds support for some features that are not available '''yet''' on some platforms. Once all browser vendors implement the standards, the Polymer library that aims to poly-fill all the gaps will disappear. Accessibility is also very important: one can use web components in its app no matter which framework is used. Using React/Angular-based elements from another framework is not necessarily possible. Low maintenance cost (not tied to a specific version of a specific library). Beautiful ecosystem for development, testing and distribution.
 +
 +
- and it is a Google backed project!
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="text-align: left; width:27%" |  Objective
 
! style="text-align: left; width:27%" |  Objective
Line 16: Line 36:
 
|
 
|
 
<!-- Objective bullet points -->
 
<!-- Objective bullet points -->
*  
+
* Design/Implement XTK like API for AMI
 +
* Define/Design/Implement AMI-based web components for medical imaging
 +
* Implement Lesson 10 and 14 from XTK with new JS API
 +
* Build Slicer/Slicedrop/Cornerstone like viewer leveraging web components
 
|
 
|
 
<!-- Approach and Plan bullet points -->
 
<!-- Approach and Plan bullet points -->
*  
+
* Write helpers functions in AMI to hide low-level JS implementation details
 +
* Mockup basic quad-view to define most web components
 +
* Implement web components
 
|
 
|
 
<!-- Progress and Next steps bullet points (fill out at the end of project week) -->
 
<!-- Progress and Next steps bullet points (fill out at the end of project week) -->
Line 26: Line 51:
  
 
==Background and References==
 
==Background and References==
<!-- Use this space for information that may help people better understand your project, like links to papers, source code, or data -->
+
[1] [ https://github.com/FNNDSC/ami | AMI ]

Revision as of 16:06, 9 January 2017

Home < 2017 Winter Project Week < AMI: A 3D Medical Imaging Javascript Library

Key Investigators

  • Rudolph Pienaar, Boston Children's Hospital
  • Jorge Luis Bernal Rusiel, Boston Children's Hospital
  • Nicolas Rannou, Eunate Technology S.L.

Project Description

Many tools and libraries exist to build powerful web medical visualizers but the learning curve can be steep for new comers. This project aims to provide simple interfaces for AMI [1].

Simple JS interface

A simple Javascript XTK-like [2] API. The key to the XTK success was its simple interface that lets people just dive in without worrying about the details.

Web components

A collection of modular web components [3] (via Polymer [4]) that people can cherry pick to easily build their own web medical visualizer.


Why Polymer? (and not React [5] or Angular [6])

Because Polymer is meant to disappear!

Polymer adds very little 'sugar' on top of the web standards. It mostly adds support for some features that are not available yet on some platforms. Once all browser vendors implement the standards, the Polymer library that aims to poly-fill all the gaps will disappear. Accessibility is also very important: one can use web components in its app no matter which framework is used. Using React/Angular-based elements from another framework is not necessarily possible. Low maintenance cost (not tied to a specific version of a specific library). Beautiful ecosystem for development, testing and distribution.

- and it is a Google backed project!

Objective Approach and Plan Progress and Next Steps
  • Design/Implement XTK like API for AMI
  • Define/Design/Implement AMI-based web components for medical imaging
  • Implement Lesson 10 and 14 from XTK with new JS API
  • Build Slicer/Slicedrop/Cornerstone like viewer leveraging web components
  • Write helpers functions in AMI to hide low-level JS implementation details
  • Mockup basic quad-view to define most web components
  • Implement web components

Background and References

[1] [ https://github.com/FNNDSC/ami | AMI ]