SuperAPI AI 工具集

pyimagej-fiji-bridge

设计与创作

查看项目

更新于 10-15 22:40

技能介绍

用途:PyImageJ 通过 PyJNIus 和 scyjava 在 Python 进程内嵌入 JVM,为 ImageJ2 与 Fiji 提供 Python 接口,便于在 Python 工作流中调用 Fiji 插件与宏,并在 NumPy 与 ImageJ 数据结构之间往返转换。

主要能力:NumPy 数组与 ImagePlus/ImgLib2 双向转换(to_imageplus、from_imageplus、to_java、from_java);通过 ij.io() 读取 Bio-Formats 支持的格式(CZI、LIF、ND2、ICS、TIFF 等);用 ij.macro.run 执行 IJM 宏字符串或 runMacroFile 运行 .ijm 文件;通过 ij.op() 调用 ImageJ Ops(滤波、阈值、形态学、统计、数学运算等);通过 ij.command().run 调用 SciJava 命令与插件(如 Bio-Formats 打开器、Analyze Particles);把 Results 表与 ROI Manager 结果读入 pandas DataFrame。支持 headless 批处理与 GUI 交互模式。

使用方式:需 pyimagej、scyjava、numpy、pandas;Java 8 或 11(不支持 17),推荐 conda 管理。安装命令:conda create -n pyimagej -c conda-forge pyimagej openjdk=11;conda activate pyimagej;pip install pandas tifffile。初始化:imagej.init("sc.fiji:fiji", mode="headless"),也可指定本地 Fiji 路径或版本坐标。首次运行会自动下载 Fiji(约 500 MB)。

适用场景:从 Python 自动化 Fiji 宏与批处理流水线;调用 TrackMate、CLIJ2、Weka 分割等社区插件;使用 ImageJ Ops 做类型安全的图像处理;结果表导出 CSV 做下游统计分析。

限制:不替代 napari 等交互式查看器;纯 Python 处理可改用 scikit-image 以避免 JVM 开销。Java 堆大小可用 JAVA_TOOL_OPTIONS 设置。批量循环中需清理 Results 与 ROI Manager,ij 建议每会话初始化一次。其余具体价格与授权信息暂未提供。