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.
AMI Medical Imaging (AMI) JS ToolKit for THREEJS
- Lessons
- Sandbox
- Features
- Usage
- Pre-requisites
- Use with NPM
- Use compiled version
- API Documentation
- Developer corner
- Credits
Lesson 00: Load
Load DICOM Data and get a nice Series/Stack/Frame structure.
|
Lesson 01: Visualize 3D
Look at the data we loaded in 3D.
|
||
Lesson 02: Mesh
Add a mesh to the scene.
|
Lesson 03: Visualize 2D
Look at the data in 2D.
|
||
Lesson 04: Labelmap
Label maps - coming soon.
|
Lesson 05: TRK
TRK - coming soon.
|
||
Lesson 06: Volume Rendering
Volume Rendering - coming soon.
|
Lesson 07: Lookup tables
Lookup Tables - coming soon.
|
Volume rendering, 2D viewer, arbitrary reslicing and more examples and advanced demos there!
โ READY - ๐ถ IN PROGRESS OR LIMITED SUPPORT - โ ON ROADMAP
โ 2D Visulization
โ 3D Visualization
โ Volume Rendering
โ Lookup Tables
๐ถ Label Maps
๐ถ Handle (2D/3D)
๐ถ Probe (2D/3D)
๐ถ Ruler (2D/3D)
๐ถ Angle (2D/3D)
๐ถ Orientation (2D/3D)
โ Dicom
โ NRRD
๐ถ Nifti
โ MGH/MGZ
โ JPEG
โ VTK (THREEJS)
โ STL (THREEJS)
๐ถ TRK
โ CURV
โ FSM
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!
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>
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>
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
$> 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()
...
let AMI = require('ami.js');
window.console.log(AMI);
// Ready to rock
Check-out the lessons to get started quickly.
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>
...
let AMI = AMI.default;
window.console.log(AMI);
// Ready to rock
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
- 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
- JPEG Lossless Decoder for DICOM images
- Author(s): rii-mango
- GZ file decompression
- Author(s): nodeca