吳江月


摘 要 目的:在安卓手機上進行放射誘導的肺損傷發生率計算,評估待選胸部放療計劃肺組織的不同劑量體積的優劣。方法:利用NTCP-Lyman模型將DVH數據綜合為正常組織并發癥概率,基于安卓手機開發了肺損傷發生率計算軟件。結果:可以在安卓手機上進行RILT發生率計算。結論:在真機上調試運行,完全實現預期功能,可輔助評估胸部放療計劃。
關鍵詞 安卓手機 放射 肺損傷
中圖分類號:TP3 文獻標識碼:A
一個理想的放射治療計劃,要求對腫瘤有最大的控制率和對周圍正常組織產生較小并發癥。接受根治性放療的肺癌中大約有13%~37%的患者會發生RILT,發生時間一般在放射治療后6周~6個月。正常組織并發癥概率(NTCP)是指正常組織接受一定體積一劑量照射后發生并發癥的概率。NTCP能夠全面體現整個DVH的信息,與放射性肺損傷之間的相關性,是現有的方法中最為密切的。根據DVH直接算出每個計劃中正常組織發生并發癥概率的大小,則不同計劃的優劣就一目了然。
1放射誘導的肺損傷發生率的計算方法
式(1)中n是無單位的體積效應因子,n越大,體積效應越大;反之,體積效應就越小。m是NTCP劑量效應曲線斜率。TD50(V=1)、TD50(V)分別為整個肺體積、部分肺體積受照射時引起50%的患者發生放射性肺損傷所需的劑量。m、n值,是根據有關正常組織耐受量的臨床資料繪出劑量和并發癥發生率之間的關系曲線,用以上公式擬合得出。肺的TD50、n、m值分別為124.5Gy、0.87和0.18。上述模式均假設整個器官或組織及部分器官或組織受到均一劑量的照射。事實上肺受到的照射是非均勻的。所以,應用 Lyman公式時必須在它們之間進行轉化。較常用的Kutcher轉化方法算法是把DVH轉化為于器官或組織的部分等效體積(Veff),該體積小于或等于整個器官體積受到最大劑量的均勻照射的器官或組織損傷。
一般而言,累積劑量體積直方圖是一個不規則形狀。計算等效體積的方法就是把不均勻的直方圖轉化成一定高度的Veff和劑量,Dmax就是直方圖中的最大劑量。假設轉化后的直方圖與原直方圖產生的并發癥是相同的,并同時假設每一階梯高度直方圖和的擴展之間滿足冪律關系,則:(VVeff)i=VVi(Di/Dmax)^1/n, n是一個大小參數,此方程被用于直方圖的每一階梯,所以整個直方圖的Veff就是:Veff=VVmax+VV1(D1/Dmax)^1/n+VV2(D2/Dmax)^1/n+……。
式(1)中的積分區間為[-∞,t],不便進行數值積分運算,經過以下變換的積分區間為[0,t]:。數值積分采用矩形公式要達到同樣精度,需要更多循環次數來計算更多數據,占據了進程影響電話接聽等其他應用,也使劑量體積數據輸入量增大,因此采用梯形數值積分公式計算。
2軟件開發設計
Android手機的品種規格繁多,在不同屏幕上的顯示效果不同。為此,采用盡可能簡潔的視圖小工具,以便在多樣化Android手機上,都有較一致的顯示效果。因為數據較多,采用了全屏列表框加Android菜單鍵。編輯修改所需要的輸入法,占據一半左右的屏幕,另外設置了一個編輯活動界面;刪除操作無需輸入法,以長按彈出菜單實現。計算前需要核對全部輸入數據,用不能修改數據的列表框加按鈕實現。按鈕在列表最下方,點擊按鈕后,壓縮列表框,按鈕跳到上方邊側,下方顯示計算結果。設置了三個活動界面:顯示數據(三個菜單)、編輯修改數據(兩個按鈕)、計算數據(一個按鈕)。添加界面,就是插入新記錄后的編輯界面。活動界面和菜單都統一地用XML定義。其中主要程序代碼如下:
double anum=1.149;double mnum=0.18;double D50=24.5;
cursor.moveToFirst();
temptwo[0] = Double.valueOf(cursor.getString(2));
tempthree[0] = Double.valueOf(cursor.getString(3));
double temp = tempthree[0];
cursor.moveToNext();
for (int i = 1; i < j; i++) {
temptwo[i] = Double.valueOf(cursor.getString(2));
tempthree[i] = Double.valueOf(cursor.getString(3));
tempfour[i] = Math.pow(temptwo[i]/temptwo[0],anum);
tempfive[i] = tempthree[i]-tempthree[i-1];
temp = temp + tempfour[i]*tempfive[i];
cursor.moveToNext();
}
double tempone = tempthree[j-1];
double VE = temp/tempone;//
double TT = D50*Math.pow(VE,-1/a);
double TB = (temptwo[0]-TT)/(10*mnum*TT);
double BB = Math.exp(-100*TB*TB/2)+1;
for (int k = 1; k < 10; k++) {
BB=BB+2*Math.exp(-k*TB*k*TB/2);
}
DecimalFormat df = new DecimalFormat("#0.00000");
String NTCPS = df.format(0.5+TB*BB/(2*Math.sqrt(2*Math.PI)));
double NTCP = Double.valueOf(NTCPS);
3軟件應用及效果
在Android手機上調試運行,能夠快速計算出RILT發生率,完全實現預期功能,不同版本的Android系統具有一致的顯示效果,可輔助評估胸部放療計劃。根據DVH算出三維計劃中的NTCP,從生物效應分布的角度進行治療方案的評估和比較,不僅能預測正常組織的放射生物效應,也可以比較不同治療計劃的優劣。但由于有關軟件尚未商業化和設計復雜,并基于高性能臺機,不利于普及。由于Android平臺的便攜性、開放性、穩定性且不需版權費用等特點,并且硬件性能的不斷提升,必將成為醫療軟件開發應用的主流系統平臺之一。
參考文獻
[1] 姚昱旻,劉衛國. Android的架構與應用開發研究[J]. 計算機系統應用,2008,11:110-112+24.