1.0.0 • Published 6 years ago

imagej v1.0.0

Weekly downloads
2
License
Public domain
Repository
github
Last release
6 years ago

Node.js module for ImageJ

Do you want to embed ImageJ in your node.js application? Well then, today is your lucky day!

Installation

npm install imagej

Usage

config = {}
config.imagej_dir = '/path/to/Fiji.app'
config.headless = true // Unless you want the GUI.
console.log('==> Starting ImageJ')
var imagej = require('imagej')(config)
imagej.on('ready', function(ij) {
  ij.log().info('==> ImageJ is ready to go.')
  dataset = ij.io().open('/path/to/myImage.tif')
  filtered = ij.op().run('filter.gauss', dataset, [8, 10, 1])
  ij.scifio().datasetIO().save(filtered, '/path/to/outputImage.png')
  ij.context().dispose()
})

Examples

node examples/versions.js
node examples/gauss-filter.js

They assume you've set the IMAGEJ_DIR environment variable to an ImageJ2 installation. The easiest way to get ImageJ2 is to install Fiji.

Troubleshooting

  • If the ImageJ startup hangs on macOS, you may have been bit by the dreaded AWT main thread issue. Try setting config.headless = true in the config object you pass to the imagej initialization function.

    For further details, see this article as well as joeferner/node-java#21.

  • If npm install fails on macOS, you may have an issue with Python configuration. The java module used by imagej requires native compilation via node-gyp, which uses Python 2 (not 3!) internally. Try this:

    npm config set python /usr/bin/python
    export PATH=/usr/bin:$PATH

    And then npm install again.