背景技术
当今对血液细胞进行分析的自动化仪器有两种,一种是三分群血液细胞分析仪,一种是五分类血液细胞分析仪。三分群血液细胞分析仪只能将人体外周血内的白细胞分成淋巴细胞、嗜中性粒细胞以及中间细胞三个群,而五分类血液细胞分析仪可以将白细胞细细分为淋巴细胞(LYMPH)、单核细胞(MONO)、嗜中性粒细胞(NEUT)、嗜碱性粒细胞(BASO)以及嗜酸性粒细胞(EOS)这五个子类。五分类血液细胞分析仪是在流式细胞技术(FCM)的基础上发展的,由于能够利用激光散射和荧光等多种光学信号探测到细胞的内部结构,所以可以将白细胞的五个子类区分开。著名的五分类血液细胞分析仪的生产厂家有Beckman-Coulter,ABBOTT,Sysmex,Siemens,ABX,Mindray等。专利US6228652,US2009310122,US5631165等揭露了用不同原理进行白细胞五分类的方法和仪器。
五分类血液细胞分析仪根据不同类型白细胞的光学信号的特异性进行分类,用来分类的光学信号一般是两种或者两种以上的散射光信号或者荧光信号,因此分类是在一个二维数据或者更多维数据上进行的。如图1所示,在一个以侧向散射光为横坐标、以荧光为纵坐标的二维散点图上进行分类:同一类细胞在散点图上聚集在一起,形成一个群落(簇),各簇之间有较为明显的边界,在分析仪的数据分析单元就会用一种计算方法在这个散点图上将各个子类的边界找出来,对边界内部的细胞进行计数,达到分类计数的目的。
在散点图上找出分类边界的最早方法是在散点图上“设门”,也就是在散点图上用手画出一道边界,落在边界内部的细胞被认为是同一类细胞,专利US4727020,US4704891,US4599307,US6014904都揭露了用设定门限的方式分类计数血液样本中不同细胞的方法。但是上述“设门”的方法所采用的固定边界只能体现大部分正常样本的特征,其缺陷是不能针对不同的样本进行边界调整,当某些异常样本的细胞信号显著不同于正常样本时,仍然用同样的边界去划分就会出现较大的偏差。
专利US5627040用一种“重心引力因子”的方法解决了不同类之间的边界重叠的问题,但是这种尺寸、形状和方位固定而位置不固定的“半自动”分类边界依然无法解决样本个体差异的问题。
为了解决样本分类边界的个体差异问题,可以通过一种自适应的边界查找方法,让每个样本的分类边界根据这个样本散点图数据的不同而不同。专利US6944338采用Koonst andFukunaga算法在二维数据上寻找分界线(二维数据的波谷),获得了一种自动分类的方法。专利CN101226190在一个多维数据上,用聚类分析的方法利用不同粒子之间的距离来聚类,使同类细胞聚在同一个类中,从而实现了自动分类。专利CN102331393A揭露了一种在二维散点图上用梯度来寻找聚类中心并聚类的自动分类方法。
然而上述自动分类的方法都是在二维数据或多维数据上进行,无论Koonst and Fukunaga算法、聚类算法还是梯度计算,数据量和运算量都非常巨大,需要功能强大的中央处理器(CPU)和较大的数据存储器,对于低成本、小型化的仪器来说上述算法都不适用。
具体实施方式
结合附图,以一组侧向散射光(SSC)数据和一组荧光(SFL)数据例对本发明进一步说明。
本发明提供一种对人体外周血中的白细胞进一步细分成五个子类的计算方法,在分析仪的数据分析单元中通过软件来实现,算法流程如图2所示,其特征在于包含以下步骤:
(1)获取两组或多组表示细胞特征的一维数据;
(2)在数据上去除背景噪声;
(3)根据数据生成直方图;
(4)在各个直方图上查找各子类之间的分界线;
(5)对各个子类内部的细胞数目进行统计,得出分类结果。
上述各步骤具体实施如下:
步骤(1):获取两组一维数据。
待分析的数据是分析仪的传感器信号经过放大、滤波和模拟-数字转换而来。
对白细胞进行五分类的血液细胞分析仪是基于流式细胞原理(FCM)的,被测样本中的细胞是一个一个地被检测的。如图3所示,利用流体聚焦的原理,让含有血液细胞3的样本液在另外一种液体的包裹之下通过一个微通道2,包裹液被称为鞘液,因为它像剑鞘一样包住样本液,样本液在鞘液的挤压之下形成一个宽度和白细胞直径相当的细流,这样其中的白细胞只能一个一个地排队通过了。若要使鞘液在包裹样本液的同时而二者不产生交叉则需要满足流体力学的层流条件,即雷诺数Re小于2300:
上式中d为流体通道直径,ρ为流体密度,
为流体平均速度,η为流体粘稠度。
鞘流的实现在一个微通道中进行,这个微通道被称为流动室2。细胞3在这个流动室2中受到激光束11照射,由于需要透光,所以流动室是由光学透明材料制成的,通常为石英。流动室2分为三个区域——整流区、加速区和检测区,在整流区中将两种液体发展为层流;在加速区中鞘液将样本液压缩成一个细胞直径的细流;在检测区中鞘液包裹着样本液使其中的细胞一个一个地通过并接受激光束11的照射。当细胞通过检测区时就在后面的传感器中形成散射光和荧光等各种光学信号,转换成电信号后就是一个个电脉冲,也就是说一个细胞有多个表征其特征的脉冲与之对应,一个样本的测试数据就是所有细胞产生的脉冲序列。
基于流式细胞术(FCM)的五分类血液细胞分析的传感器部分如图4所示。激光照射模块1发出的照射光束11,照射到流动室2中正在流动的细胞3上,产生散射光和荧光,一般包括前向散射光12、侧向散射光15、一路或多路荧光14。
前向散射光(FSC)12被前向散射光探测模块4接收,进行光电转换形成电信号16送至后面的信号调理电路10并经过模拟-数字转换形成数字信号19送入分析仪的数据分析单元200进行分类计算,本发明提供的分类计算方法是在数据分析单元200中实现的。
在侧向,散射光和一种或多种荧光的混合光13在经过二向色反射镜7之后,与照射光波长相同的侧向散射光(SSC)15被反射至侧向散射光探测模块5,在此模块进行光电转换形成侧向散射电信号17,此电信号经后面的信号调理电路9和模拟-数字转换后形成数字信号20送入数据分析单元200;波长大于照射光的荧光(SFL)14信号透过二向色反射镜7进入荧光探测模块6,在这里经过光电转换(一般是光电倍增管)后形成电信号18,经过信号调理电路8放大和滤波后再进行模拟-数字转换,形成数字信号21进入数据分析单元200。
本发明提供的计算方法的第一步就是从传感器中获取上述信号19~21的一种或几种。以侧向散射光信号(SSC)和荧光信号(SFL)为例,本发明的步骤(1)就是从传感器的中获取一个SSC脉冲序列和一个SFL脉冲序列。
步骤(2):在数据上去除背景噪声。
背景噪声为溶血后的红细胞碎片以及其他噪声,这部分粒子信号的前向散射光FSC、侧向散射光SSC以及荧光SFL都很小。如果用这三组一维信号的其中任意两组生成一个二维散点图的话,背景噪声所表示的区域一定在左下角,如图5所示。去除这部分无效数据的办法是在各个一维数据上设置一个固定的阈值,如图5中的SSC=th_ssc和SFL=th_sfl,当信号小于这个阈值的时候认为是无效的,将其从待分析的数据序列中删除,即:
背景噪声={SSC<th_ssc}∩{SFL<th_sfl}
图6显示了去除背景之后的数据特征。需要指出的是图5和图6只是为了说明去除噪声前后的示意图,实际上本发明的步骤(2)并不需要真正生成一个二维散点图,而只是在两个一维数据上进行与阈值比较的运算即可。
上述步骤以侧向散射光和荧光为例进行说明,实际系统如果有更多的信号,那么对背景噪声的消除也可通过在多个维度上设定阈值来实现。
步骤(3):根据数据生成直方图。
以侧向散射光(SSC)和荧光(SFL)为例来说明各个维度上的分布直方图。
SSC直方图的横坐标为本次测量中所有细胞可能存在的SSC值,范围从0到系统可探测到的最大值;直方图的纵坐标为这次测量中SSC等于这个值的细胞总数。如图7所示,在SSC直方图中坐标(x0,y0)表示在本次测量中SSC=x0的细胞总个数为y0,将SSC上各个值的细胞个数都统计出来就形成了图7所示的本次测量的SSC直方图。
SFL直方图的生成方式与SSC直方图相同。图8为图6所表示的数据生成的SFL直方图,图7为图6所表示的数据生成的SSC直方图,将这两个直方图与原始数据对应上,如图9所示,从中可以看出各个子类之间的分类边界出现在直方图的凹陷(波谷)处。因此,只要在直方图上找到波谷就可以得到各个子类的分界线,所以在图9中:
LYMPH={SSC<ssc_lym}∩{SFL>sfl_lym}
BASO={SSC<ssc_lym}∩{SFL<sfl_lym}
MONO={SSC>ssc_lym}∩{SFL>sfl_neut}
NEUT={SSC>ssc_lym}∩{SSC<ssc_neut}∩{SFL<sfl_neut}
EOS={SSC>ssc_neut}
作为本发明的一种改进方式,对分类边界的查找还可以在原始数据经过坐标变换得到的新的一维数据上生成直方图来进行。如图9所示的数据中,NEUT细胞和EOS细胞在SSC方向上稍有重叠,但是可以看到这两类细胞在y/x(斜率)方向上是有显著分界线的,如图10所示:NEUT细胞都在y/x=s_eos之上,而EOS细胞都在这个直线之下,因此y/x=s_eos就是这两类细胞的分类边界。s_eos的查找在y/x的直方图上进行,图11为在去除了LYMPH和BASO之后的y/x分布直方图,结合图10可以看到y/x比较大的那部分为MONO细胞,y/x比较小的那部分为EOS细胞,而处于中间的则为NEUT细胞,图10上的分类界线分别与图11上的波谷相对应,这时各个子类为:
LYMPH={SSC<ssc_lym}∩{SFL>sfl_lym}
BASO={SSC<ssc_lym}∩{SFL<sfl_lym}
MONO={SSC>ssc_lym}∩{y/x>s_neut}
NEUT={SSC>ssc_lym}∩{y/x<s_neut}∩{y/x>s_eos}
EOS={SSC>ssc_neut}∩{y/x<s_eos}
步骤(4):在各个直方图上查找各子类之间的分界线。
在步骤(3)中已经说明,各子类之间的分界线其实是与各直方图的波谷位置是对应的,只要在直方图上找到波谷的位置,即可得到各类之间的分类边界。
在直方图上判断波谷的原则是:波谷位置左右相邻的方向上连续两个点都是上升的。图12为图7在波谷处的放大显示,在SSC=i处,如果:
x(i+2)>x(i+1)>=x(i)并且x(i-2)>x(i-1)>=x(i)
则认为i处为波谷。采用连续两点都上升作为判断条件的目的是为了消除数据不连续或者数据有局部扰动的影响。
作为本发明的一种改进方式,在直方图上消除局部扰动(毛刺)的另一种方法是对直方图进行平滑滤波。如图13所示,左图为原始直方图,其上有很多毛刺,如果依然用如上所述的判断方法,这些毛刺的凹陷处就被误认为是波谷,在最高峰的左侧有A,B,C,D四个波谷。右图为进行了中值滤波后的直方图,从图中可以看到经过中值滤波之后消除了毛刺,只有A和B是真正的波谷,这两个波谷才是用来分类的分界线。所谓中值滤波就是考察以某点为中心左右各n个点(总共2n+1个点)的中间值作为这个点的取值,得到新的数据序列。中值滤波可以对数据起到平滑的效果。
作为本发明的一种改进方式,步骤(3)和步骤(4)可按照合适的顺序交替进行。也就是说在按照步骤(1)~(4)分出一部分子类后,在已分出来的这些类的数据上或者余下的数据上再画直方图去进一步细分,这样可以消除某些类对直方图的贡献,使分类边界更加显著。如在图9所示的散点图上,如果首先找到SSC=ssc_lym这个边界线将数据分成两个部分,那么在其左半部分LYMPH子类和BASO子类在荧光方向直方图上的波谷SFL=sfl_lym更加明显;在其右半部分数据中MONO子类和NEUT子类的荧光方向直方图上的波谷SFL=sfl_neut也更加显著。同样,作为一种改进方式,图10在画斜率的直方图时也事先去除了LYMPH子类和BASO子类之后进行的,这样可以使剩下的三类在斜率直方图上的分界线更加明显。
步骤(5):对各个子类内部的细胞数目进行统计,得出分类结果
五分类血液细胞分析仪的目的是将白细胞的五个子类的数目分别计数并统计其所占白细胞的比率,这个比率有一定的临床意义。在经过前面所述的4个步骤得到各类的分界线之后就可以按照步骤(3)所描述的方法将各个细胞分门别类,对出现在各个子类中的细胞个数进行累计,得到各类细胞的个数:NNEUT,NLYMPH,NMONO,NBASO,NEOS,白细胞的总数为:
NWBC=NNEUT+NLYMPH+NMONO+NBASO+NEOS
那么,各子类所占白细胞的百分比为:
LYMPH%=NLYMPH/NWBC
MONO%=NMONO/NWBC
NEUT%=NNEUT/NWBC
BASO%=NBASO/NWBC
EOS%=NEOS/NWBC
通过上述五个步骤就可以得到临床所需要的白细胞总数以及各个子类所占的百分比。与传统方法相比,本发明的优点之一是对每次样本测量都进行一次边界查找的运算,分类边界是基于样本数据特征的,而不是固定的,这样就可以克服用固定边界来识别某些特殊样本带来的误差。本发明的优点之二是对边界的查找都是在一维的直方图上进行,而现有的自动分类算法都是直接在二维或多维数据上进行,相比之下本发明的运算量和数据量都大幅减少,节约了CPU和存储器的开支,更加适合于小型化、低成本而快速的分析系统。