一种基于像素重构的图片漂移校正方法及系统
技术领域
本发明涉及一种校正方法及系统,具体涉及一种基于像素重构的图片漂移校正方法及系统。
背景技术
很多实验,例如观察细胞的代谢过程、纳米粒子的催化过程等实验,都需要使用显微镜进行长时间的观察。这时,由于热力学变化、机械松弛效应等,采集到的数据会发生水平方向的漂移,为了修正这种漂移,人们从采集数据时修正和采集数据后修正两个角度,提出了很多解决方案。通过人们会在仪器中加入基准标记物来作为实时调节镜头位置的参照,或者在样品中加入荧光标记物,根据荧光标记物的漂移情况,对实验数据进行采集后再校准。
采集数据时进行修正的方法,需要调节显微镜,因此可能会引入额外的振荡,影响数据的采集,而加入荧光标记物来确定漂移程度的做法,不但需要额外制作荧光标记物,还需要标记物在采样视野内且一直保持发光状态。
发明内容
发明目的:为了克服现有技术的不足,本发明提供一种基于像素重构的图片漂移校正系统及方法,解决了现有技术中需要引入额外的噪声和荧光标记物对实验的影响的问题。
技术方案:一方面,本发明提供了基于像素重构的图片漂移校正方法,该方法包括以下步骤:
(1)按时间序列向系统载入若干图片,选取每张图片关注区域范围;
(2)对所述按时间序列载入的图片与第一张载入的图片进行图像互相关分析,得到每张图片对应的互相关图片,提取每张互相关图片关注区域范围的漂移信息;
(3)将所述漂移信息进行高斯拟合确定该图关注区域范围的漂移位移;
(4)采用像素重构算法根据该图关注区域范围的漂移位移进行该图的漂移校正;
(5)将所述漂移校正后的图片进行保存。
优选的,所述步骤(2)中,图像互相关分析采用快速傅里叶实现,将空间域上的卷积转换成频率域上的乘积,得到图像互相关结果。
优选的,所述步骤(3)中,漂移位移的确定方法包括:
(31)找到每张互相关图片上的最亮点位置;
(32)以所述最亮点位置为中心,沿水平方向与竖直方向做两条直线,对这两条直线上的点做高斯拟合,得到两个最大值点,所述两个最大值点坐标交叉的地方,为亚像素级别的高斯峰的位置,即该张图片的漂移位移。
优选的,所述步骤(4)中,
若漂移位移的漂移量是像素点的整倍数,所述像素重构算法包括:
(41)设图片漂移前的位置为(x,y),漂移位移为(n,m),漂移后的位置为(xa,yb),该图片的每个像素点处的信号强度为Iab(xa,yb),漂移校正后的该像素点的信号强度为该图片在(xa+n,yb+m)处的信号强度,表示为:
(42)对该图片上的每个像素点都进行重新赋值,从而将该张图片的漂移进行校正;
否则,漂移位移的漂移量是像素点的非整倍数:
若(xa,yb)和(x,y)相减只有小数部分,所述像素重构算法包括:
(43)设图片从(x,y)的位置漂移到(xa,yb)的位置,该图片(x,y)位置处的像素点占据4个感光单元,将所述像素点根据所述感光单元分为部分像素点c、d、e、f;
(44)计算每个部分像素点占像素点的面积比,得到该图片在(x,y)点处校正过后的像素信号值,公式如下:
其中,I1、I2、I3和I4分别为部分像素点c、d、e、f在感光单元处的强度信号值;
(45)根据(x,y)和(xa,yb)之间差值的正负,得到该图片漂移的方向,根据所述漂移的方向,对步骤(44)中公式的正负号做出相应的调整;
否则,(xa,yb)和(x,y)相减得到的漂移量既有整数部分也有小数部分,
(46)通过整数部分的值,确定漂移后的图片像素点的粗略位置;
(47)对该像素点附近的四个感光单元给出的值进行(xa,yb)和(x,y)相减只有小数部分的运算,得到校正后的图片。
优选的,所述步骤(44)中,每个部分像素点占像素点的面积比表示为:
部分像素点c:(1-(xa-x))×(y-yb);部分像素点d:(xa-x)×(y-yb);部分像素点e:(1-(xa-x))×(1-(y-yb));部分像素点f:(xa-x)×(1-(y-yb))。
另一方面,本发明还提供一种基于像素重构的图片漂移校正方法构成的系统,该系统包括:
图片载入模块,用于按时间序列载入若干图片,选取每张图片关注区域范围;
漂移计算模块,用于对所述按时间序列载入的图片与第一张载入的图片进行图像互相关分析,得到每张图片对应的互相关图片,提取每张互相关图片关注区域范围的漂移信息;将所述漂移信息进行高斯拟合确定该图关注区域范围的漂移位移;
漂移校正模块,用于采用像素重构算法根据该图关注区域范围的漂移位移进行该图的漂移校正;
图片保存模块,用于将校正后的图片进行保存。
优选的,所述图像互相关分析采用快速傅里叶实现,将空间域上的卷积转换成频率域上的乘积,得到图像互相关结果,得到互相关图片。
优选的,所述漂移位移的确定方法是首先找到每张互相关图片上的最亮点位置,以所述最亮点位置为中心,沿水平方向与竖直方向做两条直线,对这两条直线上的点做高斯拟合,得到两个最大值点,所述两个最大值点坐标交叉的地方,为亚像素级别的高斯峰的位置,即该张图片的漂移位移。
优选的,所述漂移校正方法包括:
若漂移位移的漂移量是像素点的整倍数,所述像素重构算法包括:
S01设图片漂移前的位置为(x,y),漂移位移为(n,m),漂移后的位置为(xa,yb),该图片的每个像素点处的信号强度为Iab(xa,yb),漂移校正后的该像素点的信号强度为该图片在(xa+n,yb+m)处的信号强度,表示为:
S02对该图片上的每个像素点都进行重新赋值,从而将该张图片的漂移进行校正;
否则,漂移位移的漂移量是像素点的非整倍数:
若(xa,yb)和(x,y)相减只有小数部分,所述像素重构算法包括:
S03设图片从(x,y)的位置漂移到(xa,yb)的位置,该图片(x,y)位置处的像素点占据 4个感光单元,将所述像素点根据所述感光单元分为部分像素点c、d、e、f;
S04计算每个部分像素点占像素点的面积比,得到该图片在(x,y)点处校正过后的像素信号值,公式如下:
其中,I1、I2、I3和I4分别为部分像素点c、d、e、f在感光单元处的强度信号值;
S05根据(x,y)和(xa,yb)之间差值的正负,得到该图片漂移的方向,根据所述漂移的方向,对步骤(44)中公式的正负号做出相应的调整;
否则,(xa,yb)和(x,y)相减得到的漂移量既有整数部分也有小数部分,
S06通过整数部分的值,确定漂移后的图片像素点的粗略位置;
S07对该像素点附近的四个感光单元给出的值进行(xa,yb)和(x,y)相减只有小数部分的运算,得到校正后的图片。
优选的,所述每个部分像素点占像素点的面积比表示为:
部分像素点c:(1-(xa-x))×(y-yb);部分像素点d:(xa-x)×(y-yb);部分像素点e:(1-(xa-x))×(1-(y-yb));部分像素点f:(xa-x)×(1-(y-yb))。
有益效果:本发明与现有技术相比,其显著优点是:1、本发明提出的基于像素重构的显微镜漂移校准法,属于采集数据后修正方法,不会带来额外的噪声,不需要对实验仪器进行改造,具有水平漂移现象的符合高斯分布的实验数据可以使用本发明进行校准;2、不需要制作标记物,减少人力物力的消耗,避免了荧光标记物本身的变化对实验数据产生的影响并且可以对亚像素级别的漂移进行矫正,分辨率高。
附图说明
图1是本发明所述的校正方法流程图;
图2是本发明所述的漂移后的图片与起始图片的互相关图,其中图2a是互相关图的二维分析图,图2b是互相关分析图的三维立体图;
图3是本发明所述的对水平和竖直两条线上进行高斯拟合的示意图;
图4是本发明所述的使用互相关提取的模拟数据的像素漂移图;
图5是本发明所述的漂移位移对应的漂移量为像素点整数倍的示意图;
图6是本发明所述的漂移位移对应的漂移量不是像素点整数倍的示意图;
图7是本发明所述的在感光单元中图片漂移的位置示意图;
图8是本发明所述的漂移校正的Matlab程序操作界面示意图;
图9是本发明所述的校正方法的计算流程图;
图10是十张图片叠加在一起的结果模拟图,其中图10a为未校正漂移的十张图片叠加在一起的模拟图,图10b为校正后的十张图片叠加在一起的模拟图;
图11是模拟数据的漂移情况示意图;
图12是细胞SPRI图及其选定区域的强度平均值随时间变化的关系图,其中图12a是细胞的SPRI图,图12b是选定区域的强度平均值随时间变化的关系图;
图13是细胞SPRI实验数据的漂移情况示意图;
图14是粒子荧光数据图的漂移情况示意图;
图15是校正前和校正后的荧光实验数据分析图;
图16是本发明所述的校正系统的结构示意图。
具体实施方式
本发明公开了一种基于像素重构的图片漂移校正方法,如图1所示。该方法主要涉及两个部分,第一个部分是漂移位移的计算,使用图片互相关算法和高斯拟合,获得图片漂移的数据。第二个部分是漂移的校正,通过本发明所述的像素重构算法,对漂移位移进行校正。通过漂移计算和漂移校正,就可以得到处理后的数据。
漂移位移计算:
设置拟合参数,拟合参数指高斯拟合时选取的数据点个数,其中图片上的每个像素点都会有一个表示强度的数值,阈值设置为大于背景信号强度值而小于观测样品的信号强度值。阈值不需要很精确,只需要大概大于背景信号强度值即可。通过图像互相关分析,确定具有时间序列的图像的特征高斯峰,然后通过拟合这些高斯峰,得到峰高在亚像素级别上的漂移量。
图像互相关分析(Image Cross-Correlation)发源自图像相关分析(ImageCorrelation)。而图像相关分析又发源于荧光相关分析(Fluorescence CorrelationSpectroscopy)。这些相关分析法的根基,都是自相关分析。
图像互相关分析,就是两张时间尺度上不同的图片在空间域上的卷积。而通过快速傅里叶变换,可以将空间域上的卷积转换成频率域上的乘积,从而快速计算出图像互相关的结果。两张图片的互相关是两张图片之间相对位移的函数。互相关后的图片上的最高峰的位置与第一张载入的图片上的最高峰的位置之间的位移,就是图片漂移的情况,如图2a为互相关变换后的漂移十个像素点的互相关图与起始的互相关图。图中给出的信息可以看出,数据图片向左下漂移了十个像素点。由于x,y起始点选择的不同,实际图像是向右上漂移了十个像素,如图2b为互相关分析图的三维立体图,两个高斯峰最高点移动的位移,揭示了图片漂移的方向与距离。
通过使用图像互相关分析,将图片的平均漂移信息提取出来以后,需要使用高斯拟合,来确定高斯峰的位置。通过拟合,可以确定高斯峰在亚像素级别上的漂移。
首先,使用matlab中的max函数,找到每张互相关图片上的最亮点的位置,该位置只是在正常单像素颗粒级别的最亮点,如果高斯峰位移水平低于一个像素,那么该点体现的就不是确切意义上的高斯峰,需要通过接下来的高斯拟合,来确定亚像素级别的高斯峰位置,然后,以该点为中心,沿水平方向与竖直方向做两条直线。对这两条直线上的点做高斯拟合,如图3所示,圆圈是实验数据点,实线是高斯拟合曲线。通过高斯拟合,可以确定高斯峰的亚像素位置这两组高斯拟合都可以得到两个最大值点,两个最大值点坐标交叉的地方,就是亚像素级别的高斯峰的位置,也就是该张图片的漂移位移。
通过对水平、竖直两条直线上的数据进行高斯拟合后,可以得到高斯峰的亚像素位置坐标,将该坐标减去起始图片的相关函数图上的高斯峰位置坐标,就可以得到漂移的数值,如图4为使用互相关提取出来的模拟数据的漂移情况。该组模拟数据每张漂移一个像素,一共漂移九个像素。确定了漂移的数值与方向后,就可以用像素重构算法,将漂移校正。
漂移校正:
确定了每张图片的漂移方向和数值以后,就可以使用像素重构法对漂移进行校正了。
首先,讨论简单的图像漂移情况,即漂移量是像素点的整数倍;如图5所示,图中实线围成的区域为CCD上的感光单元的示意图,正方形为观察的物体的示意图,箭头表明了漂移运动的方向,正方形也可以向任何方向漂移,但是基本原理都是一样的。通过计算图像的互相关函数,可以知道方块从原来的位置(x,y),图5的左边,漂移了(n,m) 从而到达现在的这张图上的该位置(xa,yb),图4的右边。假设现在这张图的每个像素点处的信号强度为:Iab(xa,yb),那么漂移校正过后的该点的信号强度应该为现在这张图在(xa+n,yb+m)处的信号强度,用公式表达为:
通过这个方法,对现在这张图上的每个像素点都进行重新赋值,就可以将该张图片的漂移进行校正。当然,由于边缘的像素点无法找到对应的像素点,因此漂移校正后的图片,其边缘是没有强度信号输出的。
其次,讨论图片的漂移量不是像素点的整数倍,例如零点几倍,该如何校正,如图6,灰色实线围成的区域为CCD上的感光单元的示意图,正方形为观察的物体的示意图,箭头表明了漂移运动的方向。
假设观察的物体从(x,y)的位置漂移到(xa,yb)的位置。可以看到,该被观察物体的(x,y)位置处的像素点,横跨了1、2、3、4个感光单元。此时将方块分为四个小方块,分别为c、d、e、f。这些小方块的边长和x、y、xa、yb有关,具体如图7所示,图6 左侧图为观察的物体从(x,y)漂移到(xa,yb),图7右侧图为放大的物体与感光单元的示意图,图中c、d、e、f小方块的边长如图所示,灰色数字1、2、3、4表示对应的CCD 感光单元。从左往右移动,x值增加,从上往下移动,y值增加。每个小方块占方块的面积比分别表示为:
方块c:(1-(xa-x))×(y-yb),方块d:(xa-x)×(y-yb),方块e: (1-(xa-x))×(1-(y-yb)),方块f:(xa-x)×(1-(y-yb))。
接下来,将每个小方块占方块的面积比,乘以该小方块所处感光单元处给出的强度信号值,然后再将算得的四个值相加,就得到现在(x,y)点处的校正过后的像素信号值。具体计算过程如下:
其中,I1、I2、I3和I4分别为部分像素点c、d、e、f在感光单元处的强度信号值。
根据(x,y)和(xa,yb)之间的差值的正负,可以得到漂移的方向,根据漂移的方向,需要对公式2中的正负号做出相应的调整,但是总的运算公式形式不变。如果(xa,yb)和 (x,y)相减得到的漂移量是既有整数部分也有小数部分的数,那么可以通过整数部分,确定漂移后的点的大致位置,然后对该点附近的四个感光单元给出的值进行类似于漂移量是像素点零点几倍情况下的运算,最终也可以得到校正后的图像。
至此,本发明通过像素重构算法,校正了图像的漂移,最后将校正好的图片进行保存即可。
本发明为了方便地使用该漂移校正方法。使用Matlab编写了具有图形界面的程序。界面流程如图8所示,在选择完从第几张图片开始、载入多少张图片后,点击载入按钮,载入图片,随后选择合适的区域、设定合适的阈值与高斯拟合范围,然后点击查找漂移,程序就开始自动计算漂移,并将x,y坐标的漂移量显示在右上角的图片中,同时右下角是实时显示的高斯峰拟合图,可以根据拟合结果判断当时的拟合是否符合预期。最后点击Correctit按钮,进行漂移校正,并在当前文件夹下新建一个Corrected文件夹进行保存,如图9为本发明所述方法的计算步骤,(a)是一张细胞的SPRM图。(b)对时间序列的图片进行互相关分析。(c)通过互相关分析,得到图片漂移的互相关图。(d) 通过高斯拟合,确定亚像素级别的高斯峰位置坐标。(e)最后通过像素重构算法,校正图片的漂移。其中关键的步骤是通过图片互相关,提取漂移信息;通过高斯拟合获得亚像素的高斯峰位移;以及像素重构算法校正漂移数据。
本发明所述的方法可应用于多种情境,并获得了理想的结果。
应用1、应用于模拟漂移数据,如图10a和10b所示。分别为未校正漂移的十张图片叠加在一起的结果和校正后的十张图片叠加在一起的结果。如图11所示,横坐标表示x方向的漂移(drift/pixel),纵坐标表示y方向的漂移(drift/pixel)。图中实心圆点代表每张图的高斯峰的位置,右侧的标尺代表该颜色圆点对应于图像的第几帧。
该组模拟数据是模拟每张图向上向右漂移一个像素点的细胞SPRI数据,一共有十张,总共漂移九个像素。从图10a中可以看出,未经校正的十张图叠加在一起得到的图片非常模糊,而经过校正后再将这十张图叠加在一起,图片非常清晰。证明该校正算法校正成功。图11是校正算法提取出的图片漂移情况,每张图的横坐标和纵坐标都依次向右向上漂移一个像素,与设定的模拟参数相一致,该处模拟参数是指模拟时设定每张图片向上向右漂移一个像素点,证明校正算法能够很好地确定图片的漂移情况。
应用2、应用于实验中产生漂移的细胞SPRI数据,选取细胞的一个区域,观察细胞在药物作用下的SPRI信号变化。未进行漂移校正时,线框围成区域的平均信号强度一直在上升,无法明显观测到900s时加入药物对细胞的影响,如图12b位于上面的线。而经过漂移校准后,可以在900s时观测到明显的药物与细胞结合的动力学曲线,如图 12b位于下方的曲线,如图12a为细胞的SPRI图,选中线框围成的区域,分析该区域强度的平均值随时间变化的关系。
图13是该细胞SPRI实验数据的漂移情况示意图。横坐标表示x方向的漂移,纵坐标表示y方向的漂移。图中实心彩色圆点代表每张图的高斯峰的位置,右侧的标尺代表该颜色圆点对应于图像的第几帧。
应用3、应用于实验中产生漂移的粒子荧光数据,如图14为在500秒的记录时间里,粒子荧光数据图的漂移情况。可以发现图像在向右向下漂移。图15是实验拍摄的大约 500s的粒子荧光数据。(a)、(b)分别为未校正漂移和校正后的第一张,(a)和校正后的第一张(b)是完全一样的。(c)、(d)分别为未校正漂移和校正后的最后一张。第一张和最后一张在拍摄时间上大约相差500s。通过观察白色箭头所指的区域,可以发现,未校正漂移的原始图片向右漂移了大约一个像素,与图13结论相符,而校正漂移后的图片,未发生明显的漂移。证明了本发明提出的基于像素重构的漂移校正法发挥了作用。
在基于像素重构的图片漂移矫正方法的基础上,本发明又提出一种基于像素重构的图片漂移校正系统,如图16所示,包括:图片载入模块,用于按时间序列载入若干图片,选取每张图片关注区域范围,选择合适的拟合参数以及阈值;
漂移计算模块,用于对按时间序列载入的图片与第一张载入的图片进行图像互相关分析,得到每张图片对应的互相关图片,提取每张互相关图片的漂移信息;将所述漂移信息进行高斯拟合确定该图的漂移位移;
漂移校正模块,用于利用漂移位移,采用像素重构算法进行漂移校正;
图片保存模块,用于将校正后的图片进行保存。
具体方法和试验验证与本发明所述的校正方法相同,在此不再赘述。经过实验得到本发明提出的校正方法和系统,不会带来额外的噪声,不需要对实验仪器进行改造。所有具有水平漂移现象的符合高斯分布的实验数据都可以使用我们的方法进行校准。不需要制作标记物,减少人力物力的消耗,也避免了荧光标记物本身的变化对实验数据产生的影响。可以对亚像素级别的漂移进行矫正,分辨率高。