Skip to content

reynzhang/ami

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

108 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


AMI Alpha is now available for developer preview.
Developper preview means that the API might change but we are confident you can already build cool apps with AMI.
Please submit pull request, open issues or contact us for any question, feature request, etc.


Build Status Code Climate Slack NPM Version NPM Downloads per Month

AMI JS ToolKit (Alpha - 0.0.*)

AMI Medical Imaging (AMI) JS ToolKit for THREEJS

Content

  1. Lessons
  2. Sandbox
  3. Features
  4. Usage
  5. Pre-requisites
  6. Use with NPM
  7. Use compiled version
  8. API Documentation
  9. Developer corner
  10. Credits

Lessons

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.
Lesson 06: Volume Rendering
Volume Rendering - coming soon.
Lesson 07: Lookup tables
Lookup Tables - coming soon.

Sandbox

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

Features

βœ… READY - πŸ”Ά IN PROGRESS OR LIMITED SUPPORT - ❌ ON ROADMAP

Capabilities

βœ… 2D Visulization

βœ… 3D Visualization

βœ… Volume Rendering

βœ… Lookup Tables

πŸ”Ά Label Maps

Widgets

βœ… Handle (2D/3D)

βœ… Probe (2D/3D)

βœ… Ruler (2D/3D)

πŸ”Ά Angle (2D/3D)

πŸ”Ά Orientation (2D/3D)

Volumes

βœ… Dicom

βœ… NRRD

βœ… Nifti

πŸ”Ά MGH/MGZ

❌ JPEG

Meshes

βœ… VTK (THREEJS)

βœ… STL (THREEJS)

πŸ”Ά TRK

πŸ”Ά FSM

❌ CURV

Usage

If you know how to use THREEJS, you already know out to use AMI. Learn about THREEJS then checkout the lessons, examples and the API to dive in!

Pre-requisites

THREEJS

Make sure that you are loading THREEJS your index.html BEFORE AMI.

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r75/three.js"></script>

Promise polyfills (for older browsers)

Follow the instructions from babel's wiki or just use one of the many Promise polyfill available out there.

NOT FOR PRODUCTION: available for convenience at:

<script type="text/javascript" src="https://cdn.rawgit.com/fnndsc/vjs/master/external/scripts/babel/polyfill.min.js"></script>

NPM

Check-out the ami-starter kit to get started quickly. It is already configured to use browserify, babelify and glslify,

https://github.com/FNNDSC/ami-starter

Installation

$> npm install ami.js

Note that you might need to include babel and glslify transforms in you build (browserify, webpack, etc.) process.

...
browserify(
  {entries: [entry],
   debug: true
  })
  .transform(babelify, {"presets": ["es2015"]})
  .transform(glslify)
  .bundle()
...

Usage

let AMI = require('ami.js');
window.console.log(AMI);

// Ready to rock

Compiled

Check-out the lessons to get started quickly.

Lessons

Installation

Add AMI in your index.html after THREEJS.

...
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r75/three.js"></script>
<script src="https://rawgit.com/FNNDSC/ami/master/dist/ami.js"></script>
...

Usage

let AMI = AMI.default;
window.console.log(AMI);

// 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 (runs tests, documentation, etc. and create a directory ready to be pushed as gh-page)

$> gulp

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

$> gulp examples --<example>

# for instance to run the geometries_slice example

$> gulp examples --geometries_slices

To run lessons (runs example against compiled ami.js)

$> gulp lessons --<lesson #>

# for instance to run lesson 00

$> gulp lessons --00

Build standalone library to build/

$> gulp build

Tests

$> gulp test

Documentation

$> gulp doc

Credits

  • 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

About

AMI Medical Imaging (AMI) JS ToolKit for THREEJS

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 96.3%
  • GLSL 2.1%
  • HTML 1.5%
  • CSS 0.1%