朱 炯,李康,徐亦飛
(明峰醫(yī)療系統(tǒng)股份有限公司,浙江 紹興 312000)
目前在使用的心臟掃描降低輻射劑量的方法主要是采用雙源CT,加快掃描轉(zhuǎn)速并使用前瞻式掃描來(lái)實(shí)現(xiàn)[1-4]。
采用單源CT 實(shí)現(xiàn)低劑量心臟掃描是加強(qiáng)單源CT使用范圍的途徑。而單源CT 普遍采用的是回顧式掃描方式,采用FPGA為核心的心臟掃描自動(dòng)管電流調(diào)制控制系統(tǒng)設(shè)計(jì),實(shí)時(shí)監(jiān)測(cè)外部輸入的心臟信號(hào),結(jié)合自動(dòng)管電流調(diào)節(jié)技術(shù),實(shí)現(xiàn)類前瞻式心臟掃描方法,在保持圖像質(zhì)量的前提下,降低輻射劑量,且可根據(jù)圖像重建范圍調(diào)整管電流自動(dòng)調(diào)節(jié)區(qū)域。
回顧式心臟掃描重建算法是一種在整個(gè)掃描期間持續(xù)曝光,但是在重建時(shí)只使用心臟舒張期對(duì)應(yīng)的一部分?jǐn)?shù)據(jù)的算法。相對(duì)于前瞻式掃描,回顧式掃描的優(yōu)點(diǎn)在于重建時(shí)可任意選擇不同的期相,增加了掃描成功率。其缺點(diǎn)在于,不論如何選擇期相,總有很大一部分?jǐn)?shù)據(jù)沒(méi)有用于重建。
心臟掃描自動(dòng)管電流調(diào)制算法可以控制管電流在用戶指定的時(shí)相附近進(jìn)行大電流曝光,保證圖像質(zhì)量,在其他位置則使用較小的電流,降低劑量。
算法實(shí)現(xiàn)時(shí)首先需要根據(jù)上一次R 波的位置預(yù)測(cè)下一個(gè)R 波的時(shí)間。假設(shè)病人的心跳是穩(wěn)定的,則有:
其中,TrCurr是最新一個(gè)R 波的時(shí)間戳,TrPrev是上一個(gè)R波的時(shí)間戳,TrNext是預(yù)測(cè)的下一個(gè)R 波的時(shí)間戳。
在得到了當(dāng)前R和下一個(gè)R 波的時(shí)間戳之后,加上用戶指定的重建時(shí)相,以及掃描使用的轉(zhuǎn)速等信息,可以計(jì)算重建窗口對(duì)應(yīng)的時(shí)間。如圖1 所示,以當(dāng)前R 波的時(shí)間戳為時(shí)間軸的0 點(diǎn),下一個(gè)R 波的時(shí)間戳記為trr。根據(jù)錐束CT 重建原理,需要至少180°加上扇角的投影數(shù)據(jù)。這些投影對(duì)應(yīng)的時(shí)間軸為t2到t3??紤]到管電流的上升和下降本身需要一定的時(shí)間,因此需要預(yù)留一小段時(shí)間。圖中t1到t2段為預(yù)留的管電流上升需要的時(shí)間,t3到t4為預(yù)留的管電流下降需要的時(shí)間。管電流本身的上升下降速度與X 射線球管、高壓等都有關(guān)系,需要通過(guò)測(cè)試得到。
圖1 一個(gè)心臟掃描過(guò)程mA(管電流)變化曲線
重建窗口時(shí)間軸信息。以當(dāng)前R 波時(shí)間戳為0,下一個(gè)R 波的時(shí)間戳為trr,被調(diào)制管電流開(kāi)始上升的時(shí)間點(diǎn)為t1,達(dá)到預(yù)期電流的截止時(shí)間為t2,預(yù)期電流的結(jié)束時(shí)間為t3,達(dá)到設(shè)定最小電流的截止時(shí)間為t4。
算法根據(jù)平板掃描的數(shù)據(jù)計(jì)算出需要掃描范圍內(nèi)每圈的mA(管電流)值,由于受到高壓控制器響應(yīng)速度的限制,每圈的mA 變化個(gè)數(shù)為K 個(gè)點(diǎn)。FPGA 讀取外部編碼信號(hào),計(jì)算DOM 的開(kāi)始點(diǎn)和結(jié)束點(diǎn),在此階段根據(jù)角度信息為RAM 的地址,讀取mA 值,將其發(fā)送給高壓發(fā)生器,從而實(shí)現(xiàn)自動(dòng)管電流調(diào)制。
FPGA 上實(shí)現(xiàn)心臟掃描自動(dòng)管電流調(diào)制控制主要包括數(shù)據(jù)傳輸、控制接口、心臟掃描控制、外部信號(hào)解碼和高壓控制接口5 部分[5-6]。系統(tǒng)整體原理架構(gòu)圖如圖2 所示。
圖2 系統(tǒng)整體原理架構(gòu)圖
心臟掃描過(guò)程mA 控制流程如圖3 所示。在心臟掃描過(guò)程前,將采集到的平面數(shù)據(jù)計(jì)算得到的不同位置不同角度的管電流變化表數(shù)據(jù)傳輸?shù)紽PGA 的RAM 進(jìn)行存儲(chǔ)[7-9],然后將需要圖像處理的心臟掃描范圍發(fā)送至FPGA 的控制寄存器;解碼模塊將滑環(huán)孔位信號(hào)和心臟信號(hào)分別解碼輸出,滑環(huán)孔位信息是用來(lái)計(jì)算讀取RAM 的地址,心臟信號(hào)用于計(jì)算前一個(gè)R 波間的間隔時(shí)間;心臟掃描控制模塊是整個(gè)控制的核心,其控制RAM 的讀控制結(jié)合控制寄存器信息來(lái)計(jì)算是否將讀取的管電流值發(fā)送給高壓發(fā)生器;高壓控制模塊接收到管電流數(shù)據(jù)后發(fā)送給高壓發(fā)生器,產(chǎn)生對(duì)應(yīng)的管電流進(jìn)行曝光。
圖3 心臟掃描過(guò)程mA 控制流程
利用Modelsim 仿真軟件[10-13]對(duì)上述功能模塊進(jìn)行仿真,激勵(lì)模塊首先向控制寄存器寫(xiě)入起止的時(shí)間比例,然后發(fā)送給RAM 模塊1 000 組管電流數(shù)據(jù),為了便于分析記mA 數(shù)據(jù)為1~1 000;在寫(xiě)完管電流表后,開(kāi)啟心臟掃描自動(dòng)管電流調(diào)制功能;激勵(lì)模塊每隔50 個(gè)clk 累加一個(gè)角度信號(hào),累加到1 000 個(gè)脈沖后復(fù)位;直到一圈1 000 個(gè)信號(hào)后清零;心臟R 波間隔50 000 個(gè)CLK 輸出一個(gè)R 波信號(hào)。從仿真結(jié)果看,在100 MHz 時(shí)鐘下功能模塊能夠正常工作[6]。
FPGA 讀取控制寄存器中DOM_ENA 信號(hào)來(lái)使能自動(dòng)管電流調(diào)節(jié)控制,當(dāng)高壓反饋管電壓穩(wěn)定信號(hào)HV_STABLE_ON 穩(wěn)定,則開(kāi)始進(jìn)行心臟掃描自動(dòng)管電流調(diào)制控制;FPGA 讀取R 波脈沖信號(hào),計(jì)算上個(gè)R 波的間隔時(shí)間從而預(yù)測(cè)出下個(gè)R 波來(lái)到后心臟掃描管電流自動(dòng)調(diào)節(jié)的起止時(shí)刻,此時(shí)間段由DOM_TIME 控制,當(dāng)DOM_TIME為低電平時(shí),采用標(biāo)定的低管電流進(jìn)行曝光,當(dāng)DOM_TIME為高電平時(shí),使用根據(jù)滑環(huán)角度位置計(jì)算RAM 地址RAM_ADDRESS 讀取的管電流值DOM_VALUE進(jìn)行曝光。仿真時(shí)序圖如圖4 所示。
圖4 仿真時(shí)序圖
硬件平臺(tái)主要分為外部輸入輸出接口和掃描控制模塊兩部分[14-15]。外部的控制指令和管電流表都通過(guò)SPI 協(xié)議傳輸,F(xiàn)PGA 內(nèi)置SPI 控制器。外部的滑環(huán)信號(hào)和心臟信號(hào)通過(guò)差分信號(hào)輸入到FPGA 板,F(xiàn)PGA 外部通過(guò)差分信號(hào)轉(zhuǎn)單端信號(hào)輸入到FPGA 芯片,最后掃描控制模塊根據(jù)控制信號(hào)將管電流值通過(guò)SPI 協(xié)議輸出到高壓發(fā)生器。FPGA 內(nèi)部RTL 視圖如圖5 所示。
圖5 FPGA 內(nèi)部RTL 視圖
FPGA 資源消耗如表1 所示,由表中可以看出,F(xiàn)PGA資源豐富,能夠滿足要求。
表1 FPGA 資源消耗
本實(shí)驗(yàn)基于CT 系統(tǒng)進(jìn)行測(cè)試。掃描時(shí)參數(shù)如表2所示。
表2 掃描參數(shù)
探測(cè)器數(shù)據(jù)會(huì)在每個(gè)采樣點(diǎn)的數(shù)據(jù)包前添加當(dāng)前時(shí)刻的mA、滑環(huán)角度信號(hào)和ECG 門(mén)控信號(hào)等信息,將mA和ECG 門(mén)控信號(hào)、mA和滑環(huán)角度繪制曲線。
mA和ECG 門(mén)控信號(hào)關(guān)系如圖6 所示,在ECG 門(mén)控跳變時(shí)刻到60%R 波時(shí)刻和70%R 波時(shí)刻到ECG 門(mén)控信號(hào)跳變,這些時(shí)刻不屬于重建需求采數(shù)階段,mA 維持一個(gè)低值10 mA;在60%R 波到70%R 波屬于重建范圍,此時(shí)mA 根據(jù)滑環(huán)角度來(lái)讀取存放在RAM 的mA 值,并輸出給高壓發(fā)生器。
圖6 mA和ECG 門(mén)控信號(hào)關(guān)系
mA和滑環(huán)角度關(guān)系如圖7 所示,滑環(huán)一圈為K 個(gè)點(diǎn),F(xiàn)PGA 計(jì)數(shù)器計(jì)到K 后清零,每計(jì)一圈,F(xiàn)PGA 內(nèi)部會(huì)把RAM 的地址增加一圈,從而能夠正確地從RAM 中讀取數(shù)據(jù)。
圖7 mA和滑環(huán)角度關(guān)系
將上位機(jī)預(yù)先計(jì)算的mA 與滑環(huán)角度曲線與實(shí)際曲線進(jìn)行對(duì)比,可以看出實(shí)際的mA 曲線與預(yù)期曲線基本一致。對(duì)比于沒(méi)有使用心臟掃描自動(dòng)管電流調(diào)制控制系統(tǒng),輻射劑量減低了24.32%。圖8為實(shí)際mA 曲線與預(yù)期mA 曲線對(duì)比。
圖8 實(shí)際mA 曲線與預(yù)期mA 曲線對(duì)比
根據(jù)實(shí)際與預(yù)期mA 曲線對(duì)比,基于FPGA 的心臟掃描自動(dòng)管電流調(diào)制控制系統(tǒng)可以較好地完成mA 的控制,利用此控制系統(tǒng),可以降低心臟掃描時(shí)無(wú)效的輻射劑量。
由于mA 由高壓PID 控制產(chǎn)生,在mA 變化較大的點(diǎn)PID 會(huì)產(chǎn)生過(guò)沖,故曲線會(huì)存在一些過(guò)沖。但對(duì)于整體掃描影響可忽略。