方川,葛云,黃曉林,陳穎,金建華,蔡晶,儲開岳
1.南京大學電子科學與工程學院,江蘇南京210023;2.南通市腫瘤醫院放療科,江蘇南通226361
直線加速器作為放射治療的主要醫療設備,其等中心精度的大小直接影響放射治療質量,等中心的一點偏差,都有可能造成患者治療靶區偏移并危害正常器官[1-3]。等中心的精度是由加速器各組成部分的機械參數所決定的,雖然醫用直線加速器在安裝時已經達到臨床使用要求,但隨著日常使用磨損、器件老化、設備故障維修,難免使得加速器的等中心和機械精度下降[4-5]。因此,醫用直線加速器的質量保證和質量控制方法顯得尤為重要[6-9]。
本研究設計一種簡單、直觀、實用的半自動化測量方法,能夠有效針對醫用直線加速器完成日常檢測工作[10]。
在放射學設備中,各種運動的基準軸線圍繞一個公共中心點運動,輻射軸從此點為中心的最小球體內通過,此點即為等中心。具體而言,一般把機架旋轉軸線、準直器旋轉軸線和治療床旋轉軸線的交點記為加速器的機械等中心。理論上,治療床旋轉軸與準直器旋轉軸重合,如圖1所示。

圖1 等中心示意圖Fig.1 Diagram of isocenter
實際測量中,由于機械誤差和計算誤差,計算得到的兩個旋轉軸不能交于一點,作機架旋轉軸和治療床旋轉軸之間的共垂線(圖1),垂足分別記為DA=(xA,yA,zA)和DB=(xB,yB,zB),則醫用直線加速器等中心三維坐標為:

參數λ 的取值由操作者定義。λ 默認取值為0.5,即以公垂線中點選取為加速器等中心坐標。
本設計采用在加速器各部件上貼放定位小球,雙目相機跟蹤定位小球空間位置的方法來追蹤加速器運動,軟件利用定位小球的坐標擬合加速器運動參數,從而得到加速器各部件機械參數[11]。具體步驟如下:(1)使用水平注冊儀注冊水平面,完成相機坐標系到加速器坐標系轉換。(2)治療床上固定一個定位小球,運動治療床。軟件利用最小二乘法擬合治療床的運動平面圓方程和XYZ 3個軸向位移。(3)機架上固定一個定位小球,運動機架。軟件擬合機架運動平面圓方程。(4)注冊筆記錄當前激光等中心[12]、光野等中心位置。(5)生成測量報告,得到機械等中心坐標,各等中心之間距離,機架和治療床的平均運動速度、平均運動誤差等。
上文只介紹了最簡單的測量步驟,用戶還可以測量準直器的運動、CBCT 的運動及CBCT 面板位置。
本系統由硬件和軟件兩部分組成,每個部分又包含不同模塊,對應完成不同的功能。下面詳細闡述各模塊功能及其實現方法。
硬件主要由雙目相機和配套工具組成,包括水平注冊儀、定位小球、注冊筆。主要介紹雙目相機、注冊筆和水平注冊儀。
2.1.1 雙目相機 雙目相機采用加拿大Northern Digital Incorporated公司的Ploaris系列光學測量相機(圖2a)。Ploaris 相機內部發射850 nm 的紅外光,定制的小球會反射紅外光在圖像中形成很亮的圓斑,利用空間三角關系得到定位小球的空間坐標,從而達到跟蹤定位的目的[13]。
2.1.2 注冊筆 注冊筆(圖2b)可用于記錄筆尖點的空間位置,在本系統中筆者使用它來注冊激光等中心、光野中心,并輔助判斷CBCT面板位置。
2.1.3 水平注冊儀 如圖2c 所示,水平注冊儀是本系統的一個重要模塊,本研究使用它來確定加速器的水平面。因為雙目相機獲取的定位小球坐標是在相機坐標系中的坐標,而機械等中心、激光等中心、光野中心都是在加速器坐標系中描述的。筆者在水平注冊儀上安裝3個定位小球,利用不共線的空間3點確定一個平面的原理,使用水平注冊儀來確定加速器的水平面,從而確定相機坐標系到加速器坐標系的齊次變換矩陣。注意,雙目相機和水平儀擺放好之后,變換矩陣被唯一確定,后續操作不得移動相機,否則需要重新注冊水平面。
從相機坐標系轉換到加速器坐標系是一個三維空間到三維空間的變換[14],一個平移操作和一個旋轉操作即可完成(圖3)。可以用式(2)表示:



圖2 雙目系統光學測量套件Fig.2 Binocular system optical measurement kit

圖3 相機坐標系與加速器坐標系轉換圖Fig.3 Diagram of conversion from camera coordinate to accelerator coordinate
本系統中,將水平注冊儀上的3個定位小球坐標分 別 定 為 XA=(-dA,0,0) 、 XB=(0,0, -dB) 、XC=(dC,0,0),點B 到直線AC 的垂足設為坐標原點,dA、dB、dC為每個點到原點的距離。
軟件設計采用模塊化結構化設計思想。該軟件可分為相機驅動模塊、界面顯示模塊、用戶交互模塊、算法邏輯模塊。
2.2.1 相機驅動模塊 相機作為本系統的視覺傳感器,是系統正常工作的基礎。本設計將相機SDK 進行良好封裝,獨立于軟件邏輯層應用。啟動時會檢測相機連接(圖4a)。如果相機未連接,不可以進行任何測量操作,必須重新連接相機。
2.2.2 界面顯示模塊 該軟件的顯示面板有4 個:3D顯示面板(圖4b)、圖表顯示面板(圖4c)、報告顯示面板(圖4d)、文字顯示面板。

圖4 系統軟件界面Fig.4 Software interfaces
3D顯示面板負責加速器三維模型的渲染和顯示[15],3D模型實時更新加速器的角度、位移信息,圖表面板主要用來記錄和顯示加速器各部件的歷史運動參數,包括角度、角速度、3 個軸向位移和速度。同時,用戶可以將圖表導出以提供分析依據。
報告顯示面板=在用戶點擊“生成報告”按鈕后,會計算報告中的各個指標條目,并顯示在報告上,用戶可以導出報告。
2.2.3 用戶交互模塊 交互模塊實則為控制面板,用戶按步驟對加速器各部件進行測量,最后點擊生成報告,在報告顯示面板即可看到報告內容。加速器復位可以清空各模塊的歷史數據,重新測量各部件。2.2.4 算法邏輯模塊 為了便于擴展和修改,本軟件為每個部件創建一個Handler 類,負責該部件的邏輯業務處理。如校準機架的GantryHandler 類,計算機架旋轉的空間圓參數,將得到的參數傳遞給中心邏輯處理模塊,中心邏輯處理模塊負責將這些信息傳遞給顯示模塊。
這些邏輯模塊只做對應的邏輯業務處理,獨立于圖形界面,符合軟件模塊設計高內聚、低耦合的原則。
經醫院放射科要求,本研究將兩個醫院分別定義為A 醫院和B 醫院。A 醫院和B 醫院的直線加速器測試參數表見表1和表2。其中平均誤差指軟件得到的角度、位移值與加速器系統值之間的誤差;垂直度和水平度指的是機架或治療床旋轉平面與注冊水平面之間的夾角;重復測量誤差指軟件在多次旋轉或平移到同一位置時的解算值之間的誤差。

表1 A醫院加速器測試參數表Tab.1 Measurement parameters of the accelerator in hospital A

表2 B醫院加速器測試參數表Tab.2 Measurement parameters of the accelerator in hospital B
對A 醫院服役15 年的ELEKTA 加速器進行測量,機 架 在-60°~60° 范 圍 內 運 動,治 療 床 在-90°~90°范圍內旋轉,治療床3個軸向在滿量程范圍平移。軟件得到數據如表1所示。
對服役5年的Varian RapidArc加速器進行測量,測量了機架和治療床在-90°~90°范圍內的運動,以及治療床在3個軸向的滿量程平移,將軟件解算的數據整理得到等中心坐標及機械運動誤差如表2所示。
分別對兩臺不同使用時長的醫用直線加速器進行測量分析實驗,實驗發現使用時長較長的A醫院加速器機械運動誤差較大[16]。具體體現在機架和治療床的運動誤差的均值和重復測量誤差較大。服役年限較短的B 醫院加速器有較低的誤差均值和較好的測量重復性。
本研究完成了醫用直線加速器機械參數測量分析系統的設計,實現了加速器機架、準直器、治療床和CBCT的機械性能檢測[17],包括旋轉角度、旋轉角速度、平移距離和速度,并計算了加速器的機械等中心及其與激光等中心、光野等中心之間的誤差。本系統提供詳細的檢測報告,方便對每天的檢查工作歸檔。
本系統極大地方便了對直線加速器的日常晨檢工作,將復雜的加速器質控工作數字化、自動化,為技術員和物理師維護加速器提供指導意義[18-20]。