文章目錄
- 一、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進行模型微調。
只適用于細胞分割(細胞質、細胞核),不適用于神經元分割(如下圖)