Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to connect ImageJ to python?

I am using Python to design a software, and the image processing is one of the steps. I am using ImageJ to realize this.

Since there is a Jython interpreter within ImageJ, which can be opened within ImageJ software, there must be a way to connect ImageJ to Python and call all the functions within Python.

I wonder how I can do that to finish all the processing in Python rather than open the interpreter in ImageJ?

like image 695
Jarvis Du Avatar asked Apr 20 '15 13:04

Jarvis Du


1 Answers

There is this https://github.com/imagej/imagej.py module which provides an integration between Python and ImageJ.

With it you can easily use ImageJ in Python. Here is a sample script:

# Spin up ImageJ.
import imagej
ij = imagej.init('/Applications/Fiji.app')

# Import an image with scikit-image.
import skimage
from skimage import io
# NB: Blood vessel image from: https://www.fi.edu/heart/blood-vessels
img = io.imread('https://www.fi.edu/sites/fi.live.franklinds.webair.com/files/styles/featured_large/public/General_EduRes_Heart_BloodVessels_0.jpg')
import numpy as np
img = np.mean(img, axis=2)

# Invoke ImageJ's Frangi vesselness op.
vessels = np.zeros(img.shape, dtype=img.dtype)
import imglyb
ij.op().filter().frangiVesselness(imglyb.to_imglib(vessels), imglyb.to_imglib(img), [1, 1], 20) 
like image 160
Helder Avatar answered Sep 21 '22 10:09

Helder