文章目录
- 一、Fiji —— 用于科学图像处理和分析
- 1.1、工具安装(免费)
- 1.2、源码下载(免费)
- 二、功能详解
- 2.0、Fiji - ImageJ(Web应用程序)
- 2.1、常用功能(汇总)
- 2.2、Fiji - Plugins(插件)
- (1)labkit:显微镜图像分割
- (2)Cellpose:一种通用的、基于深度学习的细胞分割方法。
一、Fiji —— 用于科学图像处理和分析
Fiji 与 ImageJ 的比较,就如同 Ubuntu 与 Linux 的比较一样。
ImageJ
:用于处理和分析科学图像的开源软件。
- 由美国国立卫生研究院(NIH)开发
ImageJ
:是最初的桌面应用程序,自 1997 年开始开发。ImageJ2
:是针对科学多维图像数据的 ImageJ 新版本。Fiji(Fiji is just imageJ)
:用于科学图像分析的 ImageJ 的 " 内置功能 " 发行版。
- 它在 ImageJ 的基础上预装了大量常用插件和脚本,简化了安装和配置过程,特别适合生物图像分析。Fiji 还集成了更新管理功能,方便用户获取最新插件和工具。
-
核心基础
两者都基于 ImageJ 的核心代码,因此具有相同的图像处理和分析功能。
两者使用相同的编程语言(Java)和脚本语言(如宏和 JavaScript)。 -
开源与免费
两者都是开源软件,用户可以免费下载和使用。
源代码公开,允许用户根据需要修改和扩展功能。 -
跨平台支持
两者都支持跨平台运行,可在 Windows、macOS 和 Linux 系统上使用。 -
插件扩展
两者都支持通过插件扩展功能,用户可以根据需要添加特定工具或算法。
共享大量相同的插件生态系统(拥有数千个插件)。 -
图像处理与分析功能
提供丰富的图像处理功能,如滤波、分割、增强、形态学操作等。
提供测量工具,用于定量分析(如长度、面积、强度等)。 -
科学应用
广泛应用于科学研究领域,如生物学、医学、材料科学等。
支持处理显微镜图像、医学影像、时间序列图像等。
支持多种图像格式(如 TIFF、JPEG、PNG、DICOM 等)。
1.1、工具安装(免费)
- 【Fiji】https://fiji.sc/
- Fiji 拥有数千个插件:https://imagej.net/list-of-extensions!
1.2、源码下载(免费)
- 【imageJ or imageJ2】https://github.com/imagej
- 【Fiji】https://github.com/fiji
- 项目搭建:通过 IntelliJ IDEA 加载项目(源码),并完成配置环境,最后执行项目。
- Java 环境配置 + IntelliJ IDEA 使用指南
- 使用建议:通过源码启动工具,可以分析其每个步骤(函数或算法)的执行逻辑(像素级)。
- 用于加速学习和理解,而且可以快速复现功能。
实测结果:Fiji 开源版本对 SDK 版本有特定要求,最终测定并安装成功。
- JDK版本号:
Oracle OpenJDK version 1.8.0_77
(官网下载安装)
- 已测试版本(失败):
Oracle OpenJDK version 1.8.0_441
(官网下载安装)- 已测试版本(失败):
Amazon Corretto version 1.8.0_442
(使用IntelliJ IDEA在配置中自动下载)- 已测试版本(失败):
Amazon Corretto version 18.0.2
(使用IntelliJ IDEA在配置中自动下载)- 已测试版本(失败):
Oracle OpenJDK version 20.0.1
(官网下载安装)- 已测试版本(失败):
Oracle OpenJDK version 23.0.2
(使用IntelliJ IDEA在配置中自动下载)- maben版本(该工具版本没要求):apache-maven-3.9.2
错误提示如下:
Exception in thread "main" java.lang.NoClassDefFoundError: io/scif/SCIFIOServiceat net.imagej.ImageJ.<init>(ImageJ.java:75)at sc.fiji.Main.main(Main.java:50)
Caused by: java.lang.ClassNotFoundException: io.scif.SCIFIOServiceat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)... 2 more
官方:我们致力于开源。开源不仅允许其他开发人员将应用程序移植到原作者未曾想到的新平台上,还允许科学家研究代码以了解所用算法的内部工作原理,并允许其他人以全新的方式使用该程序,并以所有可以想象的方式对其进行改进。
二、功能详解
2.0、Fiji - ImageJ(Web应用程序)
Fiji - ImageJ(Web应用程序):https://ij.imjoy.io
2.1、常用功能(汇总)
以下是个人使用使用过程中常用的功能,由于Fiji集成功能非常庞大,仅供参考。
功能 操作步骤 快捷键
"""加载超大内存图像 Fiji - File + Import + TIFF Virtual Stack保存图像 Fiji - File + Save as + TIFF/Image Sequence保存Screenshot Ctrl + Shift + G查看三视图 Ctrl + Shift + H绘制直方图 Ctrl + H截取图像 Fiji - 绘制矩形框 + 鼠标右键 + Duplicate + Range(3D)Image数据类型转换 Fiji - Image + Type对比度调整 Fiji - Image + Adjust + Brightness/Contrast Ctrl + Shift + C灰度阈值分割 Fiji - Image + Adjust + Threshold Ctrl + Shift + T最大强度投影 Fiji - Image + Stacks + Z Project + Max Intensity切换观察视角 Fiji - Image + Stacks + Reslice + Start atProcess轮廓提取 Fiji - Process + Find Edges去除背景 Fiji - Process + Subtract Background直方图均衡化 Fiji - Process + Enhance Contrast添加噪声 Fiji - Process + Noise + 随机噪声/高斯噪声/椒盐噪声gamma值调整 Fiji - Process + Math + GammaFFT Fiji - Process + FFT + FFT or Inverse FFT高斯滤波 Fiji - Process + Filters + Gaussian Blur - sigma(Radius)Analyze绘制信号分布图 Fiji - 绘制矩形框 + Analyze + Plot Profile Ctrl + K同步窗口 Fiji - Analyze + Tools + Synchronize Windows同步ROI Fiji - 绘制矩形框 + T
"""
2.2、Fiji - Plugins(插件)
(1)labkit:显微镜图像分割
Fiji - labkit(官网介绍 + 视频教程):用于显微镜 2D 或 3D 图像的手动和自动分割
细胞分割效果较好,脑图像分割效果较差(需要精调)
(2)Cellpose:一种通用的、基于深度学习的细胞分割方法。
基于预训练模型(cellpose提供基于细胞质、细胞核等七个不同数据集训练得到的模型),然后在自己的数据集上预测,并手动标记ROI进行模型微调。
只适用于细胞分割(细胞质、细胞核),不适用于神经元分割(如下图)