Code Monkey home page Code Monkey logo

ami's Introduction


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.
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.

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

โŒ CURV

โŒ FSM

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
  • JPEG Lossless Decoder for DICOM images
  • Author(s): rii-mango
  • GZ file decompression
  • Author(s): nodeca

ami's People

Contributors

nicolasrannou avatar

Watchers

James Cloos avatar Tom Chang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.