朱 炯,李康,徐亦飞
(明峰医疗系统股份有限公司,浙江 绍兴 312000)
目前在使用的心脏扫描降低辐射剂量的方法主要是采用双源CT,加快扫描转速并使用前瞻式扫描来实现[1-4]。
采用单源CT 实现低剂量心脏扫描是加强单源CT使用范围的途径。而单源CT 普遍采用的是回顾式扫描方式,采用FPGA为核心的心脏扫描自动管电流调制控制系统设计,实时监测外部输入的心脏信号,结合自动管电流调节技术,实现类前瞻式心脏扫描方法,在保持图像质量的前提下,降低辐射剂量,且可根据图像重建范围调整管电流自动调节区域。
回顾式心脏扫描重建算法是一种在整个扫描期间持续曝光,但是在重建时只使用心脏舒张期对应的一部分数据的算法。相对于前瞻式扫描,回顾式扫描的优点在于重建时可任意选择不同的期相,增加了扫描成功率。其缺点在于,不论如何选择期相,总有很大一部分数据没有用于重建。
心脏扫描自动管电流调制算法可以控制管电流在用户指定的时相附近进行大电流曝光,保证图像质量,在其他位置则使用较小的电流,降低剂量。
算法实现时首先需要根据上一次R 波的位置预测下一个R 波的时间。假设病人的心跳是稳定的,则有:
其中,TrCurr是最新一个R 波的时间戳,TrPrev是上一个R波的时间戳,TrNext是预测的下一个R 波的时间戳。
在得到了当前R和下一个R 波的时间戳之后,加上用户指定的重建时相,以及扫描使用的转速等信息,可以计算重建窗口对应的时间。如图1 所示,以当前R 波的时间戳为时间轴的0 点,下一个R 波的时间戳记为trr。根据锥束CT 重建原理,需要至少180°加上扇角的投影数据。这些投影对应的时间轴为t2到t3。考虑到管电流的上升和下降本身需要一定的时间,因此需要预留一小段时间。图中t1到t2段为预留的管电流上升需要的时间,t3到t4为预留的管电流下降需要的时间。管电流本身的上升下降速度与X 射线球管、高压等都有关系,需要通过测试得到。
图1 一个心脏扫描过程mA(管电流)变化曲线
重建窗口时间轴信息。以当前R 波时间戳为0,下一个R 波的时间戳为trr,被调制管电流开始上升的时间点为t1,达到预期电流的截止时间为t2,预期电流的结束时间为t3,达到设定最小电流的截止时间为t4。
算法根据平板扫描的数据计算出需要扫描范围内每圈的mA(管电流)值,由于受到高压控制器响应速度的限制,每圈的mA 变化个数为K 个点。FPGA 读取外部编码信号,计算DOM 的开始点和结束点,在此阶段根据角度信息为RAM 的地址,读取mA 值,将其发送给高压发生器,从而实现自动管电流调制。
FPGA 上实现心脏扫描自动管电流调制控制主要包括数据传输、控制接口、心脏扫描控制、外部信号解码和高压控制接口5 部分[5-6]。系统整体原理架构图如图2 所示。
图2 系统整体原理架构图
心脏扫描过程mA 控制流程如图3 所示。在心脏扫描过程前,将采集到的平面数据计算得到的不同位置不同角度的管电流变化表数据传输到FPGA 的RAM 进行存储[7-9],然后将需要图像处理的心脏扫描范围发送至FPGA 的控制寄存器;解码模块将滑环孔位信号和心脏信号分别解码输出,滑环孔位信息是用来计算读取RAM 的地址,心脏信号用于计算前一个R 波间的间隔时间;心脏扫描控制模块是整个控制的核心,其控制RAM 的读控制结合控制寄存器信息来计算是否将读取的管电流值发送给高压发生器;高压控制模块接收到管电流数据后发送给高压发生器,产生对应的管电流进行曝光。
图3 心脏扫描过程mA 控制流程
利用Modelsim 仿真软件[10-13]对上述功能模块进行仿真,激励模块首先向控制寄存器写入起止的时间比例,然后发送给RAM 模块1 000 组管电流数据,为了便于分析记mA 数据为1~1 000;在写完管电流表后,开启心脏扫描自动管电流调制功能;激励模块每隔50 个clk 累加一个角度信号,累加到1 000 个脉冲后复位;直到一圈1 000 个信号后清零;心脏R 波间隔50 000 个CLK 输出一个R 波信号。从仿真结果看,在100 MHz 时钟下功能模块能够正常工作[6]。
FPGA 读取控制寄存器中DOM_ENA 信号来使能自动管电流调节控制,当高压反馈管电压稳定信号HV_STABLE_ON 稳定,则开始进行心脏扫描自动管电流调制控制;FPGA 读取R 波脉冲信号,计算上个R 波的间隔时间从而预测出下个R 波来到后心脏扫描管电流自动调节的起止时刻,此时间段由DOM_TIME 控制,当DOM_TIME为低电平时,采用标定的低管电流进行曝光,当DOM_TIME为高电平时,使用根据滑环角度位置计算RAM 地址RAM_ADDRESS 读取的管电流值DOM_VALUE进行曝光。仿真时序图如图4 所示。
图4 仿真时序图
硬件平台主要分为外部输入输出接口和扫描控制模块两部分[14-15]。外部的控制指令和管电流表都通过SPI 协议传输,FPGA 内置SPI 控制器。外部的滑环信号和心脏信号通过差分信号输入到FPGA 板,FPGA 外部通过差分信号转单端信号输入到FPGA 芯片,最后扫描控制模块根据控制信号将管电流值通过SPI 协议输出到高压发生器。FPGA 内部RTL 视图如图5 所示。
图5 FPGA 内部RTL 视图
FPGA 资源消耗如表1 所示,由表中可以看出,FPGA资源丰富,能够满足要求。
表1 FPGA 资源消耗
本实验基于CT 系统进行测试。扫描时参数如表2所示。
表2 扫描参数
探测器数据会在每个采样点的数据包前添加当前时刻的mA、滑环角度信号和ECG 门控信号等信息,将mA和ECG 门控信号、mA和滑环角度绘制曲线。
mA和ECG 门控信号关系如图6 所示,在ECG 门控跳变时刻到60%R 波时刻和70%R 波时刻到ECG 门控信号跳变,这些时刻不属于重建需求采数阶段,mA 维持一个低值10 mA;在60%R 波到70%R 波属于重建范围,此时mA 根据滑环角度来读取存放在RAM 的mA 值,并输出给高压发生器。
图6 mA和ECG 门控信号关系
mA和滑环角度关系如图7 所示,滑环一圈为K 个点,FPGA 计数器计到K 后清零,每计一圈,FPGA 内部会把RAM 的地址增加一圈,从而能够正确地从RAM 中读取数据。
图7 mA和滑环角度关系
将上位机预先计算的mA 与滑环角度曲线与实际曲线进行对比,可以看出实际的mA 曲线与预期曲线基本一致。对比于没有使用心脏扫描自动管电流调制控制系统,辐射剂量减低了24.32%。图8为实际mA 曲线与预期mA 曲线对比。
图8 实际mA 曲线与预期mA 曲线对比
根据实际与预期mA 曲线对比,基于FPGA 的心脏扫描自动管电流调制控制系统可以较好地完成mA 的控制,利用此控制系统,可以降低心脏扫描时无效的辐射剂量。
由于mA 由高压PID 控制产生,在mA 变化较大的点PID 会产生过冲,故曲线会存在一些过冲。但对于整体扫描影响可忽略。