0

I want to automatically count cells and I usually do this with ImageJ

I can open imagej using subprocess

subprocess.Popen(r"path\ImageJ\ImageJ.exe")

I want to upload an image into imagej from python

Then run an imagej macro (edits image file and sets threshold) from python using this code:

subprocess.Popen(r"path\ij153-win-java8\ImageJ\macros\autocount.ijm")

How can I open an image in ImageJ through python? Full code:

#import libraries
import subprocess

#open imageJ
subprocess.Popen(r"path\ij153-win-java8\ImageJ\ImageJ.exe")

#open file in imageJ


#open imageJ macro
subprocess.Popen(r"path\ij153-win-java8\ImageJ\macros\autocount.ijm")

1 Answers1

2

You can use Simple ITK to import the image and execute the image_viewer function.

https://simpleitk.readthedocs.io/en/v1.2.4/Examples/ImageViewing/Documentation.html

import SimpleITK as sitk

Image = sitk.ReadImage(inputImageFileName)
image_viewer = sitk.ImageViewer()
image_viewer.SetTitle('Cell Image') #title image (optional )
image_viewer.SetApplication(r'path\ij153-win-java8\ImageJ\ImageJ.exe') #Application to be used e.g. ImageJ or ITK-SNAP
image_viewer.SetFileExtension(".tiff") #any formats you use
image_viewer.Execute(Image)
Aloohala
  • 21
  • 4