胡勝文,郭瑞鋒,王澤輝,劉佳,麥燕華,梁玉新
廣東醫科大學附屬醫院放療機房 (廣東湛江 524001)
誤差是影響放射治療質量的重要因素。放射治療的常見誤差包括擺位誤差和系統誤差,兩者均會影響靶區邊緣劑量的準確性,導致產生劑量偏差,進而導致照射野內復發率的升高[1]。臨床關于擺位誤差[2-11]及其對照射劑量的影響[12-14]的討論較多,而有關系統誤差的報道較為罕見。本研究從醫科達Precise 醫用直線加速器的服務器PreciseNet 中提取日志文件,計算并分析系統誤差,進而了解該設備各個運行參數的系統誤差及分布規律,并將這些數據及分析結果存儲到我科室自主研發的放射治療信息系統中[15]。
于廣東醫科大學附屬醫院2018年2月6日至2021年1月13日存儲于PreciseNet 服務器中的Precise 醫用直線加速器運行記錄中隨機選取5 d(2018年2月6日、2018年6月14日、2018年9月20日、2020年2月1日,2021年1月13日)的數據。系統誤差的分析項目包括臂架角度、小機頭角度、鎢門(一共4個,左右方向為X1、X2鎢門,上下方向為Y2、Y1鎢門)位置、輸出跳數(一共2個,跳數MU1和備用跳數MU2)和多葉光柵[共40對、80片,X1(左)方向和X2(右)方向各40片]葉片位置及其隨臂架角度的變化規律。
1.2.1 數據準備
在PreciseNet服務器中,加速器運行的數據存放在數據表LINAC_SNAPSHOT中,表中的字段分別為LINAC_ID、LINAC_RECORD_ID、SNAPSHOT_SEQID、SNAPSHOT_RECEIVE_TIME、SNAPSHOT_DATA,其中SNAPSHOT_DATA字段的內容為設備的運行記錄。每天有多位患者進行治療,每位患者的放射治療計劃包含多個照射野,每個照射野包含若干個子野,每個子野治療后在LINAC_SNAPSHOT表中產生一個記錄。例如,加速器臂架角度記錄如下:
Presc_Gantry Angle:Gantry Angle:270
Set_Gantry Angle:Gantry Angle: Run_Gantry Angle:Gantry Angle:270.2
即在處方中設置的臂架角度為270°,而治療過程中的實際臂架角度為270.2°,其他運行參數也可以用類似的方法獲得。
1.2.2 數據獲取
使用芬蘭Digia 公司的跨平臺C++圖形用戶界面應用程序開發框架Qt5.7.0進行程序開發,其中QtSql 模塊支持對數據庫的讀取。在PreciseNet 服務器的主機(Windows Server 2000)上設置開放數據庫連接(open database connectivity,ODBC)連接到本地的服務器,在同一局域網中的Windows XP 電腦上,使用Qt 編寫連接服務器端ODBC 的代碼:
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
QString dns=QString::fromLocal8Bit("DRIVER={SQL SERVER};SERVER= 10.2.0. 150; DATABASE=RTD4");

然后,使用查詢語句“SELECT * FROM LINAC_SNAPSHOT”即可獲取加速器的運行記錄,并把每一條記錄中SNAPSHOT_DATA 的內容單獨保存為一個獨立的文本文件。
1.2.3 數據分析
使用Python 3.8編程語言讀取存放了日志記錄的文本文件,提取臂架角度、小機頭角度、鎢門位置、輸出跳數和多葉光柵位置的放射治療計劃設置數據和實際運行數據;使用Python 的NumPy、SciPy 和MatPlotlib 模塊進行誤差分析、非線性曲線擬合和數據顯示,當系統誤差呈現正態分布時,擬合為正態分布函數。
1.2.4 數據存儲
將每天的系統誤差數據及其分析結果導入我科室自主研發的放射治療信息系統[15]。
圖1為跨度4年中隨機選取5 d 的臂架角度、小機頭角度、鎢門位置、輸出跳數和多葉光柵位置的系統誤差的平均值,表1為各個項目系統誤差的范圍、均值及標準差。由圖1和表1可知,臂架角度、小機頭角度及跳數MU1的系統誤差均值均在0值或0值附近,而后備跳數MU2在處方設置時比跳數MU1多2 MU,且實際運行記錄為MU1的值,故MU2的系統誤差均值在-2附近;鎢門位置及多葉光柵位置的系統誤差均不在0值附近,且X1、Y1鎢門的均值為負值,X2、Y2鎢門的均值為正值,加之由于鎢門及多葉光柵的葉片是成對出現的,它們的系統誤差呈現距離相近、方向相反的現象;一般而言,第1、40對葉片在照射野外,第20、21對葉片處于射野內,由第1、20、21、40對葉片的系統誤差對比結果可知,射野內及射野外葉片的系統誤差并無明顯差別。

圖1 臂架角度、小機頭角度、鎢門位置、輸出跳數和多葉光柵位置的系統誤差

表1 系統誤差的范圍、均值及標準差
選取2021年1月13日的數據進行分析,各項目的系統誤差隨臂架角度的變化趨勢及頻率圖見圖2~6。由圖可見,除了多葉光柵的系統誤差呈正態分布之外,小機頭角度、Y 方向鎢門、輸出跳數均無明顯分布特征,X 方向鎢門系統誤差與臂架角度呈現正弦變化特征。

圖2 臂架角度和小機頭角度的系統誤差隨臂架角度變化分布圖及頻率直方圖

圖3 X1(左)與X2(右)鎢門的系統誤差隨臂架角度變化分布圖及頻率直方圖

圖4 Y1(下)與Y2(上)鎢門的系統誤差隨臂架角度變化分布圖及頻率直方圖

圖5 跳數(MU1)和備用跳數(MU2)系統誤差隨臂架角度變化分布圖及頻率直方圖

圖6 多葉光柵系統系統誤差隨臂架角度變化分布圖及頻率直方圖
由圖3可以看出,X 方向的鎢門X1、X2的系統誤差隨臂架角度的變化呈現出正弦三角函數的特征,考慮擬合模型為:

其中k、A、ω、φ分別為偏移、振幅、角速度、初相,均為需要通過擬合確定的參數。采用最小二乘法并使用模型(1)對圖3中的數據進行擬合,鎢門X1的擬合結果為:

鎢門X2的擬合結果為:

由上述擬合結果可知,兩個正弦曲線的振幅相同,角速度均接近于1,偏移距離相近,而方向相反。擬合結果見圖7。

圖7 X1 和X2 鎢門的系統誤差擬合為正弦曲線的結果
本研究通過編程的方法讀取Precise 醫用直線加速器的運行記錄,獲取每天的運行數據,進而了解設備的系統誤差,此方法簡單快捷,可快速得到分析結果。
通過數據分析發現,臂架角度、小機頭角度、鎢門及輸出跳數無明顯的分布特征,多葉光柵的系統誤差均值服從正態分布但不在0值附近,且X1、X2方向的多葉光柵的系統誤差均值是0.5 mm,且呈現偏差距離相近、方向相反的特性。X1、X2鎢門的系統誤差均值隨臂架角度呈現正弦函數變化的特點,考慮為在設備使用間歇期,X1、X2鎢門受地球重力作用大小不同的緣故。
在放射治療中,影響患者治療的劑量誤差可以分為系統誤差和隨機誤差。在隨機誤差中,學者們更多提及的是擺位誤差,而很少提及醫用直線加速器本身的系統誤差,可能的原因是擺位誤差對放射治療的影響比較顯著且比較容易獲得。Precise 醫用直線加速器的數據庫是基于微軟的SQL Server 6.5進行開發的,其運行記錄直接以文本形式給出,提取數據需要具備數據庫相關知識。另外我科室在用的醫科達Synergy 醫用直線加速器匹配的Mosaiq 服務器(基于SQL Server 2008開發)通過加密方式將運行記錄保存至數據庫,只有通過醫科達公司協助解密才可以獲得。
為了評估系統誤差對放射治療計劃劑量誤差產生的影響,我們下一步將利用患者治療過程中的實際數據生成放射治療計劃,并通過與原計劃進行對比,進而評估系統誤差對劑量偏差的影響。
醫科達Precise 醫用直線加速器各項目的系統誤差均在允許范圍內[1],X1、X2鎢門的系統誤差隨臂架角度呈正弦變化,多葉光柵的系統誤差則服從正態分布,同方向的多葉光柵(射野內和射野外)的系統誤差無明顯差異,射野內和射野外的多葉光柵的系統誤差無明顯差異,跳數幾乎沒有偏差,臂架角度、小機頭角度及Y1、Y2鎢門的系統誤差無明顯分布規律。