【SYSSIM】在 MRI 系統模擬器中自定義 MR 序列脈衝

【SYSSIM】在 MRI 系統模擬器中自定義 MR 序列脈衝

對於需要進行核磁共振(MRI)進階研究與模擬的開發者來說,脈衝序列(Pulse Sequence)的設計是至關重要的一環。本篇文章將帶您深入了解 Sim4Life 中的 MRI 系統模擬器(SYSSIM),並手把手教學如何透過 Python API 自定義您的 MR 序列脈衝。

一、SYSSIM 模組簡介

 

MRI 系統模擬器(SYSSIM)的核心功能是透過求解布洛赫方程式(Bloch equations),根據使用者提供的模型幾何形狀、材料屬性、射頻(RF)與梯度磁場以及脈衝序列,來預測 MRI 的 k-space 訊號。

 

這套模擬器具備高度的真實性與靈活性: 

  • 它能夠處理在真實解剖結構中常見的不均勻材料分佈
  • 射頻場的分佈可以直接套用先前 EM 模擬的結果,或是設定為理想狀態
  • 完美支援多通道(multiple channels)的訊號傳輸與接收 

二、脈衝序列功能說明

 

在 SYSSIM 中,脈衝序列是用來控制 MRI 訊號擷取過程的核心腳本。SYSSIM 能夠處理由射頻場調變頻率偏移三個梯度線圈以及採集視窗(acquisition windows)瞬態模式(transient patterns)所組成的任意脈衝序列。

 

透過定義這些時間樣本與數值陣列,使用者可以精確地控制每個時間點上的序列行為。

三、支援的模式與預設脈衝範例 

 

目前 SYSSIM 在脈衝序列的應用上主要限制於平面序列(planar sequences)。針對笛卡爾序列(Cartesian sequences),使用者還可以指定結果的矩陣大小(Matrix Size)以及相位編碼方向(Phase Encoding Direction) [數值 U 代表在「視野設定(FOV Settings)」中選定的切片方向的第一個分量,而數值 V 則代表第二個分量]。 

 

系統圖形使用者介面(GUI)中預設提供了兩種參數化的經典序列範例: 

 

  1. 梯度回波序列(Gradient Echo, GRE)
  2. 自旋回波序列(Spin Echo, SE) 

 

針對這兩種範例,使用者可以在介面上直接調整多項參數,包含: 重複時間(TR)回波時間(TE)射頻脈衝形狀及其持續時間時間解析度翻轉角(Flip Angle)接收器頻寬(receiver bandwidth)以及去相位(dephasing)類型。



四、客製化脈衝序列設定步驟 

 

除了使用預設序列外,SYSSIM 最強大的地方在於允許使用者透過 Python 介面實作任何客製化的 MRI 脈衝序列,並透過選單列中的 File | Open Sequence Plugins 來存取脈衝序列外掛程式的儲存位置。



以下是建立自定義序列的標準步驟: 

 

步驟一: 尋找預設序列腳本並複製 

 

在 Sim4Life v9.6 的版本中,預設的序列腳本儲存於以下路徑: C:\Program Files\Sim4Life_9.6\Python\Lib\site-packages\syssim\PulseSequences 

 

使用者可以複製其中一個檔案(例如: GRE.py),將其重新命名,並為其分配一個全新的 UUID,這樣修改後的序列就會作為一個獨立的選項出現在 GUI 中。



步驟二: 修改 Python 腳本實作客製化邏輯 

 

以實作一個帶有 Sinc 形狀或方形 RF 脈衝選項並模擬自由感應衰減(FID)的自定義序列為例: 

 

1. 新增射頻形狀: 在程式碼中加入可選擇的 RF 形狀(如: Sinc 或 Square),並相應地修改 RF 生成邏輯

 

2. 設定虛擬梯度與 ADC 觸發: 為滿足系統的內部要求,可以加入一個虛擬梯度(dummy gradient),並設定類比數位轉換器(ADC)在 RF 脈衝結束後立即觸發,以成功模擬 FID 訊號。


 

[補充說明] 虛擬梯度(dummy gradient)設定

(1) 軟體層面: 滿足系統資料結構要求

SYSSIM 的底層 Bloch 方程式求解器在運算時,會預期接收到所有硬體通道的暫態模式(transient patterns)陣列資料,這包含了 RF 射頻、頻率偏移、X/Y/Z 三軸梯度線圈,以及資料擷取視窗(ADC)。 雖然在 FID (Free Induction Decay) 實驗中不需要任何梯度磁場,如果在 Python 腳本(GreSequencesGenerator)中完全忽略或不回傳梯度的時間與數值陣列,系統的內部驗證器(internal validator)會判斷序列結構不完整而報錯。因此,開發者必須在程式碼中「宣告」梯度序列的時間節點來滿足系統要求,這就是所謂的虛擬梯度(dummy gradient)。 

 

(2) 物理層面: FID 的物理本質

在物理意義上,模擬自由感應衰減(FID)訊號時,ADC 必須在 RF 脈衝結束後立即觸發。FID 量測的是質子在主磁場 B0下自然去相位的純粹衰減訊號。如果在訊號擷取期間施加了真實的梯度磁場(非零振幅),會人為地導致質子快速去相位(dephasing),這就變成了梯度回波(Gradient Echo),從而破壞了我們想要觀察的純粹 FID 訊號。

 

客製化的 FID 序列基礎架構程式碼

可以透過繼承 sseq.PulseSequenceParameterssseq.PulseSequenceGenerator 來定義新的序列參數與生成器



步驟三: 驗證與執行 

 

Sim4Life 具有內部驗證器(internal validator),會自動檢查序列的完整性與語法。因此,在開發與測試自定義序列時,強烈建議保持 Console 視窗開啟,以便即時監控任何潛在的錯誤或驗證訊息。一旦腳本載入無誤,使用者即可在 SYSSIM 的 Setup 流程中選用自定義的序列進行進階模擬。

五、總結 

 

透過 Python API 的擴充能力,Sim4Life 的 SYSSIM 模組不僅僅是一個標準的 MRI 模擬器,更是一個強大的脈衝序列開發平台。從基礎的梯度回波(GRE)到高度客製化的自由感應衰減(FID)實驗,使用者都能自由定義射頻脈衝、梯度變化與數據擷取時機。掌握了自定義序列的建立步驟與內部驗證機制後,研究人員便能在不佔用實體 MRI 儀器資源的情況下,於虛擬環境中迅速驗證序列設計、優化對比機制,大幅提升研發與實驗的效率。

CONTACT US
如果您對我們的產品服務有興趣,歡迎直接與我們聯繫 !
產品介紹 最新消息 聯絡我們

依據歐盟施行的個人資料保護法,我們致力於保護您的個人資料並提供您對個人資料的掌握。
按一下「全部接受」,代表您允許我們置放 Cookie 來提升您在本網站上的使用體驗、協助我們分析網站效能和使用狀況,以及讓我們投放相關聯的行銷內容。您可以在下方管理 Cookie 設定。 按一下「同意」即代表您同意採用目前的設定,更多資訊請瀏覽 隱私權聲明

此網站使用了Cookies

依據歐盟施行的個人資料保護法,我們致力於保護您的個人資料並提供您對個人資料的掌握。按一下「同意」,代表您允許我們置放 Cookie 來提升您在本網站上的使用體驗、協助我們分析網站效能和使用狀況,以及讓我們投放相關聯的行銷內容。

按一下「僅必需的」,代表您只允許我們置放必要的 Cookie。網站運行離不開這些 Cookie 且您不能在系統中將其關閉。通常僅根據您所做出的操作(即服務請求)來設置這些 Cookie,如設置隱私偏好、登錄或填充表格。您可以將您的瀏覽器設置為阻止或向您提示這些 Cookie,但可能會導致某些網站功能無法工作。

關於Cookie 谷歌隱私權政策