一種從Pinnacle放療計劃系統(tǒng)中導出并重建劑量-體積直方圖的方法技術(shù)領(lǐng)域本發(fā)明涉及計算機在放療計劃中的應用技術(shù)領(lǐng)域,具體地說是一種從Pinnacle放療計劃系統(tǒng)中導出并重建劑量-體積直方圖的方法。
背景技術(shù):放療計劃系統(tǒng):放療計劃系統(tǒng)是一種通過對放射源及患者建模,來模擬一個放射治療方案的計算機軟件系統(tǒng)。在腫瘤患者接受放射治療前,要在放療計劃系統(tǒng)平臺上為每一例患者進行放療計劃設計:首先,由影像科醫(yī)生對患者進行CT掃描,并將掃描后得到的患者體部斷層圖像傳輸至放療計劃系統(tǒng)計算機工作站;第二步,由放療科臨床醫(yī)生在放療計劃系統(tǒng)顯示的患者斷層圖像上勾畫腫瘤區(qū)域及腫瘤周圍各正常器官的輪廓;第三步,由腫瘤放射物理師在放療計劃系統(tǒng)上,通過重建患者三維圖像、設置放射治療過程中的照射角度、照射能量和照射野形狀等參數(shù),模擬患者接受放射治療的過程,并由放療計劃系統(tǒng)計算治療實施后,X射線在人體中形成的劑量分布;第四步,通過放療計劃系統(tǒng)提供的放療計劃評估模塊,評估模擬得到的腫瘤及正常器官受照射劑量,其中,劑量-體積直方圖是進行劑量評估的主要工具。劑量-體積直方圖:由于放療計劃系統(tǒng)中的劑量計算都是在三維網(wǎng)格矩陣中進行的,二維和三維劑量分布的顯示實際上是三維網(wǎng)格矩陣單元等劑量分布的二維和三維表示,因此,就能夠計算和表示出在某一感興趣區(qū)域如腫瘤靶區(qū)、重要器官的體積內(nèi)有多少體積受到多高劑量水平的照射,這種表示方法稱為劑量-體積直方圖。圖1為Pinnacle放療計劃系統(tǒng)模擬一例食管癌患者接受放療后,靶區(qū)如PTV、CTV及其周圍正常組織如肺、心臟、脊髓等受到輻射劑量的劑量-體積直方圖,橫坐標為劑量(單位:cGy),縱坐標為歸一化的百分積分體積,圖中每一條曲線描述了一個感興趣區(qū)域受到照射的劑量-體積信息。以描述心臟受照射劑量的曲線為例,從該曲線可以看出,有大約14%的心臟體積受到了不低于1000cGy輻射劑量的照射?,F(xiàn)有技術(shù)存在的不足:Philips公司的Pinnacle放療計劃系統(tǒng)被廣泛應用于世界多個國家,在中國,其設備遍布除西藏外其他各省的200余家醫(yī)院的放療中心。然而,如圖1所示,該放療計劃系統(tǒng)的計劃評估模塊僅提供了對劑量-體積直方的圖形化顯示及其相關(guān)統(tǒng)計結(jié)果列表,沒有提供將劑量-體積直方圖導出的功能。這一局限對進一步分析數(shù)據(jù)和開展研究造成了如下困難:循證醫(yī)學要求對大量患者數(shù)據(jù)進行回顧性分析以總結(jié)臨床經(jīng)驗,如果無法將劑量-體積直方圖導出并單獨存儲為獨立的文件,就無法對大量患者數(shù)據(jù)進行批量處理,只能針對每一例患者的圖形化劑量-體積直方圖進行逐個的記錄。例如,希望回顧性分析并統(tǒng)計100例食管癌患者接受放療后,心臟受到1000cGy劑量照射的相對百分體積、脊髓受到照射的最大點劑量以及雙側(cè)肺受到2000cGy劑量照射的相對百分體積。以現(xiàn)有技術(shù)而言,一方面,醫(yī)生需要單獨占用一臺放療計劃系統(tǒng)資源,在完全手工操作下去查看每一例患者的圖形化劑量-體積直方圖曲線,并逐一記錄每一例患者對應的上述指標,這將占用昂貴的放療計劃系統(tǒng)醫(yī)療資源并花費大量時間,而且記錄過程中可能出現(xiàn)讀數(shù)錯誤和視覺偏差;另一方面,在后續(xù)研究中,如果希望對記錄的結(jié)果進行審核或者再次統(tǒng)計其他指標,需要再次逐一查看患者劑量-體積直方圖,而通常情況下,在多數(shù)醫(yī)院的腫瘤放療物理室,放療計劃系統(tǒng)工作站資源有限,沒有充裕的工作站供醫(yī)生進行單純的科研及統(tǒng)計工作。利用本發(fā)明提供的方法,可以將感興趣器官對應的劑量-體積直方圖曲線導出為獨立的文件,一方面可以通過計算機程序?qū)Υ笈炕颊叩慕y(tǒng)計指標進行批量處理,節(jié)省了大量時間,并提高了統(tǒng)計數(shù)據(jù)的準確性;另一方面,便于對數(shù)據(jù)的保存,使后續(xù)研究工作可以脫離放療計劃系統(tǒng)工作站,為科研工作提供了方便。
技術(shù)實現(xiàn)要素:本發(fā)明的技術(shù)任務是解決現(xiàn)有技術(shù)的不足,提供一種從Pinnacle放療計劃系統(tǒng)中導出并重建劑量-體積直方圖的方法。本發(fā)明的技術(shù)方案是按以下方式實現(xiàn)的,通過編寫腳本程序并將該程序嵌入Pinnacle放療計劃系統(tǒng)中,然后,執(zhí)行腳本程序,將圖形化的劑量-體積直方圖以微分形式導出為自定義格式的ASCII碼文本文件,最后,解析該文本文件并重建劑量-體積直方圖曲線,得到數(shù)字化的積分劑量-體積直方圖,具體步驟如下:第一步,嵌入腳本程序1)編寫腳本:通過文本編輯器新建一個空白文本文件,并在其中錄入以下三段腳本代碼:WindowList.PlanEval.CreateUnrealized="PlanEvalButton";WindowList.PlanEval.PanelList.#"#0".GotoPanel="PlanEvalButton";WindowList.PlanEval.Create="PlanEvalButton";PluginManager.PlanEvalPlugin.TrialList.#"#0".Selected=1;WindowList.DoseVolHistTabular.Create="TabularDVH...";DVHList.Current=0;DVHList.Current.AutoComputeBinSize=0;DVHList.Current.BinSize="1";Store.StringAt.BaseString="/home/p3rtp/dvhexport/";Store.StringAt.FileString=Store.StringAt.BaseString;Store.At.FileString.AppendString=DVHList.Current.RegionOfInterestName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=DVHList.Current.TrialName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=PlanInfo.LastName;Store.At.FileString.AppendString=".txt";DVHList.Current.Data.Save=Store.StringAt.FileString;Store.FreeAt.BaseString="";Store.FreeAt.FileString="";DVHList.Current=1;DVHList.Current.AutoComputeBinSize=0;DVHList.Current.BinSize="1";Store.StringAt.BaseString="/home/p3rtp/dvhexport/";Store.StringAt.FileString=Store.StringAt.BaseString;Store.At.FileString.AppendString=DVHList.Current.RegionOfInterestName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=DVHList.Current.TrialName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=PlanInfo.LastName;Store.At.FileString.AppendString=".txt";DVHList.Current.Data.Save=Store.StringAt.FileString;Store.FreeAt.BaseString="";Store.FreeAt.FileString="";其中,第二段第一行“DVHList.Current=0;”和第三段第一行“DVHList.Current=1;”表明這兩段代碼要導出的是放療計劃系統(tǒng)計劃評估模塊感興趣區(qū)域列表中的第一個器官受輻射劑量-體積的劑量-體積直方圖曲線。要導出劑量-體積直方圖中更多器官的輻射劑量-體積曲線,僅需要將上述代碼中第二段和第三段一起復制,并重復粘貼在后續(xù)空白區(qū)域,然后,將每一段第一行的“DVHList.Current”依次賦值為數(shù)列2、3、4、5……的每一個整數(shù)值,即:“DVHList.Current=2;”、“DVHList.Current=3;”、“DVHList.Current=4;”、“DVHList.Current=5;”……,其中,每增加兩個新的段落,腳本將增加導出感興趣區(qū)域列表中后續(xù)一個器官的劑量-體積直方圖曲線;2)保存腳本:將上述腳本文件保存在Unix操作系統(tǒng)目錄的/home/p3rtp/User_Scripts/路徑下,并將文件命名為“*.Script.p3rtp”,此處*代表任意合法命名字符串;第二步,導出劑量-體積直方圖1)建立劑量-體積直方圖觸發(fā)器:在Pinnacle放療計劃系統(tǒng)的HotScripts界面建立新的腳本運行觸發(fā)器,并將后臺執(zhí)行腳本指向保存在/home/p3rtp/User_Scripts/路徑下的上述腳本文件;2)選定感興趣器官:在放療計劃系統(tǒng)的計劃評估界面,選定感興趣區(qū)域列表中欲導出的感興趣器官;3)設置路徑:根據(jù)上述腳本中“Store.StringAt.BaseString”字段的值,在Unix文件系統(tǒng)的對應路徑/home/p3rtp/下,新建文件夾并命名為dvhexport,使導出的文件存儲于該文件夾路徑下;4)發(fā)送命令:觸發(fā)HotScripts界面新建的劑量-體積直方圖導出觸發(fā)器,即可將劑量-體積直方圖曲線由放療計劃系統(tǒng)導出并自動存儲在“Store.StringAt.BaseString”字段定義的路徑中;5)文件存儲:選定的感興趣區(qū)域列表中每一個器官,將被導出并存儲為一個“txt”格式文件,文件名的命名格式為“器官名_計劃方案名_患者名”,如“heart_Trial_1_PatientName.txt”表示該文件存儲了患者張三的第一個放療計劃中心臟受照射的劑量-體積數(shù)據(jù);每一個文件結(jié)構(gòu)分為三個部分:NumberOfDimensions、NumberOfPoints和Points,其中,NumberOfDimensions存儲了導出曲線的維數(shù),NumberOfPoints存儲了劑量采樣點的數(shù)目,Points是一個具有NumberOfPoints行2列的劑量-體積矩陣,其中每一行存儲了每一個劑量采樣點對應的劑量-體積值,其中,第一列是絕對劑量,單位:cGy,第二列是與第一列相對應的微分絕對體積值,單位:cm3;第三步,重建劑量-體積直方圖1)讀取導出文件中的Points矩陣,其中,該矩陣第一列為劑量采樣點;2)計算器官絕對體積:將Points矩陣的第二列累加,得到該器官的絕對體積值,單位:cm3;3)計算采樣點積分絕對體積:對于Points矩陣中第一列的每一個劑量采樣點,計算其對應的積分絕對體積,算法描述為;4)計算采樣點積分百分體積:對于Points矩陣中第一列的每一個劑量采樣點,計算其對應的積分百分體積,算法描述為:其中,由劑量采樣點和積分百分體積構(gòu)成的矩陣就是重建得到的劑量-體積直方圖矩陣;5)勾畫劑量-體積直方圖:當時,以為橫坐標,為對應的縱坐標,描繪一條連續(xù)的曲線,即重建得到某一感興趣器官的劑量-體積直方圖。本發(fā)明的突出的有益效果:使用本發(fā)明的方法導出并重建劑量-體積直方圖,可以將圖形化的劑量-體積直方圖曲線準確而且快速地轉(zhuǎn)換為數(shù)字化格式,提高了在利用Pinnacle放療計劃系統(tǒng)評估人體受照射劑量時的精度,使獨立存儲和批量處理放療患者的劑量-體積信息成為可能,為腫瘤放射治療臨床醫(yī)生和放射物理師開展科研工作提供了技術(shù)支持。附圖說明圖1是Pinnacle放療計劃系統(tǒng)中的劑量評估模塊及其顯示的劑量-體積直方圖屏幕截圖;圖2是經(jīng)本發(fā)明方法導出并重建后勾畫的劑量-體積直方圖;圖3是經(jīng)本發(fā)明方法導出的存儲劑量-體積信息的ASCII碼文本文件存儲結(jié)構(gòu)示意圖;圖4是劑量-體積直方圖導出及重建流程圖。具體實施方式下面結(jié)合附圖對本發(fā)明的方法作進一步詳細說明。實施例首先編寫腳本程序并將其嵌入到Pinnacle放療計劃系統(tǒng);然后,通過執(zhí)行腳本程序,將系統(tǒng)內(nèi)存儲的圖形化劑量-體積直方圖以微分表達的形式導出并存儲為特定格式的ASCII碼文本文件;最后,通過對文本文件的解析,重建積分表達形式的劑量-體積直方圖。具體步驟如下:腳本嵌入步驟如下:1)編寫腳本:通過文本編輯器新建一個空白文本文件,并在其中錄入以下三段腳本代碼:WindowList.PlanEval.CreateUnrealized="PlanEvalButton";WindowList.PlanEval.PanelList.#"#0".GotoPanel="PlanEvalButton";WindowList.PlanEval.Create="PlanEvalButton";PluginManager.PlanEvalPlugin.TrialList.#"#0".Selected=1;WindowList.DoseVolHistTabular.Create="TabularDVH...";DVHList.Current=0;DVHList.Current.AutoComputeBinSize=0;DVHList.Current.BinSize="1";Store.StringAt.BaseString="/home/p3rtp/dvhexport/";Store.StringAt.FileString=Store.StringAt.BaseString;Store.At.FileString.AppendString=DVHList.Current.RegionOfInterestName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=DVHList.Current.TrialName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=PlanInfo.LastName;Store.At.FileString.AppendString=".txt";DVHList.Current.Data.Save=Store.StringAt.FileString;Store.FreeAt.BaseString="";Store.FreeAt.FileString="";DVHList.Current=1;DVHList.Current.AutoComputeBinSize=0;DVHList.Current.BinSize="1";Store.StringAt.BaseString="/home/p3rtp/dvhexport/";Store.StringAt.FileString=Store.StringAt.BaseString;Store.At.FileString.AppendString=DVHList.Current.RegionOfInterestName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=DVHList.Current.TrialName;Store.At.FileString.AppendString="_";Store.At.FileString.AppendString=PlanInfo.LastName;Store.At.FileString.AppendString=".txt";DVHList.Current.Data.Save=Store.StringAt.FileString;Store.FreeAt.BaseString="";Store.FreeAt.FileString="";其中,第二段第一行“DVHList.Current=0;”和第三段第一行“DVHList.Current=1;”表明這兩段代碼要導出的是放療計劃系統(tǒng)計劃評估界面中,感興趣區(qū)域列表中第一個器官的劑量-體積直方圖曲線。要導出劑量-體積直方圖中更多感興趣器官的曲線,僅需要將上述代碼中第二段和第三段一起復制,并重復粘貼在后續(xù)空白區(qū)域,然后,將每一段第一行的“DVHList.Current”依次賦值為數(shù)列2、3、4、5……的每一個整數(shù)值,即:“DVHList.Current=2;”、“DVHList.Current=3;”、“DVHList.Current=4;”、“DVHList.Current=5;”……等,其中,每增加兩個新的段落,腳本將增加導出感興趣區(qū)域列表中后續(xù)一個器官的劑量-體積直方圖曲線;2)保存腳本:將上述腳本文件保存在Unix操作系統(tǒng)目錄的/home/p3rtp/User_Scripts/路徑下,并將文件命名為“*.Script.p3rtp”(此處*代表任意合法命名字符串)。劑量-體積直方圖導出步驟如下:1)建立觸發(fā)器:在Pinnacle放療計劃系統(tǒng)的HotScripts界面建立新的腳本運行觸發(fā)器,并將后臺執(zhí)行腳本指向保存在/home/p3rtp/User_Scripts/路徑下的上述腳本文件;2)選定感興趣器官:在放療計劃系統(tǒng)的計劃評估界面,選定感興趣區(qū)域列表中欲導出的感興趣器官;3)設置路徑:根據(jù)上述腳本中“Store.StringAt.BaseString”字段的值,在Unix文件系統(tǒng)的對應路徑(如/home/p3rtp/)下,新建文件夾并命名為dvhexport,使導出的文件存儲于該文件夾路徑下;4)發(fā)送命令:觸發(fā)HotScripts界面新建的劑量-體積直方圖導出觸發(fā)器,即可將劑量-體積直方圖曲線由放療計劃系統(tǒng)導出并自動存儲在“Store.StringAt.BaseString”字段定義的路徑中;5)文件存儲:選定的感興趣區(qū)域列表中每一個器官,將被導出并存儲為一個“txt”格式文件,文件名的命名格式為“器官名_計劃方案名_患者名”,如“heart_Trial_1_PatientName.txt”;每一個文件結(jié)構(gòu)分為三個部分:NumberOfDimensions、NumberOfPoints和Points,其中,NumberOfDimensions存儲了導出曲線的維數(shù),NumberOfPoints存儲了劑量采樣點的數(shù)目,Points是一個具有行2列的劑量-體積矩陣,其中每一行存儲了每一個劑量采樣點的劑量值(第一列,單位:cGy)及其相對應的微分絕對體積值(第二列,單位:cm3)。劑量-體積直方圖重建步驟如下:1)讀取導出文件中的Points矩陣,其中,該矩陣第一列為劑量采樣點;2)計算器官絕對體積:將Points矩陣的第二列累加,得到該器官的絕對體積值(單位:cm3);3)計算采樣點積分絕對體積:對于Points矩陣中第一列的每一個劑量采樣點,計算其對應的積分絕對體積,算法描述為;4)計算采樣點積分百分體積:對于Points矩陣中第一列的每一個劑量采樣點,計算其對應的積分百分體積,算法描述為:其中,由劑量采樣點和積分百分體積構(gòu)成的矩陣就是重建得到的劑量-體積直方圖矩陣;5)勾畫劑量-體積直方圖:當時,以為橫坐標,為對應的縱坐標,描繪一條連續(xù)的曲線,即重建得到劑量-體積直方圖。除本發(fā)明的說明書公開的技術(shù)特征外均為本專業(yè)技術(shù)人員的公知技術(shù)。