Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Join the chat at https://gitter.im/imagej/imagej-ops

ImageJ Ops

ImageJ Ops is an extensible Java framework for algorithms, particularly image processing algorithms. Ops seeks to be a unifying library for scientific image processing. See the Motivation page for details.

Getting started

Each op has a list of typed input and output parameters on which it operates. You can think of an op as a (potentially multi-variable) function:

sum = math.add(a, b)
(phase, amplitude) = fft(image)

In many cases you can also pass a pre-allocated output which will be populated:

math.add(sum, a, b)

Some ops take other ops as inputs, which allows for things like "execute this op on every pixel of that image":

add_op = op("math.add", 5)
output_image = map(input_image, add_op)

For more details, see the "Introduction to ImageJ Ops" tutorial notebook:

https://imagej.github.io/tutorials

Working example

Try this Jython script in ImageJ's Script Editor!

# @ImageJ ij

# create a new blank image
from jarray import array
dims = array([150, 100], 'l')
blank = ij.op().create().img(dims)

# fill in the image with a sinusoid using a formula
formula = "10 * (Math.cos(0.3*p[0]) + Math.sin(0.3*p[1]))"
sinusoid = ij.op().image().equation(blank, formula)

# add a constant value to an image
ij.op().math().add(sinusoid, 13.0)

# generate a gradient image using a formula
gradient = ij.op().image().equation(ij.op().create().img(dims), "p[0]+p[1]")

# add the two images
composite = ij.op().create().img(dims)
ij.op().math().add(composite, sinusoid, gradient)

# display the images
ij.ui().show("sinusoid", sinusoid)
ij.ui().show("gradient", gradient)
ij.ui().show("composite", composite)

The output:

sinusoid gradient composite

How to contribute

We welcome pull requests!

About

ImageJ Ops: "Write once, run anywhere" image processing

Resources

License

Packages

No packages published

Languages