Construction of subpixel level registration data set for sectional images
TAN Liwen, HU Nan, SONG Lin, WU Yi, ZHANG Shaoxiang (Department of Anatomy, Third Military Medical University, Chongqing 400038, China)
Abstract: Objective To further investigate the method of image registration and to construct a subpixel level registration data set for sectional images. Methods A middleaged male frozen specimen sectional images of the head and neck were acquired using cryosectiome method. With the software of Matlab, the character of the excalibrator was acquired automatically, and the data set were autoregistrated based on two point projective transformation algorithm. Results After registration, the error between the excalibrator and the benchmark was less than 1 pixel, which has reached subpixel level. Conclusion Registration algorithm with excalibrator can construct a satisfying subpixel level registration data set for sectional images.
Keywords: image registration; cryosection; digital human
断层图像配准是指对于一幅断层图像寻求一种(或一系列)的空间变换,使它与另一幅断层图像上的对应点达到空间上的一致[12]。数字化可视人体和数字动物等数字化模型的原始数据是经数控机床加工成平面后,经相机数字化后而获得的[2],数据存在人为的、机械的或设备的误差,图像坐标体系不一致,影响数据集的后续研究和所建数字模型的精度。为此,本文根据冰冻铣切断层数据的获取特点,采用基于2点的刚体变换算法,建立一套基于Matlab软件的图像自动配准方法和软件,探讨高精度配准图像数据集建立的方法,以期建立亚像素级的数字化断层图像的配准数据集。
1材料与方法
1.1数据源
选择经10%福尔马林固定1年左右的男性成年尸体2具,自胸骨角平面横断,按矢状位截去两侧肩部,保留头颈部。将1例标本按矢状位,另1例标本按冠状位放置于冰冻包埋箱内冰冻,采用中国数字化可视人体数据集采集技术[2]获取头颈部矢状位、斜冠状位断层图像数据,图像大小为4 064×3 072像素,层间距为0.2 mm。
1.2定标点坐标的获取
首先,对矢状位、冠状位的头颈部断层图像数据的定位标记物进行图像分析。定位标记物为乳白色硅胶管,其内填充了红色的明胶体。乳白色的硅胶管受周围蓝色明胶体的影响,在断层图像上表现为白色,略偏蓝色,其特征值与周围的包埋体相似或相同,不易自动获得其图像信息。管内的红色明胶填充物则表现为红色,其红色特征信息比周围的蓝色明胶包埋体的色彩明显,可采用图像处理的方法来自动获得定位标记物的重心坐标。
其次,分析数字化断层图像上4个定标点最大位移量,以基准断层图像上的定标点中心像素坐标为中心,设置4个矩形的定标点分析范围,确保所有断层图像的定标点在分析范围内。分析定标点图像与周围背景图像RGB的分量(Ir、Ig、Ib)特征,根据红色分量与绿色分量的差值(Irb=IrIb)和红色分量与蓝色分量的差值(Irg=IrIg)来分割出定位标记点的图像,计算出定标点的重心坐标值。
本研究根据定位标记物的特征值,采用Matlab软件确定所有断层图像的4个自定义矩形框中符合红色定标物特征值的所有点的坐标值,并计算每个定位标记物的重心坐标,将计算的结果存入Excel文件中。
Matlab核心代码如下:
if (RGB(i,j,1) >80) && (RGB(i,j,1)-RGB(i,j,2)>10) && (RGB(i,j,1)-RGB(i,j,3)>10)
xy(k,kk,1) = xy(k,kk,1) + i;
xy(k,kk,2) = xy(k,kk,2) + j;
xy(k,kk,3) = xy(k,kk,3) + 1;
end
|