JavaScript Other
Clone or download
Failed to load latest commit information.
.github Update Nov 15, 2017
assets wip: quadview cleanup Mar 2, 2017
build Account for delta X and Y in onScroll event Aug 8, 2018
data Test J2K DICOM decoder Jul 20, 2018
examples Add jittering for VR Jul 30, 2018
external/scripts fix last build errors. Oct 20, 2016
legacy/vr_doublepass fix lesson 06 Nov 16, 2016
lessons examples-fix onLoad (#299) Jun 25, 2018
scripts Serve to hostname Nov 27, 2017
specs Fix loader and lut factory Aug 2, 2018
src Account for delta X and Y in onScroll event Aug 8, 2018
.babelrc Migration to Webpack (WIP) (#195) Oct 26, 2017
.codeclimate.yml Update .codeclimate.yml Nov 2, 2017
.csslintrc First commit Apr 14, 2016
.eslintignore Fix style Sep 1, 2017
.eslintrc Fix style Sep 1, 2017
.gitignore Move ami bundles to lib/ Oct 27, 2017
.npmignore replace ../../src/*** to ../*** and transform es6 code to es5 (#110) Mar 7, 2017
.nvmrc Target node 10 Jul 30, 2018
.travis.yml Target node 10 Jul 30, 2018 Update Feb 26, 2018
LICENSE First commit Apr 14, 2016 Mention factory pattern in README Jul 30, 2018 Migration to Webpack (WIP) (#195) Oct 26, 2017
favicon.ico First commit Apr 14, 2016
index.html more cleanup and update example Apr 26, 2017
jsdoc.json Update JSDoc configuration Jul 7, 2017
karma.conf.js Fix test suite Jul 30, 2018
package.json Fix style Jul 30, 2018 Import Pako only 1 time Jul 30, 2018
yarn.lock Fix test suite Jul 30, 2018

Build Status CDNJS Version NPM Version NPM Downloads per Month Slack

**AMI Alpha** is now available for developer preview.
Please submit pull request, open issues or contact us for any question, feature request, etc.

- <Important Note>
-  Developer preview means that the API might change but you can already build cool apps with AMI.


  1. Hello AMI
  2. Features
  3. Usage
  4. Developer corner
  5. Change log
  6. Credits
  7. Citations

Hello AMI

lesson00 Lesson 00: Load
Load DICOM Data and get a nice Series/Stack/Frame structure.
lesson01 Lesson 01: Visualize 3D
Look at the data we loaded in 3D.
lesson00 Lesson 02: Mesh
Add a mesh to the scene.
lesson00 Lesson 03: Visualize 2D
Look at the data in 2D.
lesson00 Lesson 04: Labelmap
Overlays on top of you data.
Lesson 05: TRK
TRK - coming soon.
lesson00 Lesson 06: Volume Rendering
Volume Rendering.
Lesson 07: Lookup tables
Lookup Tables - coming soon.
lesson00 Lesson 08: Custom progress bar
Custom progress bars.

(more) Advanced demos

Volume rendering, 2D viewer, arbitrary reslicing and more examples and advanced demos there!



Capabilities Volumes Meshes Widgets
2D Visulization Dicom VTK (THREEJS) 🔶 Handle (2D/3D)
3D Visualization NRRD STL (THREEJS) 🔶 Probe (2D/3D)
Volume Rendering Nifti TRK 🔶 Ruler (2D/3D)
Lookup Tables MHD/(Z)RAW FSM 🔶 Orientation (2D/3D)
🔶 Label Maps MGH/MGZ CURV 🔶 Angle (2D/3D)



  • ES2015 promises support. (consider using polyfills if needed)
  • Load THREEJS your index.html BEFORE AMI.

<script src=""></script>


$> yarn add ami.js

Note: you might need to include babel transforms in you build process.

// app.js
import * as AMI form 'ami.js';
window.console.log('Ready to rock!!');


Check-out the lessons to get started quickly.

New: Use the new factory not to have to include three in index.html.

import * as THREE from 'three';
import {stackHelperFactory} from 'ami.js';

const StackHelper = stackHelperFactory(THREE);
const stackHelper = new StackHelper();

Add AMI in your index.html after THREEJS.

<!-- index.html -->
<script src=""></script>
<script src=""></script>
<script src="app.js"></script>

const AMI = AMI;
window.console.log('Ready to rock!!');

Developer corner

Get the source code and related packages.

$> git clone
$> cd ami
$> yarn install

To run examples (browserify/babelify/serve the example)

$> yarn example <examples name>

#run the geometries_slice example
$> yarn example geometries_slice

To run lessons (browserify/babelify/serve the lesson)

$> yarn lesson <lesson number>

# run lesson 00
$> yarn lesson 00

Build standalone library to lib/

$> yarn build:ami

Build minified standalone version run

$> yarn build:ami:prod


$> yarn test


$> yarn doc

Build and deploy dist/ to gh-pages

$> yarn deploy

Find out more about the API.

Change log


AMI would not exist without them:

  • Base components such as Vectors, Matrices and Objects3D.
  • HTML template for example page.
  • Author(s): mrdoob
  • DICOM parsing relies on it.
  • Author(s): chafey
  • Was used to figure out how to use the dicom parser properly.
  • Author(s): chafey
  • Nifti parsing relies on it.
  • Author(s): rii-mango
  • NRRD parsing relies on it.
  • Author(s): jaspervdg
  • JPEG Lossless Decoder for DICOM images
  • Author(s): rii-mango
  • GZ file decompression
  • Author(s): nodeca