imagej/pyimagej

Use ImageJ from Python

它解决了什么问题

ImageJ 和 ImageJ2 是用于科学图像处理的强大 Java 工具,但它们不能直接从 Python 中使用。PyImageJ 通过提供包装函数消除了这一障碍,使 Python 开发者可以调用 ImageJ2(以及原始 ImageJ API),同时将数据保留在熟悉的 Python 结构中。它还允许将 ImageJ 与其他 Python 库(如 NumPy、SciPy、scikit-image、OpenCV 和 ITK)结合使用,因此用户不必在生态系统之间做出选择。

它是如何工作的

PyImageJ 创建一个 ImageJ2 网关——连接到特定的 ImageJ2 版本或本地安装。一旦网关启动,你可以使用其方法打开图像,然后通过简单的 from_java 调用将它们转换为 Python 友好的格式(如 xarray)。该包装器处理 Java 数据结构与 Python 数据结构之间的转换,并可选地使用 matplotlib 显示图像。初始化时会在首次使用时下载并缓存所需的 Java 库(大约 30 秒到 2-3 分钟)。

适用人群

这适用于需要运行 ImageJ 或 ImageJ2 工作流的 Python 用户——例如,生物学、显微镜或其他成像领域的研究人员,他们希望使用 Python 工具处理图像,同时利用 ImageJ 丰富的插件生态系统。它也适用于希望在服务器上运行图像处理的系统管理员,因为它支持 Linux、Windows 和 macOS。

亮点

  • 从 Python 完全访问 ImageJ2 API 以及原始 ImageJ API
  • 在 Python 结构(NumPy、xarray、pandas)和 Java 结构(ImageJ2、ImgLib2)之间进行转换
  • 适用于任何官方 ImageJ2 版本或本地安装
  • 可以通过 conda/mamba 或 pip 安装,设置快速(约 20 秒安装)
  • 包含一个由 matplotlib 支持的便捷 show 函数,用于快速显示

相关

  • 项目
  • 项目
  • 项目
  • 项目