ImageJ 中的很多操作都可以用宏(macro)简化,但宏毕竟不是脚本语言,很多 plugins 无法调用,而实际科研中 plugin 的使用有举足轻重的地位。从 ImageJ 1.41 开始,ImageJ 开始支持 Javascript,现在 ImageJ 支持很多种语言,包括 Python、Ruby、R、Java、MATLAB 等等。
具体支持语言及相应调用方法可以参考 官方文档
编写脚本语言最简便的方式是在 Fiji 中选择 Plugins>New,新建一个文本窗口进行编辑,并且可以在窗口的 Language 下任意选择合适的语言编写。详细内容
但目前 ImageJ 的文本编辑器使用体验一般,这篇文章主要讲述如何正确配置环境来调用 API,在 Python 中使用 ImageJ,这样可以自由选择更适合自己的编辑器操作。本人实操中花了不少时间,也走了不少弯路,希望写下来让大家少踩坑,可以更快的使用。
0 准备工作
正确安装 Anaconda/ miniconda,并将 conda 加入到系统环境变量中。
配置环境变量
1 安装 pyimagej
1.1 创建虚拟环境
conda create -n pyimagej -c conda-forge pyimagej openjdk=8 python=3.7
这里创建了 pyimagej 环境,OpenJDK 版本指定为 8,如果未指定应为 OpenJDK 默认是 11,但建议使用 8,更加稳定;Python 指定为 3.7,因为 3.8 之后的版本使用过程中会报错。
在 jupyter notebook 中使用:
import sys
!conda install --yes --prefix {sys.prefix} -c conda-forge pyimagej openjdk=8