FNNDSC / Ami
Licence: mit
AMI Medical Imaging (AMI) JS ToolKit
Stars: ✭ 569
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Ami
Vue Vr
A framework for building VR applications with Vue
Stars: ✭ 348 (-38.84%)
Mutual labels: webgl, threejs
Bluemap
A Minecraft mapping tool that creates 3D models of your Minecraft worlds and displays them in a web viewer.
Stars: ✭ 406 (-28.65%)
Mutual labels: webgl, threejs
Infinitetubes
A tunnel experiment in WebGL inspired by the effect seen on http://www.fornasetti.com/](Fornasetti.
Stars: ✭ 348 (-38.84%)
Mutual labels: webgl, threejs
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (-21.79%)
Mutual labels: webgl, threejs
Three.phenomenon
⭐️ A tiny wrapper around three.js built for high-performance WebGL experiences.
Stars: ✭ 338 (-40.6%)
Mutual labels: webgl, threejs
Troika
A JavaScript framework for interactive 3D and 2D visualizations
Stars: ✭ 342 (-39.89%)
Mutual labels: webgl, threejs
Map33.js
A JavaScript library to make 3D maps with three.js.
Stars: ✭ 317 (-44.29%)
Mutual labels: webgl, threejs
Ray Tracing Renderer
[UNMAINTAINED] Real-time path tracing on the web with three.js
Stars: ✭ 444 (-21.97%)
Mutual labels: webgl, threejs
Vue Gl
Vue.js components rendering 3D WebGL graphics reactively with three.js
Stars: ✭ 434 (-23.73%)
Mutual labels: webgl, threejs
Three Elements
Web Components-powered custom HTML elements for building Three.js-powered games and interactive experiences. 🎉
Stars: ✭ 331 (-41.83%)
Mutual labels: webgl, threejs
Globe.gl
UI component for Globe Data Visualization using ThreeJS/WebGL
Stars: ✭ 479 (-15.82%)
Mutual labels: webgl, threejs
Graphosaurus
3D graph viewer powered by WebGL (three.js)
Stars: ✭ 340 (-40.25%)
Mutual labels: webgl, threejs
Plasio
Drag-n-drop In-browser LAS/LAZ point cloud viewer. http://plas.io
Stars: ✭ 349 (-38.66%)
Mutual labels: webgl, threejs
React Postprocessing
📬 postprocessing for react-three-fiber
Stars: ✭ 311 (-45.34%)
Mutual labels: webgl, threejs
Indoor3d
a js lib based on three.js to show 3D indoor map
Stars: ✭ 425 (-25.31%)
Mutual labels: webgl, threejs
Detect Gpu
Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.
Stars: ✭ 460 (-19.16%)
Mutual labels: webgl, threejs
Content
Hello AMI
![]() |
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
Overlays on top of you data.
|
Lesson 05: TRK
TRK - coming soon.
|
|
![]() |
Lesson 06: Volume Rendering
Volume Rendering.
|
Lesson 07: Lookup tables
Lookup Tables - coming soon.
|
|
![]() |
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 | ✅ MHD/(Z)RAW | ✅ FSM | 🔶 Orientation (2D/3D) |
✅ Label Maps | ✅ MGH/MGZ | ❌ CURV | 🔶 Angle (2D/3D) |
❌ JPEG |
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>
Yarn
$> 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!!');
ami.js
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="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;
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
$> yarn install
To run examples (browserify/babelify/serve the example)
$> yarn example <examples name>
#run the geometries_slice example
$> yarn example geometries_slice
Build standalone library to lib/
$> yarn build:ami
Build minified standalone version run
$> yarn build:ami:prod
Tests
$> yarn test
Documentation
$> yarn doc
Build and deploy dist/ to gh-pages
$> yarn deploy
Find out more about the API.
Change log
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
Citations
2017
- From brain imaging to weather imaging - McCaie - informaticslab, Met Office (blog post)
- Medical imaging in the browser with the A* Medical Imaging (AMI) toolkit. - Rannou et al. - ESMRMB 2017 (poster)
- Reusable Client-Side JavaScript Modules for Immersive Web-Based Real-Time Collaborative Neuroimage Visualization - Bernal-Rusiel et al. - Frontiers in Neuroinformatics 2017 (article)
2016
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].