A fork of FNNDSC/ami to visualise weather data from JPGs
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
assets
build
data
demo
examples
external/scripts
legacy/vr_doublepass
lessons
scripts
specs
src
.babelrc
.codeclimate.yml
.csslintrc
.eslintignore
.eslintrc
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
favicon.ico
index.html
jsdoc.conf
karma.conf.js
package.json

README.md

Build Status Code Climate 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.

Content

  1. Hello AMI
  2. Features
  3. Usage
  4. Developer corner
  5. Credits

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!

Features

READY - 🔶 IN PROGRESS OR LIMITED SUPPORT - ON ROADMAP

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 MGH/MGZ CURV 🔶 Angle (2D/3D)
🔶 Label Maps JPEG FSM 🔶 Orientation (2D/3D)

Usage

Pre-requisites

  • ES2015 promises support. (consider using polyfills if needed)
  • Load THREEJS your index.html BEFORE AMI.
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r81/three.js"></script>

NPM

$> npm install ami.js

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

# app.js
const AMI = require('ami.js');
window.console.log('Ready to rock!!');

ami.js

Check-out the lessons to get started quickly.

Add AMI in your index.html after THREEJS.

# index.html
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r81/three.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ami.js/0.0.12/ami.min.js"></script>
<script src="app.js"></script>

#app.js
const AMI = AMI.default;
window.console.log('Ready to rock!!');

Developer corner

Get the source code and related packages.

$> git clone https://github.com/FNNDSC/ami.git
$> cd ami
$> npm install

Default task (lint, tests, demo and build)

$> npm run

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

$> npm run example <examples name>

#run the geometries_slice example
$> npm run example geometries_slice

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

$> npm run lesson <lesson number>

# run lesson 00
$> npm run lesson 00

Build standalone library to build/

$> npm run build:ami

Tests

$> npm run test

Documentation

$> npm run doc

Deploy dist/ to gh-pages

$> npm run deploy

Find out more about the API.

Credits

AMI would not exist without them:

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