ImageJ--自动将源图或堆栈与目标图配准--StackReg插件

简介

StackReg,用于递归对齐图像堆栈(stack)的 ImageJ 插件。
作者: Philippe Thévenaz, Biomedical Imaging Group, Swiss Federal Institute of Technology Lausanne

该插件的目的是配准(换句话说,对齐或匹配)图像堆栈。每张图片用作下一张图片对齐的模板,以便通过转换进行对齐。当插件启动时,当前图片充当全局锚点。StackReg 插件要求安装有TurboReg 插件。该插件(StackReg)是TurboReg 插件的前端。这些插件之间有几种数据交换机制,其中之一是将临时文件写入 ImageJ 定义的临时目录。该目录的位置可以通过宏命令 "print(getDirectory("temp")); "查看。文件名称是:StackRegSource,StackRegSourceR,StackRegSourceG,StackRegSourceB,StackRegTarget。

配准完成后,原始堆栈将被销毁,取而代之的是配准结果。堆栈的名称和类型保持不变;除 RGB 堆栈HSB 堆栈外,所有数据类型均可使用。(请注意,RGB-stack 是由三个颜色分量组成的堆栈,不应与 RGB 彩色图像堆栈混淆:后者可以使用,而前者不能使用。如有疑问,请尝试一下)。如果提供的是彩色图像堆栈,则会在灰度版本上进行配准,灰度版本是由红色、绿色和蓝色分量加权求和而成的,即使堆栈是伪彩色图像也是如此。权重取决于整个图像堆栈,并通过主成分分析确定,以提供最大可能的对比度。一旦根据中间灰度表示确定了几何图形,就可以重建真正的彩色图像,如果需要生成伪彩色图像,还可以重新量化。

示例

image.png
原始图
攀爬2-缩小.gif
配准后(转换类型Scaled rotation)
WT-处-control-20211218-scaled.gif

参数

有四种类型的转换:

  • Translation

映射公式为 。其中,输入坐标 u 映射到输出坐标 x,常数矢量 Δu 表示平移量。

  • Rigid Body

映射公式为

由于存在 Δu 项,因此除了旋转角度 θ 外,还考虑了平移。

  • Scaled rotation

映射公式为

Rigid Body 的区别在于存在标量调整因子 λ

  • Affine

映射公式为

由于四个系数 是独立的,因此仿射变换比按比例旋转具有更多的自由度。

操作步骤

使用的Fiji ImageJ

  1. 拖动图片文件夹到Fiji,默认为堆栈。

image.png

  1. 插件启动前,选择合适的图片,当前图片会被充当全局锚点。

  2. 打开StackReg。

image.png

  1. 选择对齐方式,点击确定按钮。

image.png

配准结果展示

Translation
攀爬2-移动-缩小.gif
Rigid Body
攀爬2-rigid-缩小.gif
Scaled rotation
WT-处-control-20211218-scaled.gif
Affine
攀爬2-affine-缩小.gif

脚本

StackReg 是可编写脚本和使用宏记录的。下面是一个从宏调用 StackReg 的示例:

1
run("StackReg ", "transformation=[Rigid Body]");

参考

  1. https://bigwww.epfl.ch/thevenaz/stackreg/

  2. P. Thévenaz, U.E. Ruttimann, M. Unser, “A Pyramid Approach to Subpixel Registration Based on Intensity,” IEEE Transactions on Image Processing, vol. 7, no. 1, pp. 27-41, January 1998. Other relevant on-line publications are available at http://bigwww.epfl.ch/publications/.