一种基于流式细胞术的数据集中处理方法与流程

文档序号:11515647阅读:588来源:国知局
一种基于流式细胞术的数据集中处理方法与流程

本发明涉及流式细胞检测技术,尤其是一种流式细胞检测装置中的数据采集、处理方法。



背景技术:

现有的流式细胞检测装置中数据处理工作都是在检测前端完成,检测前端处理完数据后仅将结果发送到计算机端(pc端),计算机端主要完成对检测结果的显示。这样的做法具有一定的好处,那就是数据传输量小。但是其缺点是每个检测前端至少需要一个智能处理芯片,成本提高了很多。

随着生活水平的提高,人们对健康保健越来越重视,对家庭用、社区医院用的快速检测仪器需求越来越大。而这些主体不比大型医院,能够负担昂贵的医疗检测仪器,因此低成本、高效率的医疗检测仪器的市场需求应运而生。而现有的医疗检测仪器尚不能满足这一市场需求。



技术实现要素:

本发明所要解决的技术问题是:针对上述存在的问题,提供一种低成本、高效率的基于流式细胞术的数据集中处理方法。

本发明采用的技术方案如下,包括:

数据采集步骤,接收光电传感器输出的数据;

数据发送步骤,将光电传感器输出的数据传输到计算机端;

数据接收步骤,在计算机端采用双线程接收所述数据;

数据处理步骤,在计算机端对所述数据进行处理后显示;

其中,数据接收步骤中,计算机采用第一线程将传感器输出的数据存储到网络数据缓冲区中,同时采用第二线程将网络数据缓冲区中的数据拷贝到存储缓冲区中,并进一步把存储缓冲区中的数据写入到硬盘中存储。

进一步,数据处理步骤包括将处理后的数据以散点图的形式显示,同时在散点图像上绘制出“门”。

进一步,所述数据处理步骤还包括统计出位于“门”内的数据点个数。

进一步,所述数据处理步骤还包括判断某个数据点是否位于“门”内的步骤:

a.以该数据点a为起点沿x轴或y轴做射线,得到一向量ae,e为射线上任意一点;

b.取“门”上两点,令为b点、c点,得到向量bc;通过向量叉积算法判断数据点a是否在bc上,若在则判定数据点a在“门”内;若不在,则进一步执行以下步骤;

c.判断向量ae是否与向量bc平行,若平行则执行步骤d;若不平行则利用向量叉积算法判断向量ae与向量bc是否相交且不交于下端点c,若是则交点数m加1,之后执行步骤d;

d.判断点c是否为“门”上最后一点,若是则判断交点数m是否为奇数,若不是奇数则认为数据点a不在“门”内;若是奇数则认为数据点a在“门”内;

e.若点c不是“门”上最后一点,则取“门”上与线段bc向量相邻的下一线段,并得到新的线段bc,进而得到新的向量bc;

重复执行步骤a~e,直到遍历完“门”上的全部线段。

进一步,还包括数据包导入步骤,接收fcs3.0格式封装的数据包,并将数据包按照fcs3.0标准协议进行解析,之后将解析出来的数据送入数据处理步骤。

进一步,还包括数据包导出步骤,读取存储缓冲区中的数据,将其封装成fcs3.0格式的数据包之后导出。

进一步,数据处理步骤包括采用基线算法、峰值检测算法或者直方图算法对数据进行处理,并对处理后的数据进行荧光补偿后显示。

进一步,数据处理步骤包括采用矢量图的形式显示处理结果。

进一步,数据采集步骤还包括:将光电传感器输出的数据进行ad转换。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1.本发明将传感器采集到的数据直接上传到计算机端,大大降低了检测仪器的硬件成本,同时使用双线程技术接收数据,有效解决了集中处理时数据量太大进而出现丢包的情况。

2.本发明在显示图像上,根据用户需要预先绘制出“门”,用户无需再手动绘制,还提供了一种统计“门”内数据点的算法,可将统计结果直接呈现,大大提高了用户体验度。

3.本发明在数据显示之前采用荧光补偿技术,将不同的波段信号进行分离,大大提高了检测精度。

4.结果采用矢量图展示,可以自如放缩,将细节展示清晰。

5.本发明还可以接受国外医疗检测仪器输出的fcs3.0格式的数据包,即本发明可直接作为检测端,同时本发明也可以将自身检测到的数据导出为fcs3.0格式的数据包,兼容性好。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为本发明一实施例流程图。

图2为本发明中双线程接收数据的流程图。

图3~5为本发明在结果图像中添加不同的“门”之后的效果图。

图6为判断数据点是否在“门”内的流程图。

图7为本发明中导入fcs3.0格式数据包的流程图。

图8为本发明中导出fcs3.0格式数据包的流程图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

第一实施例

如图1所示,本实施例包括:

数据采集步骤,接收光电传感器输出的数据;如果光电传感器输出的是模拟信号则需要将信号转换为数字信号后再发送。

数据发送步骤,将光电传感器输出的数据传输到计算机端。

数据接收步骤,在计算机端采用双线程接收所述数据。

数据处理步骤,在计算机端对所述数据进行处理后显示。数据处理算法包括基线算法、峰值检测算法或者直方图算法,这些算法都在现有的流式细胞检测装置中使用,因此不再详述其具体过程。

因为集中处理这种方式面临的最大问题便是数据量很大,如果计算机端的接收速度跟不上的时候则会出现丢包现象,为了解决这一问题,在数据接收步骤中,计算机采用第一线程将传感器输出的数据存储到网络数据缓冲区中,同时采用第二线程将网络数据缓冲区中的数据拷贝到存储缓冲区中,并进一步把存储缓冲区中的原始数据写入到硬盘中存储。

数据处理步骤中,从存储缓冲区中读取数据进行处理。

参见图2,首先定义两个队列,即网络数据缓冲区和存储缓冲区。优选的,队列的数据分配采用内存池技术。然后建立两个线程,建立socket套接字连接,一个用于接收数据,将数据存入网络数据缓冲区中,另一个用于存储数据,将网络数据缓冲区的数据拷贝到存储缓冲区中,再将数据写入硬盘保存。

第二实施例

在传统的流式细胞检测装置中,当用散点图呈现检测结果时,用户为了便于观察,往往需要手动绘制一个“门”,这一术语是流式细胞术的常规术语,实际上其为一个框,如图3、4、5所示,具体形状可以是矩形框、多边形框或不规则框,其位置及大小可以根据用户习惯设定。

本实施例的数据处理步骤,在第一实施例的基础上进一步包括将处理后的数据以散点图的形式显示,同时在散点图像上绘制出“门”。

进一步,所述数据处理步骤还包括统计出位于“门”内的数据点个数。以便工作人员能迅速检测到“门”内的数据点的个数。

要统计“门”内的数据点数,首先就需要对某个数据点是否处于“门”内进行判断。本实施例提出以下算法进行判断,参见图6:

a.以该数据点a为起点沿x轴或y轴做射线,得到一向量ae,e为射线上任意一点。

b.取“门”这一封闭曲线上的两点,令为b点、c点,得到向量bc;通过向量叉积算法判断数据点a是否在bc上,若在则判定数据点a在“门”内;若不在,则进一步执行以下步骤。

c.判断向量ae是否与向量bc平行,若平行则执行步骤d;若不平行则利用向量叉积算法判断向量ae与向量bc是否相交且不交于下端点c,若是则交点数m加1,之后执行步骤d。

d.判断点c是否为“门”上最后一点,若是则判断交点数m是否为奇数,若不是奇数则认为数据点a不在“门”内;若是奇数则认为数据点a在“门”内。

e.若点c不是“门”上最后一点,则取“门”上与线段bc相邻的下一线段,并得到新的线段bc,进而得到新的向量bc;具体的,在所述封闭曲线上按照顺时针或逆时针方向取相邻于线段bc的下一线段,以矩形“门”为例,其有四个顶点m、n、p、q。在判断数据点是否在“门”内时,依次取线段mn、np、pq、qm作为bc进行判断,当点c再次取到点m时,则认为c已经取到了“门”上最后一点。

重复执行步骤a~e,直到遍历完“门”上的全部线段。

第三实施例

考虑到目前市场上主流的流式细胞检测仪器的检测前端都是输出fcs3.0格式的数据包,本实施例还支持导入导出fcs3.0格式的数据包。如图7、8。

其中数据包导入步骤包括,接收fcs3.0格式封装的数据包,并将数据包按照fcs3.0标准协议进行解析,之后将解析出来的数据送入数据处理步骤。

数据包导出步骤,读取存储缓冲区或硬盘中的数据,将其封装成fcs3.0格式的数据包之后导出。

在其他实施例中,

光电传感器输出的信号一般来说包括三个荧光通道或者说三个不同的波段,如中心波长分为525nm、575nm及680nm的三个波段,其中525nm波段与575nm波段常常会有相互交叠的一个范围,因此在完成对数据的基线检测或峰值检测等处理后还需要对数据进行荧光补偿,将这两个波段分隔开来,荧光补偿为现有技术,在此不再赘述。

优选的,数据处理步骤包括采用矢量图的形式显示处理结果,用户可通过鼠标滚轮键进行结果图像的缩放显示。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1