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 彩色图像堆栈混淆:后者可以使用,而前者不能使用。如有疑问,请尝试一下)。如果提供的是彩色图像堆栈,则会在灰度版本上进行配准,灰度版本是由红色、绿色和蓝色分量加权求和而成的,即使堆栈是伪彩色图像也是如此。权重取决于整个图像堆栈,并通过主成分分析确定,以提供最大可能的对比度。一旦根据中间灰度表示确定了几何图形,就可以重建真正的彩色图像,如果需要生成伪彩色图像,还可以重新量化。
示例
原始图
配准后(转换类型Scaled rotation)
参数
有四种类型的转换:
-
Translation:
映射公式为 。其中,输入坐标 u 映射到输出坐标 x,常数矢量 Δu 表示平移量。
-
Rigid Body:
映射公式为
由于存在 Δu 项,因此除了旋转角度 θ 外,还考虑了平移。
-
Scaled rotation:
映射公式为
与Rigid Body 的区别在于存在标量调整因子 λ。
-
Affine:
映射公式为
由于四个系数 、
、
和
是独立的,因此仿射变换比按比例旋转具有更多的自由度。
操作步骤
使用的Fiji ImageJ
-
拖动图片文件夹到Fiji,默认为堆栈。
-
插件启动前,选择合适的图片,当前图片会被充当全局锚点。
-
打开StackReg。
-
选择对齐方式,点击确定按钮。
配准结果展示
Translation
Rigid Body
Scaled rotation
Affine
脚本
StackReg 是可编写脚本和使用宏记录的。下面是一个从宏调用 StackReg 的示例:
1 | run("StackReg ", "transformation=[Rigid Body]"); |
参考
-
https://bigwww.epfl.ch/thevenaz/stackreg/
-
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/.