核素扫描机的数据采集与图像处理
2013-07-31王辅霞
王辅霞
摘要:核素扫描机是核医学中一种重要的诊断仪器,它采用微控制器控制扫描、数字计数,计算机程序控制图像处理、数据分析、报告单打印、数据库查询等先进技术,在临床上可用作人体甲状腺脏器的扫描显像。
关键词:核素扫描机;核医学;数据采集;图像处理
中图分类号:R445 文献标识码:A 文章编号:1009-2374(2013)17-0070-03
扫描机是现代医学上一项成功可靠的诊断仪器,特别是与微型计算机、微控制器的结合,更加显示出其优越的性能。核素扫描机的基本原理是利用放射性同位素示踪技术,用探测器探测γ射线,实现脏器的显影,即将放射性同位素标记在药物上并引入人体,然后通过探测器在体外扫描脏器部位,探测其产生的γ射线,并记录放射性药物在体内的分布情况,以形成扫描图像。由于脏器对药物的选择性吸收以及同一脏器中正常组织和病变组织吸收的差异性,医生就能根据扫描图像进行诊断或鉴别某些脏器的占位性病变和一些功能的变化。扫描机的开发和生产又为医院核医学科提供了一个重要的诊断仪器。
1 工作原理
核素扫描机由主机、微型计算机、彩色打印机和隔离电源组成。扫描机是一种核医学诊断仪器,它借助于γ射线扫描探测实现对脏器的显影。其基本工作原理是将放射性同位素标记在药物上并引入人体,然后通过对脏器的逐点扫描,记录放射性药物在人体内的分布情况。由于脏器对药物的选择性吸收以及同一脏器中正常组织与病变组织的吸收差异,临床医生可根据扫描图像诊断或鉴别某些脏器的占位性病变和一些功能的变化。扫描机自动化程度高,操作方便,性能优越。它由微型计算机控制,自动完成设定部位扫描、数据采集、图像处理、彩色报告单打印以及病人资料管理等。
扫描机扫描时采用“定步距计数”测量法,即在X方向设定X步距,当探头在此X步距内移动时进行计数为n,同时测量所需时间t,则此步距点的单位时间计数值为:
n/t (1)
式中:
n——计数
t——时间
这样,对电机的转速要求就降低了,同时也保证了整个图像的像素点均匀度。
每一测试点的位置,以X步距中间点的坐标(X,Y)来标定,即:
X=(X1+X2)/2 (2)
式中:
X——步距
X1——每点X步距起始点X坐标
X2——每点X步距结束点X坐标
这样就消除了双向扫描带来的回差。
扫描区域大小及扫描区域位置可自由设定,扫描区域一般为长方形(X方向扫描区域∶Y方向扫描区域=1∶1.2)。
2 数据采集过程与方法
使用两片74LS161级连成为16位的计数器,扫描机的最大计数率为65535cps。可能有人要问,会不会在扫描时出现计数率值溢出的情况?回答是否定的。因为在通常情况下,临床上甲状腺扫描的病人服药量仅为100~200μCi,最大也不会超过250μCi,而我们通过用点源做试验时发现,活度为0.8mCi左右的点源放在准直器焦点处的最大计数率也不会超过60000cps,所以即便病人的甲状腺吸碘率为100%,那么在扫描时也不会有超过65535cps计数率的现象发生。
核素扫描机的数据采集是通过上位机与下位机的串行通讯来实现的。下位机是51系列的单片机,进行串行通讯时,上位机与下位机通讯模式的设置一定要一致,如果设置不一致两者将不能通讯。在核素扫描机中,上位机与下位机的设置为:波特率为9600,8位数据位,1位停止位,无奇偶校验位。上位机与下位机接收数据均在串口中断中进行。下位机本身不能控制核素扫描机,而是通过上位机发送控制指令来实现控制的。如果上位机发送一条指令让核素扫描机开始扫描,下位机接收到指令后立即响应,便控制核素扫描机开始扫描了。
通过“定步距计数”测量法来读取计数,此时单片机记录下测量一点所需的时间、实际X值、实际Y值及计数值,将它们放入单片机所开辟的缓冲区中(这个缓冲区大小是一定的,最大可以存贮100个点的数据),等待上位机向它发出读取指令。上位机与下位机是通过RS232来进行串口通讯的。它们之间有约定好的通讯协议,当下位机接收到读取指令后,下位机便通过串口向上位机发送扫描数据,当上位机接收完成一组数据后紧接着向下位机发送下一个读取指令,这样就能保证下位机所采集的数据能够及时地传送到上位机,既不会覆盖缓冲区中的数据,也节省了时间。
上位机将接收来的计数按照X与Y的位置模拟显示在坐标图上,用灰度图的形式进行显示,直至整个扫描结束。上位机将接收到的所有原始数据存放在数据库中,这些数据不能被修改,也不能被删除。当扫描工作全部结束后,便可以对该幅图像进行处理了。
3 位图图像的形成与降噪处理
图像处理包括三个部分:第一是生成24位真彩色图像并进行降噪处理;第二是扣除仪器本底,以得到真正的扫描图像;第三是可以在图像中任意标注文字与病变区的位置,可以改变图像的对比度,以便对图像进行分析。
位图文件由三部分组成:文件头+位图信息+位图像素数据。位图文件头主要用于识别位图文件。以下是位图文件头结构的定义:
tagBITMAPFILEHEADER=packed record
bfType:Word;
bfSize:DWORD;
bfReserved1:Word;
bfReserved2:Word;
bfOffBits:DWORD;
end;
其中的bfType值应该是“BM”(0x4d42),标志该文件是位图文件。bfSize的值是位图文件的大小,对于24位真彩色,如果图像的宽度为W,高度为H,bfSize就等于W×H×3+54。
位图信息头包含了单个像素所用字节数以及描述颜色的格式,此外还包括位图的宽度、高度、目标设备的位平面数、图像的压缩格式。以下是位图信息头结构的定义:
tagBITMAPINFOHEADER=packed record
biSize:DWORD;
biWidth:Longint;
biHeight:Longint;
biPlanes:Word;
biBitCount:Word;
biCompression:DWORD;
biSizeImage:DWORD;
biXPelsPerMeter:Longint;
biYPelsPerMeter:Longint;
biClrUsed:DWORD;
biClrImportant:DWORD;
end;
表1是对结构体当中各个成员的说明。
对于24位真彩色图,位图像素数据中每3个字节表示一个像素,每个字节表示一个RGB分量。从扫描数据中找出最大计数值与最小计数值,按照一定的规律将各点的计数值换算成各点的颜色值,然后按照位图图像的数据格式将它们写入位图文件。
在软件中可以设置生成的位图图像是原始图像还是优化图像,如果生成原始图像则在生成位图图像时不进行平滑与降噪处理,如果选择生成优化图像,则在生成位图图像的过程中,用到了降噪处理中一种方法是中值滤波。
中值滤波是一种常用的非线性平滑滤波器,其基本原理是把数字图像或数字序列中一点的值用该点的一个领域中各点值的中值代换。设f(x,y)表示数字图像像素点的灰度值,滤波窗口为A的中值滤波器可以定义为:
f^(x,y)=MED{f(x,y)},(x,y)∈A
其主要功能是让周围像素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点,所以中值滤波对于滤除图像的椒盐噪声非常有效。中值滤波器可以做到既去除噪声又能保护图像的边缘,从而获得较满意的复原效果,而且,在实际运算过程中不需要图像的统计特性,这也带来不少方便,但对一些细节多,特别是点、线、尖顶细节较多的图像不宜采用中值滤波的方法。如果希望强调中间点或距中间点最近的几个点的作用,则可采用加权中值滤波。其基本原理是改变窗口中变量的个数,可以使一个以上的变量等于同一点的值,然后对扩张后的数字集求中值。这种方法比简单中值滤波性能更好地从受噪声污染的图像中恢复出阶跃边缘以及其他细节。另有一种可以处理具有更大概率的冲激噪声的是自适应中值滤波器,在进行滤波处理时,能依赖一定条件而改变领域的大小。其优点是在平滑非冲激噪声时可以保存细节,所以既能除去“椒盐”噪声,平滑其他非冲激噪声,还能减少诸如物体边界细化或粗化等失真。
4 图像的后处理
当图像生成并显示在窗体中后,还需要一些功能来对图像进行分析。在图像上进行标注、测量、画矩形、画多边形等是比较适用方法。当需要在脏器的某一位置注明病变性质时,可以利用标注在图像上描述。测量包括画直线、箭头,并依据图像的实际大小计算出直线与箭头的长度,以便操作者对图像进行分析。画矩形与画多边形是对计算脏器的病变面积而设计的,由于病变区形状不规则,画多边形是常用的方法,当你画多边形把病变区的大小确定之后,就可以使用计算多边形的面积按钮来计算病变区的面积了。
图像是以1∶1方式显示的,根据需要可对图像的显示比例进行调整。若需要对脏器的某一部位进行放大分析时,可以使用局部放大功能。图像颜色的分配是图像分辨率的关键。如果图像的颜色搭配不合理,有些病变部位将不容易被识别。针对这一情况,系统提供了十种颜色方案,并且每一种颜色方案都可以取反,都可以通过更改R、G、B的值来得到新的颜色方案,最终使图像具有较高的分辨率,方便医生的诊断。
5 结语
核素扫描机已经在全国各地很多医院使用,收效甚好。为了使用户更加方便操作我们的核素扫描机,我们不断收集用户所提出的宝贵意见,取其精华,将它们应用到我们的核素扫描机中去。
参考文献
[1] 贾永红.数字图象处理[M].武汉:武汉大学出版社,2003.