胡勝文,郭瑞鋒,王澤輝,劉佳,麥燕華,梁玉新
廣東醫(yī)科大學(xué)附屬醫(yī)院放療機(jī)房 (廣東湛江 524001)
誤差是影響放射治療質(zhì)量的重要因素。放射治療的常見誤差包括擺位誤差和系統(tǒng)誤差,兩者均會(huì)影響靶區(qū)邊緣劑量的準(zhǔn)確性,導(dǎo)致產(chǎn)生劑量偏差,進(jìn)而導(dǎo)致照射野內(nèi)復(fù)發(fā)率的升高[1]。臨床關(guān)于擺位誤差[2-11]及其對(duì)照射劑量的影響[12-14]的討論較多,而有關(guān)系統(tǒng)誤差的報(bào)道較為罕見。本研究從醫(yī)科達(dá)Precise 醫(yī)用直線加速器的服務(wù)器PreciseNet 中提取日志文件,計(jì)算并分析系統(tǒng)誤差,進(jìn)而了解該設(shè)備各個(gè)運(yùn)行參數(shù)的系統(tǒng)誤差及分布規(guī)律,并將這些數(shù)據(jù)及分析結(jié)果存儲(chǔ)到我科室自主研發(fā)的放射治療信息系統(tǒng)中[15]。
于廣東醫(yī)科大學(xué)附屬醫(yī)院2018年2月6日至2021年1月13日存儲(chǔ)于PreciseNet 服務(wù)器中的Precise 醫(yī)用直線加速器運(yùn)行記錄中隨機(jī)選取5 d(2018年2月6日、2018年6月14日、2018年9月20日、2020年2月1日,2021年1月13日)的數(shù)據(jù)。系統(tǒng)誤差的分析項(xiàng)目包括臂架角度、小機(jī)頭角度、鎢門(一共4個(gè),左右方向?yàn)閄1、X2鎢門,上下方向?yàn)閅2、Y1鎢門)位置、輸出跳數(shù)(一共2個(gè),跳數(shù)MU1和備用跳數(shù)MU2)和多葉光柵[共40對(duì)、80片,X1(左)方向和X2(右)方向各40片]葉片位置及其隨臂架角度的變化規(guī)律。
1.2.1 數(shù)據(jù)準(zhǔn)備
在PreciseNet服務(wù)器中,加速器運(yùn)行的數(shù)據(jù)存放在數(shù)據(jù)表LINAC_SNAPSHOT中,表中的字段分別為L(zhǎng)INAC_ID、LINAC_RECORD_ID、SNAPSHOT_SEQID、SNAPSHOT_RECEIVE_TIME、SNAPSHOT_DATA,其中SNAPSHOT_DATA字段的內(nèi)容為設(shè)備的運(yùn)行記錄。每天有多位患者進(jìn)行治療,每位患者的放射治療計(jì)劃包含多個(gè)照射野,每個(gè)照射野包含若干個(gè)子野,每個(gè)子野治療后在LINAC_SNAPSHOT表中產(chǎn)生一個(gè)記錄。例如,加速器臂架角度記錄如下:
Presc_Gantry Angle:Gantry Angle:270
Set_Gantry Angle:Gantry Angle: Run_Gantry Angle:Gantry Angle:270.2
即在處方中設(shè)置的臂架角度為270°,而治療過(guò)程中的實(shí)際臂架角度為270.2°,其他運(yùn)行參數(shù)也可以用類似的方法獲得。
1.2.2 數(shù)據(jù)獲取
使用芬蘭Digia 公司的跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架Qt5.7.0進(jìn)行程序開發(fā),其中QtSql 模塊支持對(duì)數(shù)據(jù)庫(kù)的讀取。在PreciseNet 服務(wù)器的主機(jī)(Windows Server 2000)上設(shè)置開放數(shù)據(jù)庫(kù)連接(open database connectivity,ODBC)連接到本地的服務(wù)器,在同一局域網(wǎng)中的Windows XP 電腦上,使用Qt 編寫連接服務(wù)器端ODBC 的代碼:
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
QString dns=QString::fromLocal8Bit("DRIVER={SQL SERVER};SERVER= 10.2.0. 150; DATABASE=RTD4");
然后,使用查詢語(yǔ)句“SELECT * FROM LINAC_SNAPSHOT”即可獲取加速器的運(yùn)行記錄,并把每一條記錄中SNAPSHOT_DATA 的內(nèi)容單獨(dú)保存為一個(gè)獨(dú)立的文本文件。
1.2.3 數(shù)據(jù)分析
使用Python 3.8編程語(yǔ)言讀取存放了日志記錄的文本文件,提取臂架角度、小機(jī)頭角度、鎢門位置、輸出跳數(shù)和多葉光柵位置的放射治療計(jì)劃設(shè)置數(shù)據(jù)和實(shí)際運(yùn)行數(shù)據(jù);使用Python 的NumPy、SciPy 和MatPlotlib 模塊進(jìn)行誤差分析、非線性曲線擬合和數(shù)據(jù)顯示,當(dāng)系統(tǒng)誤差呈現(xiàn)正態(tài)分布時(shí),擬合為正態(tài)分布函數(shù)。
1.2.4 數(shù)據(jù)存儲(chǔ)
將每天的系統(tǒng)誤差數(shù)據(jù)及其分析結(jié)果導(dǎo)入我科室自主研發(fā)的放射治療信息系統(tǒng)[15]。
圖1為跨度4年中隨機(jī)選取5 d 的臂架角度、小機(jī)頭角度、鎢門位置、輸出跳數(shù)和多葉光柵位置的系統(tǒng)誤差的平均值,表1為各個(gè)項(xiàng)目系統(tǒng)誤差的范圍、均值及標(biāo)準(zhǔn)差。由圖1和表1可知,臂架角度、小機(jī)頭角度及跳數(shù)MU1的系統(tǒng)誤差均值均在0值或0值附近,而后備跳數(shù)MU2在處方設(shè)置時(shí)比跳數(shù)MU1多2 MU,且實(shí)際運(yùn)行記錄為MU1的值,故MU2的系統(tǒng)誤差均值在-2附近;鎢門位置及多葉光柵位置的系統(tǒng)誤差均不在0值附近,且X1、Y1鎢門的均值為負(fù)值,X2、Y2鎢門的均值為正值,加之由于鎢門及多葉光柵的葉片是成對(duì)出現(xiàn)的,它們的系統(tǒng)誤差呈現(xiàn)距離相近、方向相反的現(xiàn)象;一般而言,第1、40對(duì)葉片在照射野外,第20、21對(duì)葉片處于射野內(nèi),由第1、20、21、40對(duì)葉片的系統(tǒng)誤差對(duì)比結(jié)果可知,射野內(nèi)及射野外葉片的系統(tǒng)誤差并無(wú)明顯差別。
圖1 臂架角度、小機(jī)頭角度、鎢門位置、輸出跳數(shù)和多葉光柵位置的系統(tǒng)誤差
表1 系統(tǒng)誤差的范圍、均值及標(biāo)準(zhǔn)差
選取2021年1月13日的數(shù)據(jù)進(jìn)行分析,各項(xiàng)目的系統(tǒng)誤差隨臂架角度的變化趨勢(shì)及頻率圖見圖2~6。由圖可見,除了多葉光柵的系統(tǒng)誤差呈正態(tài)分布之外,小機(jī)頭角度、Y 方向鎢門、輸出跳數(shù)均無(wú)明顯分布特征,X 方向鎢門系統(tǒng)誤差與臂架角度呈現(xiàn)正弦變化特征。
圖2 臂架角度和小機(jī)頭角度的系統(tǒng)誤差隨臂架角度變化分布圖及頻率直方圖
圖3 X1(左)與X2(右)鎢門的系統(tǒng)誤差隨臂架角度變化分布圖及頻率直方圖
圖4 Y1(下)與Y2(上)鎢門的系統(tǒng)誤差隨臂架角度變化分布圖及頻率直方圖
圖5 跳數(shù)(MU1)和備用跳數(shù)(MU2)系統(tǒng)誤差隨臂架角度變化分布圖及頻率直方圖
圖6 多葉光柵系統(tǒng)系統(tǒng)誤差隨臂架角度變化分布圖及頻率直方圖
由圖3可以看出,X 方向的鎢門X1、X2的系統(tǒng)誤差隨臂架角度的變化呈現(xiàn)出正弦三角函數(shù)的特征,考慮擬合模型為:
其中k、A、ω、φ分別為偏移、振幅、角速度、初相,均為需要通過(guò)擬合確定的參數(shù)。采用最小二乘法并使用模型(1)對(duì)圖3中的數(shù)據(jù)進(jìn)行擬合,鎢門X1的擬合結(jié)果為:
鎢門X2的擬合結(jié)果為:
由上述擬合結(jié)果可知,兩個(gè)正弦曲線的振幅相同,角速度均接近于1,偏移距離相近,而方向相反。擬合結(jié)果見圖7。
圖7 X1 和X2 鎢門的系統(tǒng)誤差擬合為正弦曲線的結(jié)果
本研究通過(guò)編程的方法讀取Precise 醫(yī)用直線加速器的運(yùn)行記錄,獲取每天的運(yùn)行數(shù)據(jù),進(jìn)而了解設(shè)備的系統(tǒng)誤差,此方法簡(jiǎn)單快捷,可快速得到分析結(jié)果。
通過(guò)數(shù)據(jù)分析發(fā)現(xiàn),臂架角度、小機(jī)頭角度、鎢門及輸出跳數(shù)無(wú)明顯的分布特征,多葉光柵的系統(tǒng)誤差均值服從正態(tài)分布但不在0值附近,且X1、X2方向的多葉光柵的系統(tǒng)誤差均值是0.5 mm,且呈現(xiàn)偏差距離相近、方向相反的特性。X1、X2鎢門的系統(tǒng)誤差均值隨臂架角度呈現(xiàn)正弦函數(shù)變化的特點(diǎn),考慮為在設(shè)備使用間歇期,X1、X2鎢門受地球重力作用大小不同的緣故。
在放射治療中,影響患者治療的劑量誤差可以分為系統(tǒng)誤差和隨機(jī)誤差。在隨機(jī)誤差中,學(xué)者們更多提及的是擺位誤差,而很少提及醫(yī)用直線加速器本身的系統(tǒng)誤差,可能的原因是擺位誤差對(duì)放射治療的影響比較顯著且比較容易獲得。Precise 醫(yī)用直線加速器的數(shù)據(jù)庫(kù)是基于微軟的SQL Server 6.5進(jìn)行開發(fā)的,其運(yùn)行記錄直接以文本形式給出,提取數(shù)據(jù)需要具備數(shù)據(jù)庫(kù)相關(guān)知識(shí)。另外我科室在用的醫(yī)科達(dá)Synergy 醫(yī)用直線加速器匹配的Mosaiq 服務(wù)器(基于SQL Server 2008開發(fā))通過(guò)加密方式將運(yùn)行記錄保存至數(shù)據(jù)庫(kù),只有通過(guò)醫(yī)科達(dá)公司協(xié)助解密才可以獲得。
為了評(píng)估系統(tǒng)誤差對(duì)放射治療計(jì)劃劑量誤差產(chǎn)生的影響,我們下一步將利用患者治療過(guò)程中的實(shí)際數(shù)據(jù)生成放射治療計(jì)劃,并通過(guò)與原計(jì)劃進(jìn)行對(duì)比,進(jìn)而評(píng)估系統(tǒng)誤差對(duì)劑量偏差的影響。
醫(yī)科達(dá)Precise 醫(yī)用直線加速器各項(xiàng)目的系統(tǒng)誤差均在允許范圍內(nèi)[1],X1、X2鎢門的系統(tǒng)誤差隨臂架角度呈正弦變化,多葉光柵的系統(tǒng)誤差則服從正態(tài)分布,同方向的多葉光柵(射野內(nèi)和射野外)的系統(tǒng)誤差無(wú)明顯差異,射野內(nèi)和射野外的多葉光柵的系統(tǒng)誤差無(wú)明顯差異,跳數(shù)幾乎沒(méi)有偏差,臂架角度、小機(jī)頭角度及Y1、Y2鎢門的系統(tǒng)誤差無(wú)明顯分布規(guī)律。