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

From NAMIC Wiki
Jump to: navigation, search
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.
  • Teodora Szasz, University of Chicago

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] AMI

[2] XTK

[3] Web-Components

[4] Polymer

[5] React

[6] Angular