基于LabVIEW的食管動力檢測系統(tǒng)設計
線程2用于顯示選項卡2中的所有控件(包括多列列表框),線程3用于插入新的菜單。
3.2 數據采集與顯示模塊的設計
數據采集與顯示模塊是醫(yī)生操作檢測儀的平臺,主要完成食管壓力數據的讀取和顯示、圖標的標記以及數據的保存。
每100 ms下位機將食管壓力數據寫到USB端點2上。要正確讀取USB接口的數據,涉及對USB設備的驅動。在LabVIEW環(huán)境下,可以采用傳統(tǒng)的開發(fā)USB驅動程序方法對D12芯片進行驅動,如先用windowsDDK開發(fā)USB驅動程序,然后用Visual C++編寫DLL,最后在LabVIEW中調用DLL來操作USB設備。這里介紹一種在LabVIEW環(huán)境下使用VISA進行快速開發(fā)USB驅動程序的方法。
NI-VISA是一個用來與各種儀器總線進行通信的高級應用編程接口(API),且支持USB通信。使用VISA的驅動程序開發(fā)向導為USB設備創(chuàng)建并安裝INF文檔,只需在相應欄內輸入設備的供應商ID(0X0471)、產品ID(0X0666)、制造商名稱(Philips Semiconductors)和型號名稱(PDILISBD12)。本設計中D12的VISA儀器描述符為USB0::0x0471::0x0666::NI-VISA-O::RAw,在測量與自動化瀏覽器中可找到設備及其資源名稱,并可使用VI-SA Interactive Control測試通信情況。
LabVIEW中使用VISA中的函數與USB設備進行通信。圖5為從USB設備端點2中讀取指定字節(jié)數的程序代碼。具體實現(xiàn)過程如下:
①在前面板的“VISA資源名稱控件”中輸入VISA資源名稱字符串(即上述的VISA儀器描述符),用來指定要連接的USB設備。
②用VISAOPEN函數打開VISA資源名稱控件所指定的設備。
③用USB Raw的屬性節(jié)點USB Settings:Bulk-InPipe,將端點2設置為批量輸入端點。
④用VISARead函數從USB端點2中讀取16字節(jié)的數據。
用波形圖表控件顯示讀取的USB端點數據,即可實現(xiàn)食管壓力數據的顯示。
在采集過程中,應根據需要在波形圖表上設置基線和標記圖標。例如,當確定測壓導管所有通道均插入胃中,應點擊工具欄相應圖標設置胃基線;當確定導管處于食管下括約肌中時,應點擊工具欄相應圖標進行標記。這些圖標都會標記在波形圖表上,以便今后的計算和分析。采集過程中,還應將食管壓力數據以及圖標標記的時間和種類分別保存到二進制文件中,最后將文件作為oLE對象保存到數據庫中。
3.3 數據分析模塊的設計
數據分析模塊主要負責分析患者食管壓力數據,并完成對患者壓力數據的輔助診斷。
首先需要將數據采集過程中進行過標記操作的食管壓力數據波形圖繪制出來。由于要顯示波形圖以及各種直線、圖像、文字,波形圖控件已不能實現(xiàn)這些功能,故使用圖片控件進行顯示的工作??墒褂美L制波形圖函數將保存在數據庫中相應的食管壓力數據繪制在圖片中。利用讀取BMP文件函數、還原像素圖函數和繪制還原像素圖函數,可以在圖片控件對應區(qū)域繪制正確的標志圖像。
對圖像進行操作時還需進行防閃爍的處理。通常情況下,在圖片中重新繪制圖形或拖動滾動條時,LabVIEW將通過擦除對象的內容并重繪新數據的方式來更新某個對象,但這樣會導致可覺察的閃爍。通過設置圖片控件快捷菜單中的平滑更新屬性,LabVIEW會自動利用幕后緩沖區(qū)來最大限度地抑制擦除和重繪所引起的閃爍。食管壓力數據的波形圖繪制完后,根據在數據采集時所作的標記選擇相應的區(qū)域,系統(tǒng)會自動計算各種功能參數,如LES靜息壓、殘余壓、松弛率以及吞咽時食管的收縮壓力。
分析結果會以報告的形式反饋給醫(yī)生,并且會被重新保存到數據庫中。最后,分析結果以報表形式輸出。
4 食管壓力檢查結果分析
上位機軟件系統(tǒng)會自動測量食管不同部位在靜息狀態(tài)與吞咽時的壓力,并實時顯示給醫(yī)生。對歷史數據樣本進行分析時,根據波形與采集時的標記,從彈出的快捷菜單中選擇對應的菜單項,然后選擇波形區(qū)域,系統(tǒng)會自動計算各種食管壓力參數,以方便醫(yī)生進行診斷。
4.1 食管下括約肌壓力及松弛功能檢測
四通道測壓導管經鼻腔插入胃腔,用緩慢定點牽拉法,當壓力曲線隨呼吸波幅度明顯增加,如壓力持續(xù)升高超過胃基線2 mmHg以上時,說明測壓通道已進入LES;同時點擊工具欄圖標,以在壓力波形的相應通道上進行LES標記。選擇區(qū)域后可測得LES靜息壓,如圖6所示。
評論