ImageJ | 圖像自動配準
科 / 研 / 圖 / 像 / 處 / 理
圖像配準(image registration)是將不同組的圖像數據轉換成一個座標系的過程,通常用於計算機視覺,醫學成像,生物成像等方面。
通常在拍攝切片等圖像時,因爲樣品或相機的挪動,會造成不同圖片之間在 位置、角度以及放大倍數 上的偏差,從而導致重構、分析的困難。
進行圖像配準的最常用方法之一是使用與輸入和參考圖像中已知位置相對應的點。ImageJ 中存在的工具可以自動檢測這些對應點,然後估計變換函數。
這篇文章主要介紹兩款用於圖像自動配準的插件
1
Register Virtual Stack Slices
該插件的原理是通過指定某張照片作爲參照(Reference),自動提取特徵後對其他照片進行不同種類的變換。
插件原理
該插件可以做 6 種類型的圖像配準:
Translation
Rigid (translation + rotation)
Similarity (translation + rotation + isotropic scaling)
Affine
Elastic (via bUnwarpJ with cubic B-splines)
Moving least squares
這篇文章只介紹用的最多的 Translation(移動)、Rigid(移動+旋轉)以及Similarity(移動+旋轉+等比例變形)的圖像配準。
一、選擇輸入、輸出文件夾
打開Register Virtual Stack Slices(Plugins ->
Registration -> Register Virtual Stack Slices),彈出初始化界面:
選擇輸入文件夾(存有需要配準的多張圖片),以及輸出文件夾。
Feature extraction
model:預期的變換模型在特徵提取中找到內點(即圖像之間的對應關係或地標):平移,剛性,相似性或仿射。
Registration model. 圖像配準模型:平移,剛性,相似性,仿射,彈性或移動最小二乘。
二、定義需要配準圖像的變換類型
根據圖片與圖片之間的差異,選擇需要提取的特徵以及配準的模型。
以Translation(移動)、Rigid(移動+旋轉)以及Similarity(移動+旋轉+等比例變形)爲例。
1、Translation(移動)
如圖,圖像的中心移動,但無旋轉和變形,這時需要提取的特徵(Feature extraction model)以及配準模型(Registration
model)需要選擇Translation。
然後點擊OK後,彈出選擇參照的對話框,選擇某張圖片作爲參照:
最後即可得到配準後的圖片Stack,在輸出文件夾可以得到配準後的每張圖片。
2、Rigid(移動+旋轉)
如圖,圖片旋轉、移動,但無變形。這時需要 提取的特徵(Feature extraction model)以及 配準模型(Registration
model)需要選擇 Rigid,結果如下圖:
3、Similarity(移動+旋轉+等比例變形)
如圖,圖片旋轉+移動,且存在遠近關係造成的放大倍數不同,這時需要提取的特徵則爲 Similarity,但 對於配準模型(Registration model)則有兩種選擇,一種爲只校正旋轉和移動(Rigid),另一種是將放大倍數不同也進行校正(Similarity)。
(1)Rigid
只對移動和旋轉進行了配準
(2)Similarity
統一了放大倍率
將中間部分框選,然後 Duplicate 單獨提取出來,可以看到同一區域、同一倍率的細節變化:
2
StackReg
StackReg 插件可以比較方便地對 Stack 進行自動配準:
一、插件下載:
在下面兩個網址,分別下載 StackReg、TurboReg 插件的壓縮包(公衆號回覆“配準”,獲取下載鏈接):
http://bigwww.epfl.ch/thevenaz/stackreg/
http://bigwww.epfl.ch/thevenaz/turboreg/
把解壓後的文件放入 Plugins 文件夾中,重啓 Fiji,即可在 Plugins -> StackReg 裏找到該插件。
注意!如果打開 StackReg 出現報錯,把 StackReg 插件文件夾裏的 StackReg_.java 文件刪掉,只保留 StackReg_.jar 文件。重啓 Fiji 即可。
二、插件使用
打開未配準的圖片 Stack:
打開 StackReg 插件,並選擇配準類型:
這裏一共有四種配準類型,這裏的圖片 stack 只涉及到了圖片的整體位移,所以選擇 Rigid Body。點擊 OK 後即可得到配準結果:
![](https://img1.headline01.com/images/22/01/2201f9141d68062bb3a57d40da5189a19c23ca46.jpg?wx_fmt=gif&wxfrom=5&wx_lazy=1)
![](https://img1.headline01.com/images/8a/06/8a064b585e3ba63b5caa5ecf290f6e31f2d0452b.jpg?wx_fmt=gif&wxfrom=5&wx_lazy=1)
往期回顧
◆ 基於GPT-4的科研圖像處理 | 圖像配準
◆ 基於GPT-4的科研圖像處理 | 面積測量
◆ 熒光強度測量
◆ 比例尺的校準和添加
◆ 細胞分割神器Cellpose(自動計數篇)
◆ 基於ChatGPT快速編程
◆ ImageJ基礎篇 | 成像注意事項
◆ 基於閾值分割的自動細胞計數
◆ OpenAI API的使用方法-附Python代碼
◆ 利用Segment Anything進行細胞分割