蒙特卡洛模擬程序(MCNP)常被用于計算機斷層掃描(CT)所致受檢者輻射劑量的計算。然而該模型的物理計算過程較為繁雜且程序的輸入文件結構復雜,不支持幾何模型的三維顯示,從而導致研究者無法建立準確的CT輻射系統模型,影響劑量計算結果的準確性。針對這兩大問題,本研究設計了一個可視化CT建模并自動生成輸入文件的軟件。在模型計算方面,融合各大研究者的CT建模改進方案來作為理論基礎;在三維模型可視化方面,以LabVIEW為新的開發平臺、實體幾何構造法(CSG)為算法原理,引入MCNP輸入文件的編輯方式來實現CT幾何建模的可視化。相比一個近期研究所建立的CT模型,本可視化CT建模軟件所模擬的結果與實際測量的均方根誤差更小。該CT可視化建模軟件不僅可以幫助研究者獲得準確的CT輻射系統模型,而且為MCNP的幾何建模可視化方法提供了新的研究思路。
引用本文: 劉穎, 孟婷, 章浩偉, 路鶴晴. 基于可視化的計算機斷層掃描輻射系統模型構建與軟件設計. 生物醫學工程學雜志, 2023, 40(5): 989-995. doi: 10.7507/1001-5515.202201053 復制
0 引言
計算機斷層掃描(computed tomography,CT)自問世以來,迅速成為重要的醫學影像診斷工具。隨著CT使用頻率越來越高,醫學電離輻射對人體的危害性被廣泛關注,如何準確評估一次CT檢查中受檢者的輻射劑量成為了研究熱點[1]。目前,已有許多研究證明蒙特卡洛模擬是最可靠的計算方法。蒙特卡洛模擬程序(Monte Carlo N-Particle,MCNP)是由美國Los Alamos國家實驗室研制的大型蒙特卡洛中子、光子和電子輸運仿真程序輸運計算的軟件,在分析物理實驗和反應堆設計、核保護無損檢測系統和輻射屏蔽核儀器設計、材料活化和磁聚變中子學計算、核臨界安全分析、物理保健問題研究等領域得到普遍使用[2]。由于MCNP的模擬準確且通用性高,研究者普遍利用該程序來計算CT掃描所致受檢者的輻射劑量。
要保證MCNP模擬的準確性,首先要確保所構建的CT輻射系統模型盡量貼合實際。CT輻射系統模型中包含機架幾何參數和物理參數。機架幾何參數有源到等中心點的距離(the distance from the focal spot to the isocenter,SID)、源到探測器的距離(the distance from the focal spot to the detector,SDD)和源到過濾器的距離(the distance from the focal spot to the bowtie,SFD);物理參數包括X射線發散角、過濾器的厚度和準直器的寬度[3]。然而當研究者們在MCNP程序中描述相應參數來構建CT輻射系統模型時,卻因為該程序的輸入文件結構復雜且不支持三維幾何模型這兩個因素而導致模型不夠準確[3]。尤其是物理參數中的蝶形過濾器,因其幾何結構復雜,且不同廠家CT機之間差異巨大,在很大程度上增加了建模工作的難度[4-5]。為了解決這一問題,需要對CT輻射系統的建模過程進行可視化并設計相關軟件,通過選取合理的CT建模方法作為理論基礎,并結合直接便利的三維模型構建法來幫助研究者觀察、修改模型并獲得相應輸入文件。
對于CT模型的構建方法,1999年至2009年間,相繼有研究者提出了不同的理論,所建的CT模型分別經歷了從單排軸掃CT、多排軸掃CT到多排螺旋CT的過程。2003年以前,研究者們主要基于廠家給出的幾何參數對CT進行建模[6-7]。2003年,美國的Jarry等[8]基于實測物理數據構建了一臺GE LightSpeed 16排CT模型,并公開了標準體模表面的劑量分布曲線。2008年,Gu等[4]通過計算他們的實測數據來獲得CT模型的幾何參數,模擬結果與實測結果的百分比相對誤差在8%以內。同時,Turner等[9]第一次提出了完全基于實測數據來計算獲得CT幾何參數的建模方案,發現基于這種方法建立的CT模型比基于廠家提供幾何參數所建立的CT模型更加準確。后續更有研究者在其方法的基礎上進行了改進,包括采用更精確的劑量儀器以及更準確、適用范圍更廣的能譜軟件[10]。綜合考慮下,本研究采用Turner等[9]提出的建模方法作為理論基礎,并通過融合各研究者的改進方案來建立一個綜合性的建模系統。
關于MCNP程序的三維模型可視化方法,目前大致分為兩種:第一種,修改MCNP源程序直接采用計算機輔助設計(computer aided design,CAD)軟件作為幾何引擎。例如,MCNP5發行自帶的可視化軟件Visual Editor和美國白巖科學公司開發的Sabrina,使用MCNP粒子跟蹤程序的源碼來生成MCNP模型的二維、三維圖像,應用的是光線跟蹤技術[11]。但由于MCNP的源碼不易獲得,因此不利于二次開發與改進。
第二種,因為MCNP內部僅支持實體幾何構造法(constructive solid geometry,CSG)模型,所以可以利用接口格式轉換程序實現從CAD模型到CSG模型再到MCNP模型的轉換。例如,清華大學李春艷等[12]基于C語言(Visual C++,VC)和開放圖形庫(open graphics library,OpenGL)實現了多個體素的MCNP三維建模;Theis等[13-14]開發了開源蒙特卡洛幾何建模工具;朱曉林等[15]采用通用繪圖(unigraphics NX,UG)二次開發實現了外部模型到MCNP計算模型的轉換。但上述研究依賴于簡單體素的CAD建模轉換,因此對于復雜幾何體的通用性不高。
為了加強通用性,中國科學院等離子體物理研究所FDS團隊自主開發了自動建模可視化軟件系統MCAM[16];羅月童等[17]提出了基于面殼封閉的邊界表示(boundary representation,BREP)模型轉換算法;吳斌等[18]研究了一種基于輔助面的分解算法;趙瑛峰等[19]提出一種基于特征分解的模型BREP表達到半空間CSG表達轉換算法。雖然改進模型轉換算法可以在一定程度上提高轉換效率,但是沒有在根本上解決幾何模型轉換時的繁瑣問題,且在模型轉換時依舊容易出錯。
分析國內外的相關工作后可知,目前沒有針對CT輻射系統建模的MCNP可視化軟件,而以往的三維幾何模型可視化方法也都不夠直觀。因此,本研究設計了一個專門應用于CT輻射系統建模的MCNP可視化軟件,以LabVIEW為新的開發平臺、CSG構造法為幾何建模原理,引入MCNP輸入文件的編輯方式來實現幾何建模可視化,以期幫助研究者直觀、準確地獲得完整的輸入文件,從而提高CT建模的效率和準確性。
1 CT模型構建的理論方法
CT輻射系統建模的順序為獲取X射線能譜、計算蝶形過濾器厚度角分布、模擬準直器以及X球管的旋轉運動[9]。其中X射線能譜和過濾器厚度角分布是通過對CT進行實際測量和計算獲得的,具體的測量內容和模型構建方法如圖1所示。

半值層(half value laye,HVL)的定義為使輻射束的空氣比釋動能減少到其初始值一半的指定材料的厚度,通常用mmAL來表示[9]。半值層是X射線能量表達的重要參數,為了模擬簡便,通常將焦點到固有濾過一同視作X射線放射源,因此可以通過匹配實驗室測量與能譜軟件輸出的半值層來獲得X射線等效能譜。
CT的蝶形過濾器結構是整個模型中最難構建的部分,可以用厚度角分布曲線來描述,即橫坐標為X射線角,縱坐標為蝶形過濾器厚度的曲線,需要根據實測的等效能譜和X射線靜態劑量曲線進行計算后擬合得到。根據Turner等[9]的研究,需要將X射線球管固定在一個位置來測量多個偏離等中心點處的空氣比釋動能,如圖2所示,各個測量點等間距,計算每一個測量點相對于等中心點的比值r可以獲得X射線靜態劑量衰減曲線。衰減公式如式(1)所示,可以計算獲得蝶形過濾器厚度角分布。

圖中,
in the figure,
![]() |
式中,r為衰減比,K為空氣比釋動能,μi為過濾器材料的線性衰減系數,T為過濾器的厚度。
構建好放射源與蝶形過濾器模型后,需要限制光子的飛行范圍來模擬CT的準直器模型,并根據一周放射源均勻抽樣的方式來模擬X射線球管的旋轉運動,因此需要將放射源和蝶形過濾器進行旋轉陣列。
2 軟件的總體設計
LabVIEW是美國國家儀器有限公司(National Instruments,NI)的虛擬儀器開發軟件,具有圖形化編程環境、強大的儀器控制和仿真控制能力[20]。LabVIEW的程序設計通常分為前面板設計與功能面板設計兩部分,前面板設計需要根據軟件需求分析進行界面設計;后面板需要根據需求設計功能模塊,并編寫算法。根據上述CT輻射系統的建模方法,該軟件的前面板在輸入X射線在某一特定管電壓下的等效能譜、靜態劑量衰減曲線、SFD和SID后,可以獲得蝶形過濾器的三維幾何模型,后面板則需要根據輸入的物理參數進行計算擬合,編寫邏輯算法來生成幾何體。
2.1 前面板設計
在MCNP中構建復雜的幾何模型需要通過數個曲面半空間進行布爾運算得到。模型構建的第一步是編寫曲面卡來定義幾個基本曲面;第二步,對曲面半空間進行布爾運算,這一步需要運用符號(“空格”代表交集,“:”代表并集,“#”代表余)連接帶有方向的曲面編號(正號代表曲面正方向或曲面體的內部,負號代表曲面的負方向或曲面體的外部);第三步,選擇幾何模型的材料,形成柵元[21]。
基于CT建模的方法和MCNP幾何建模的流程,前面板需要設計一個友好界面來幫助用戶輸入CT的實測物理參數、材料選擇以及輸入文件導出等使用需求。另外,相應的曲面或幾何體還可以進行修改調整。
2.2 功能面板設計
針對于上述的使用需求,本軟件分別設計了物理參數處理模塊、標準曲面生成以及空間變換模塊、幾何布爾運算模塊、材料庫模塊以及MCNP輸入文件生成模塊。
3 實現功能模塊的詳細理論方法
對于物理參數處理模塊,需要引入Matlab作為數據處理的接口,根據X射線等效能譜和蝶形過濾器厚度角分布來擬合出相應的形狀曲線,而對于其余功能模塊,則需要利用LabVIEW內部的幾何運算功能來完成。
3.1 標準曲面生成與空間變換
3.1.1 標準曲面生成
空間中的任何一個標準曲面都可以由滿足該曲面公式的坐標點集形成。LabVIEW(版本19.0)的三維曲面圖形控件可以通過輸入X、Y向量以及Z矩陣來生成對應的三維曲面圖形,因此要生成標準曲面,只需根據不同的曲面類型內置好相應的曲面公式,然后通過坐標點的均勻抽樣(對于平面采用均勻抽樣,球面采用三角函數抽樣)代入曲面公式后獲得三維標準曲面圖形[22]。多個曲面的生成可以通過將三維曲面控件進行連接的方式得到。
3.1.2 曲面空間變換
曲面的空間變換包括平移、縮放、旋轉。曲面在空間中的平移或者縮放可視作曲面上的坐標點集分別在X、Y、Z方向的平移或縮放,因此可以直接對曲面坐標點集中的每一個單位進行平移或乘以縮放系數等計算。對于曲面的空間旋轉,利用羅德里格旋轉公式來實現曲面上所有點向量的空間旋轉,具體公式如下[23]:
![]() |
其中, 為旋轉后的空間向量,v為旋轉前的空間向量,θ為旋轉角度,u為旋轉軸的單位向量。
3.2 曲面半空間的布爾運算
根據曲面的半空間表示法,每一個空間曲面都由滿足該方程式的點集堆砌而成,設該曲面的方程為F (x, y, z) = 0,則其外側(正向)半空間的點集表示為:
![]() |
其內側(負向)半空間的點集表示為:
![]() |
式中H表示半空間[24]。
CSG構造法把復雜的實體看成若干個簡單實體經過有序的布爾運算后得到,這些簡單的實體稱為體素[17]。一個曲面半空間可以視作一個CSG構造法的基本體素,而曲面半空間的布爾運算過程實質是對空間點的篩選過程,篩選的方法是對空間中的點進行邊界條件限制,基于該原理的算法流程如圖3所示。

假設需要布爾運算的兩個標準曲面為P和Q,曲面半空間分別為P?和Q?,兩個半空間里的坐標點表示為(x1, y1, z1)和(x2, y2, z2),則為了計算并篩選出目標坐標點,所設置的邊界條件分別為:
(1)交:點集表示為:{(x2, y2, z2 | P (x, y, z)<0}或{(x1, y1, z1 | Q (x, y, z)<0},即同時屬于曲面半空間P?和Q?的點。
(2)并:點集表示為:{(x2, y2, z2 | P (x, y, z)>0}∪{(x1, y1, z1 | Q (x, y, z)>0}∪{(x2, y2, z2 | P (x, y, z)<0},即曲面半空間P?和Q?在空間上覆蓋的所有坐標點。
(3)余:點集表示為{(x2, y2, z2 | P (x, y, z)>0}或{(x1, y1, z1 | Q (x, y, z)>0},即曲面半空間P?減Q?或Q?減P?的所有坐標點。
對于多個曲面半空間的布爾運算,由于新生成的點集通常不能再用標準曲面公式的半空間表示法來描述,因此需要在每一步布爾運算結束后,對點集進行保存記錄,再進入下一輪布爾運算,生成最后的幾何模型。
3.3 材料庫
本研究的可視化軟件為用戶構建了一個用以填充幾何模型的材料庫,其中包括金屬、水、空氣以及生物材料,所有材料的屬性均摘自美國國家標準與技術研究院(National Institute of Standards and Technology,NIST)材料報告[25]。這些材料廣泛應用于CT輻射劑量的蒙特卡洛估算中,是專門為CT幾何建模研究而構建的材料庫。材料庫的具體構建方法為:首先使用Microsoft Access構建材料數據庫,再利用LabVIEW的附加工具包LabVIEW SQL Toolkit進行數據庫訪問,用戶只需選擇材料名稱即可獲得相應的屬性數據。
3.4 MCNP輸入文件生成
把用戶構建的曲面、布爾運算以及材料屬性等信息轉為MCNP語句的字符串形式,再通過LabVIEW中的寫入文本文件模塊將生成的字符串轉為文本格式的文件,這個文件即為MCNP的輸入文件。
4 軟件測試
4.1 例題描述
為了驗證本文可視化CT輻射系統建模軟件的可行性,本研究在一臺Windows10、32位的普通PC機上進行了測試,主要測試的內容是根據實測半值層和靜態劑量衰減曲線來獲得相應的蝶形過濾器模型。物理實測參數取自Hassan等在2018年發表的一篇論文,他們構建了一臺西門子Definition 64 排螺旋CT,該CT的管電壓為140 kV,半值層為9.4 mmAl,SID及SSD分別為59.5 mm和108.5 mm且具有兩種形狀的蝶形濾波。兩種濾波器分別應用于小視野(small field of view,SFOV)掃描和大視野掃描(large field of view,LFOV),材料被是特氟龍,并通過匹配SpekCalc軟件的半值層獲得等效能譜。
4.2 測試結果與討論
與Hassan等一樣,本研究使用均方根誤差(root mean square error,RMSE)作為指標來驗證本研究中構建的CT輻射系統模型的準確性。本研究中用于蒙特卡洛模擬的空氣電離室參數、測量點和掃描條件的設置均與Hassan研究中的相同。兩種形狀的蝶形過濾器(SFOV和LFOV)的計算與幾何模型構建結果如圖4所示。圖5展示了仿真結果與實際測量的歸一化靜態劑量衰減曲線(縱坐標為歸一化的空氣比釋動能,橫坐標為X射線角度)對比,SFOV和LFOV兩種形狀的過濾器對應的仿真與模擬的均方根誤差分別0.97%和0.74%,而在Hassan等的研究中,在相同條件下,二者的均方根誤差分別為1.16%和2.50%,這證明使用本研究開發的軟件得到的CT輻射系統模型取得了更準確的模擬結果,且對于大視野的蝶形過濾器的模型精度提升效果更加明顯。同時,利用該軟件計算獲取該模型的時間為5 s左右,相比傳統逐步建模流程更加便利和高效。


通過觀察具有復雜曲面的蝶形過濾器模型,可知該模型是由三個基本曲面半空間進行布爾運算后獲得,確定了本研究設計的可視化CT建模軟件的可行性,可以幫助研究者觀察、調整模型并快速獲得相應的CT模型的輸入文件。在幾何模型的可視化方法方面,與修改MCNP源碼法相比,由于LabVIEW層次化的結構,該軟件可以把創建的VI程序當做子程序調用,因此后續對軟件進行修改調試及二次開發時會更加便利,避免了修改MCNP源程序的不便利性,可以利用后續更多新型CT幾何建模進行針對性的開發;與幾何模型格式轉換法相比,由于該軟件不需要外部接口進行幾何模型的格式轉化,而是直接利用CSG構造法的原理進行幾何模型構建,避免了格式轉換的麻煩。
5 結論
針對CT輻射系統在MCNP軟件建模過程中遇到的兩大問題,即模型準確計算和三維幾何可視化,本研究首次以LabVIEW為開發平臺,直接利用CSG構建法的原理設計了一個可視化CT輻射系統建模軟件,并驗證了其有效性和高效性,可以應用于各類CT模型的構建。該軟件不僅可以彌補MCNP繪圖功能的局限性,提升相關研究人員編寫輸入文件的效率和準確性,而且為MCNP可視化方法研究提供了新的思路。
本軟件對于大型且復雜的幾何建模可視化的交互速率還有待提高,未來會從算法以及可視化方法上進行改進,從而提高可視化效率。另外,需要繼續對CT放射源模型和輻射劑量計數模型進行可視化,一方面提高軟件的綜合性,另一方面可以大大減少輻射劑量研究人員的工作量。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:劉穎負責實驗設計和數據采集;孟婷負責數據分析和軟件編程;章浩偉和路鶴晴負責論文修改與完善。
0 引言
計算機斷層掃描(computed tomography,CT)自問世以來,迅速成為重要的醫學影像診斷工具。隨著CT使用頻率越來越高,醫學電離輻射對人體的危害性被廣泛關注,如何準確評估一次CT檢查中受檢者的輻射劑量成為了研究熱點[1]。目前,已有許多研究證明蒙特卡洛模擬是最可靠的計算方法。蒙特卡洛模擬程序(Monte Carlo N-Particle,MCNP)是由美國Los Alamos國家實驗室研制的大型蒙特卡洛中子、光子和電子輸運仿真程序輸運計算的軟件,在分析物理實驗和反應堆設計、核保護無損檢測系統和輻射屏蔽核儀器設計、材料活化和磁聚變中子學計算、核臨界安全分析、物理保健問題研究等領域得到普遍使用[2]。由于MCNP的模擬準確且通用性高,研究者普遍利用該程序來計算CT掃描所致受檢者的輻射劑量。
要保證MCNP模擬的準確性,首先要確保所構建的CT輻射系統模型盡量貼合實際。CT輻射系統模型中包含機架幾何參數和物理參數。機架幾何參數有源到等中心點的距離(the distance from the focal spot to the isocenter,SID)、源到探測器的距離(the distance from the focal spot to the detector,SDD)和源到過濾器的距離(the distance from the focal spot to the bowtie,SFD);物理參數包括X射線發散角、過濾器的厚度和準直器的寬度[3]。然而當研究者們在MCNP程序中描述相應參數來構建CT輻射系統模型時,卻因為該程序的輸入文件結構復雜且不支持三維幾何模型這兩個因素而導致模型不夠準確[3]。尤其是物理參數中的蝶形過濾器,因其幾何結構復雜,且不同廠家CT機之間差異巨大,在很大程度上增加了建模工作的難度[4-5]。為了解決這一問題,需要對CT輻射系統的建模過程進行可視化并設計相關軟件,通過選取合理的CT建模方法作為理論基礎,并結合直接便利的三維模型構建法來幫助研究者觀察、修改模型并獲得相應輸入文件。
對于CT模型的構建方法,1999年至2009年間,相繼有研究者提出了不同的理論,所建的CT模型分別經歷了從單排軸掃CT、多排軸掃CT到多排螺旋CT的過程。2003年以前,研究者們主要基于廠家給出的幾何參數對CT進行建模[6-7]。2003年,美國的Jarry等[8]基于實測物理數據構建了一臺GE LightSpeed 16排CT模型,并公開了標準體模表面的劑量分布曲線。2008年,Gu等[4]通過計算他們的實測數據來獲得CT模型的幾何參數,模擬結果與實測結果的百分比相對誤差在8%以內。同時,Turner等[9]第一次提出了完全基于實測數據來計算獲得CT幾何參數的建模方案,發現基于這種方法建立的CT模型比基于廠家提供幾何參數所建立的CT模型更加準確。后續更有研究者在其方法的基礎上進行了改進,包括采用更精確的劑量儀器以及更準確、適用范圍更廣的能譜軟件[10]。綜合考慮下,本研究采用Turner等[9]提出的建模方法作為理論基礎,并通過融合各研究者的改進方案來建立一個綜合性的建模系統。
關于MCNP程序的三維模型可視化方法,目前大致分為兩種:第一種,修改MCNP源程序直接采用計算機輔助設計(computer aided design,CAD)軟件作為幾何引擎。例如,MCNP5發行自帶的可視化軟件Visual Editor和美國白巖科學公司開發的Sabrina,使用MCNP粒子跟蹤程序的源碼來生成MCNP模型的二維、三維圖像,應用的是光線跟蹤技術[11]。但由于MCNP的源碼不易獲得,因此不利于二次開發與改進。
第二種,因為MCNP內部僅支持實體幾何構造法(constructive solid geometry,CSG)模型,所以可以利用接口格式轉換程序實現從CAD模型到CSG模型再到MCNP模型的轉換。例如,清華大學李春艷等[12]基于C語言(Visual C++,VC)和開放圖形庫(open graphics library,OpenGL)實現了多個體素的MCNP三維建模;Theis等[13-14]開發了開源蒙特卡洛幾何建模工具;朱曉林等[15]采用通用繪圖(unigraphics NX,UG)二次開發實現了外部模型到MCNP計算模型的轉換。但上述研究依賴于簡單體素的CAD建模轉換,因此對于復雜幾何體的通用性不高。
為了加強通用性,中國科學院等離子體物理研究所FDS團隊自主開發了自動建模可視化軟件系統MCAM[16];羅月童等[17]提出了基于面殼封閉的邊界表示(boundary representation,BREP)模型轉換算法;吳斌等[18]研究了一種基于輔助面的分解算法;趙瑛峰等[19]提出一種基于特征分解的模型BREP表達到半空間CSG表達轉換算法。雖然改進模型轉換算法可以在一定程度上提高轉換效率,但是沒有在根本上解決幾何模型轉換時的繁瑣問題,且在模型轉換時依舊容易出錯。
分析國內外的相關工作后可知,目前沒有針對CT輻射系統建模的MCNP可視化軟件,而以往的三維幾何模型可視化方法也都不夠直觀。因此,本研究設計了一個專門應用于CT輻射系統建模的MCNP可視化軟件,以LabVIEW為新的開發平臺、CSG構造法為幾何建模原理,引入MCNP輸入文件的編輯方式來實現幾何建模可視化,以期幫助研究者直觀、準確地獲得完整的輸入文件,從而提高CT建模的效率和準確性。
1 CT模型構建的理論方法
CT輻射系統建模的順序為獲取X射線能譜、計算蝶形過濾器厚度角分布、模擬準直器以及X球管的旋轉運動[9]。其中X射線能譜和過濾器厚度角分布是通過對CT進行實際測量和計算獲得的,具體的測量內容和模型構建方法如圖1所示。

半值層(half value laye,HVL)的定義為使輻射束的空氣比釋動能減少到其初始值一半的指定材料的厚度,通常用mmAL來表示[9]。半值層是X射線能量表達的重要參數,為了模擬簡便,通常將焦點到固有濾過一同視作X射線放射源,因此可以通過匹配實驗室測量與能譜軟件輸出的半值層來獲得X射線等效能譜。
CT的蝶形過濾器結構是整個模型中最難構建的部分,可以用厚度角分布曲線來描述,即橫坐標為X射線角,縱坐標為蝶形過濾器厚度的曲線,需要根據實測的等效能譜和X射線靜態劑量曲線進行計算后擬合得到。根據Turner等[9]的研究,需要將X射線球管固定在一個位置來測量多個偏離等中心點處的空氣比釋動能,如圖2所示,各個測量點等間距,計算每一個測量點相對于等中心點的比值r可以獲得X射線靜態劑量衰減曲線。衰減公式如式(1)所示,可以計算獲得蝶形過濾器厚度角分布。

圖中,
in the figure,
![]() |
式中,r為衰減比,K為空氣比釋動能,μi為過濾器材料的線性衰減系數,T為過濾器的厚度。
構建好放射源與蝶形過濾器模型后,需要限制光子的飛行范圍來模擬CT的準直器模型,并根據一周放射源均勻抽樣的方式來模擬X射線球管的旋轉運動,因此需要將放射源和蝶形過濾器進行旋轉陣列。
2 軟件的總體設計
LabVIEW是美國國家儀器有限公司(National Instruments,NI)的虛擬儀器開發軟件,具有圖形化編程環境、強大的儀器控制和仿真控制能力[20]。LabVIEW的程序設計通常分為前面板設計與功能面板設計兩部分,前面板設計需要根據軟件需求分析進行界面設計;后面板需要根據需求設計功能模塊,并編寫算法。根據上述CT輻射系統的建模方法,該軟件的前面板在輸入X射線在某一特定管電壓下的等效能譜、靜態劑量衰減曲線、SFD和SID后,可以獲得蝶形過濾器的三維幾何模型,后面板則需要根據輸入的物理參數進行計算擬合,編寫邏輯算法來生成幾何體。
2.1 前面板設計
在MCNP中構建復雜的幾何模型需要通過數個曲面半空間進行布爾運算得到。模型構建的第一步是編寫曲面卡來定義幾個基本曲面;第二步,對曲面半空間進行布爾運算,這一步需要運用符號(“空格”代表交集,“:”代表并集,“#”代表余)連接帶有方向的曲面編號(正號代表曲面正方向或曲面體的內部,負號代表曲面的負方向或曲面體的外部);第三步,選擇幾何模型的材料,形成柵元[21]。
基于CT建模的方法和MCNP幾何建模的流程,前面板需要設計一個友好界面來幫助用戶輸入CT的實測物理參數、材料選擇以及輸入文件導出等使用需求。另外,相應的曲面或幾何體還可以進行修改調整。
2.2 功能面板設計
針對于上述的使用需求,本軟件分別設計了物理參數處理模塊、標準曲面生成以及空間變換模塊、幾何布爾運算模塊、材料庫模塊以及MCNP輸入文件生成模塊。
3 實現功能模塊的詳細理論方法
對于物理參數處理模塊,需要引入Matlab作為數據處理的接口,根據X射線等效能譜和蝶形過濾器厚度角分布來擬合出相應的形狀曲線,而對于其余功能模塊,則需要利用LabVIEW內部的幾何運算功能來完成。
3.1 標準曲面生成與空間變換
3.1.1 標準曲面生成
空間中的任何一個標準曲面都可以由滿足該曲面公式的坐標點集形成。LabVIEW(版本19.0)的三維曲面圖形控件可以通過輸入X、Y向量以及Z矩陣來生成對應的三維曲面圖形,因此要生成標準曲面,只需根據不同的曲面類型內置好相應的曲面公式,然后通過坐標點的均勻抽樣(對于平面采用均勻抽樣,球面采用三角函數抽樣)代入曲面公式后獲得三維標準曲面圖形[22]。多個曲面的生成可以通過將三維曲面控件進行連接的方式得到。
3.1.2 曲面空間變換
曲面的空間變換包括平移、縮放、旋轉。曲面在空間中的平移或者縮放可視作曲面上的坐標點集分別在X、Y、Z方向的平移或縮放,因此可以直接對曲面坐標點集中的每一個單位進行平移或乘以縮放系數等計算。對于曲面的空間旋轉,利用羅德里格旋轉公式來實現曲面上所有點向量的空間旋轉,具體公式如下[23]:
![]() |
其中, 為旋轉后的空間向量,v為旋轉前的空間向量,θ為旋轉角度,u為旋轉軸的單位向量。
3.2 曲面半空間的布爾運算
根據曲面的半空間表示法,每一個空間曲面都由滿足該方程式的點集堆砌而成,設該曲面的方程為F (x, y, z) = 0,則其外側(正向)半空間的點集表示為:
![]() |
其內側(負向)半空間的點集表示為:
![]() |
式中H表示半空間[24]。
CSG構造法把復雜的實體看成若干個簡單實體經過有序的布爾運算后得到,這些簡單的實體稱為體素[17]。一個曲面半空間可以視作一個CSG構造法的基本體素,而曲面半空間的布爾運算過程實質是對空間點的篩選過程,篩選的方法是對空間中的點進行邊界條件限制,基于該原理的算法流程如圖3所示。

假設需要布爾運算的兩個標準曲面為P和Q,曲面半空間分別為P?和Q?,兩個半空間里的坐標點表示為(x1, y1, z1)和(x2, y2, z2),則為了計算并篩選出目標坐標點,所設置的邊界條件分別為:
(1)交:點集表示為:{(x2, y2, z2 | P (x, y, z)<0}或{(x1, y1, z1 | Q (x, y, z)<0},即同時屬于曲面半空間P?和Q?的點。
(2)并:點集表示為:{(x2, y2, z2 | P (x, y, z)>0}∪{(x1, y1, z1 | Q (x, y, z)>0}∪{(x2, y2, z2 | P (x, y, z)<0},即曲面半空間P?和Q?在空間上覆蓋的所有坐標點。
(3)余:點集表示為{(x2, y2, z2 | P (x, y, z)>0}或{(x1, y1, z1 | Q (x, y, z)>0},即曲面半空間P?減Q?或Q?減P?的所有坐標點。
對于多個曲面半空間的布爾運算,由于新生成的點集通常不能再用標準曲面公式的半空間表示法來描述,因此需要在每一步布爾運算結束后,對點集進行保存記錄,再進入下一輪布爾運算,生成最后的幾何模型。
3.3 材料庫
本研究的可視化軟件為用戶構建了一個用以填充幾何模型的材料庫,其中包括金屬、水、空氣以及生物材料,所有材料的屬性均摘自美國國家標準與技術研究院(National Institute of Standards and Technology,NIST)材料報告[25]。這些材料廣泛應用于CT輻射劑量的蒙特卡洛估算中,是專門為CT幾何建模研究而構建的材料庫。材料庫的具體構建方法為:首先使用Microsoft Access構建材料數據庫,再利用LabVIEW的附加工具包LabVIEW SQL Toolkit進行數據庫訪問,用戶只需選擇材料名稱即可獲得相應的屬性數據。
3.4 MCNP輸入文件生成
把用戶構建的曲面、布爾運算以及材料屬性等信息轉為MCNP語句的字符串形式,再通過LabVIEW中的寫入文本文件模塊將生成的字符串轉為文本格式的文件,這個文件即為MCNP的輸入文件。
4 軟件測試
4.1 例題描述
為了驗證本文可視化CT輻射系統建模軟件的可行性,本研究在一臺Windows10、32位的普通PC機上進行了測試,主要測試的內容是根據實測半值層和靜態劑量衰減曲線來獲得相應的蝶形過濾器模型。物理實測參數取自Hassan等在2018年發表的一篇論文,他們構建了一臺西門子Definition 64 排螺旋CT,該CT的管電壓為140 kV,半值層為9.4 mmAl,SID及SSD分別為59.5 mm和108.5 mm且具有兩種形狀的蝶形濾波。兩種濾波器分別應用于小視野(small field of view,SFOV)掃描和大視野掃描(large field of view,LFOV),材料被是特氟龍,并通過匹配SpekCalc軟件的半值層獲得等效能譜。
4.2 測試結果與討論
與Hassan等一樣,本研究使用均方根誤差(root mean square error,RMSE)作為指標來驗證本研究中構建的CT輻射系統模型的準確性。本研究中用于蒙特卡洛模擬的空氣電離室參數、測量點和掃描條件的設置均與Hassan研究中的相同。兩種形狀的蝶形過濾器(SFOV和LFOV)的計算與幾何模型構建結果如圖4所示。圖5展示了仿真結果與實際測量的歸一化靜態劑量衰減曲線(縱坐標為歸一化的空氣比釋動能,橫坐標為X射線角度)對比,SFOV和LFOV兩種形狀的過濾器對應的仿真與模擬的均方根誤差分別0.97%和0.74%,而在Hassan等的研究中,在相同條件下,二者的均方根誤差分別為1.16%和2.50%,這證明使用本研究開發的軟件得到的CT輻射系統模型取得了更準確的模擬結果,且對于大視野的蝶形過濾器的模型精度提升效果更加明顯。同時,利用該軟件計算獲取該模型的時間為5 s左右,相比傳統逐步建模流程更加便利和高效。


通過觀察具有復雜曲面的蝶形過濾器模型,可知該模型是由三個基本曲面半空間進行布爾運算后獲得,確定了本研究設計的可視化CT建模軟件的可行性,可以幫助研究者觀察、調整模型并快速獲得相應的CT模型的輸入文件。在幾何模型的可視化方法方面,與修改MCNP源碼法相比,由于LabVIEW層次化的結構,該軟件可以把創建的VI程序當做子程序調用,因此后續對軟件進行修改調試及二次開發時會更加便利,避免了修改MCNP源程序的不便利性,可以利用后續更多新型CT幾何建模進行針對性的開發;與幾何模型格式轉換法相比,由于該軟件不需要外部接口進行幾何模型的格式轉化,而是直接利用CSG構造法的原理進行幾何模型構建,避免了格式轉換的麻煩。
5 結論
針對CT輻射系統在MCNP軟件建模過程中遇到的兩大問題,即模型準確計算和三維幾何可視化,本研究首次以LabVIEW為開發平臺,直接利用CSG構建法的原理設計了一個可視化CT輻射系統建模軟件,并驗證了其有效性和高效性,可以應用于各類CT模型的構建。該軟件不僅可以彌補MCNP繪圖功能的局限性,提升相關研究人員編寫輸入文件的效率和準確性,而且為MCNP可視化方法研究提供了新的思路。
本軟件對于大型且復雜的幾何建模可視化的交互速率還有待提高,未來會從算法以及可視化方法上進行改進,從而提高可視化效率。另外,需要繼續對CT放射源模型和輻射劑量計數模型進行可視化,一方面提高軟件的綜合性,另一方面可以大大減少輻射劑量研究人員的工作量。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:劉穎負責實驗設計和數據采集;孟婷負責數據分析和軟件編程;章浩偉和路鶴晴負責論文修改與完善。