醫(yī)療內(nèi)窺鏡影像系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
醫(yī)療內(nèi)窺鏡是目前常用的一種臨床診斷工具,醫(yī)生通過(guò)內(nèi)窺鏡能直接觀察到人體內(nèi)部器官的病變情況,如潰瘍,腫瘤等,還可以利用它進(jìn)行微創(chuàng)的外科手術(shù),在醫(yī)學(xué)界應(yīng)用廣泛。
電子內(nèi)窺鏡主要由光學(xué)鏡頭、信息采集系統(tǒng)、監(jiān)視器等組成。電子內(nèi)窺鏡的成像原理是:信息采集系統(tǒng)裝備的光源發(fā)出的光信號(hào),經(jīng)鏡頭內(nèi)的導(dǎo)光纖維導(dǎo)人人體體腔,經(jīng)體腔內(nèi)表面反射后,被鏡身前端裝備的微型圖像傳感器CCD接收,CCD將光信號(hào)轉(zhuǎn)換成電信號(hào),再通過(guò)導(dǎo)線輸送到信息采集系統(tǒng),信息采集系統(tǒng)將圖像信號(hào)處理后顯示在監(jiān)視器屏幕上。
本項(xiàng)目開(kāi)發(fā)的醫(yī)療內(nèi)窺鏡影像系統(tǒng)可與多種型號(hào)的消化系統(tǒng)內(nèi)窺鏡配套使用,且可以在胃鏡與腸鏡之間靈活切換。
1 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)的硬件構(gòu)成包括:消化系統(tǒng)內(nèi)窺鏡(胃鏡/腸鏡),監(jiān)視器,CCD,內(nèi)窺鏡影像系統(tǒng),視頻采集卡,彩色打印機(jī),腳踏開(kāi)關(guān),硬件結(jié)構(gòu)如圖1所示。
醫(yī)療內(nèi)窺鏡影像系統(tǒng)的功能大致為:影像實(shí)時(shí)顯示與采集、數(shù)字圖像預(yù)處理、病例信息的管理、典型病例庫(kù)的維護(hù)、診斷報(bào)告的生成與維護(hù)等。其具體實(shí)現(xiàn)如下:
(1)影像實(shí)時(shí)顯示。
內(nèi)窺鏡系統(tǒng)的影像數(shù)據(jù)來(lái)自鏡頭上的CCD,CCD將鏡頭獲取的光信號(hào)轉(zhuǎn)換為電信號(hào),經(jīng)導(dǎo)線傳送到視頻采集卡,視頻采集卡將電信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可以理解的數(shù)字信號(hào),方便影像的實(shí)時(shí)顯示與獲取。
本系統(tǒng)使用的視頻采集卡為天敏公司生產(chǎn)的SDK3000,PCI卡為單卡1塊SAA7130芯片,可以傳輸4路Video和1路SVideo實(shí)時(shí)視頻信號(hào)。在機(jī)器性能允許的情況下可實(shí)現(xiàn)單機(jī)多卡運(yùn)行。SDK3000支持多制式的視頻源(PAL制、NTFS制、SECAM制)。
使用1塊卡輸出的幀率,視頻源50 Hz輸出的幀率最大為25幀,視頻源60 Hz輸出的幀率最大為30幀。
(2)影像采集。影像采集包括單幀數(shù)字圖像的采集和視頻的錄制。
單幀圖像采集有兩種方式:一種是操作者在計(jì)算機(jī)旁使用鼠標(biāo)采集;另一種是操作者使用腳踏開(kāi)關(guān)采集。腳踏開(kāi)關(guān)連接在計(jì)算機(jī)的串口,每次觸發(fā)腳踏開(kāi)關(guān),計(jì)算機(jī)的串口會(huì)接收到一串16進(jìn)制字符串,然后執(zhí)行單幀圖像采集的功能。
從視頻采集卡獲取的圖像數(shù)據(jù)為yuv格式,而大部分圖像處理是基于RGB顏色空間的,所以要進(jìn)行顏色空間的轉(zhuǎn)換。
除支持全屏采集外,還可以手動(dòng)設(shè)置采集區(qū)域。用戶可用鼠標(biāo)圈選出一個(gè)矩形區(qū)域?yàn)橛行^(qū)域,有效區(qū)域外的圖像被舍棄。實(shí)現(xiàn)方法是根據(jù)用戶選擇的矩形區(qū)域和圖像的原始尺寸計(jì)算出圖像的有效尺寸,截取有效數(shù)據(jù),進(jìn)行Yuvtorgb轉(zhuǎn)換,將轉(zhuǎn)換后的數(shù)據(jù)加上文件頭和信息頭組合成一幅有效圖像。
錄制視頻一方面可用于科研教學(xué)。另一方面可以幫助醫(yī)生采集遺漏的病變圖像,視頻一般采用XviD MPEG-4編碼方式,幀率為25。
(3)視頻回放及2次采集。
視頻回放有多種方法,本系統(tǒng)采用VC中已注冊(cè)的Windows Media Player組件,支持視頻播放、暫停、快進(jìn)等。
2次采集指從視頻流中采集可能遺漏的病變圖像。由于視頻是基于XviD MPEG-4編碼方式壓縮的,從中獲取單幀圖像需要解碼。使用avi的API函數(shù)可以自動(dòng)調(diào)用xvid解碼器。
PGETFRAME pGF=AVIStreamGetFrameOpen(pAStream,NULL);
這種方式獲取的是原始xvid格式的數(shù)據(jù),與期望不符。
獲取RGB格式數(shù)據(jù)的具體步驟為:
Step1獲取格式大??;
Step2獲取格式信息頭;
Step3修改信息頭的壓縮方式和緩沖區(qū)大小;
Step4將修改后的信息頭傳入上式的第2個(gè)參數(shù),得到的返回值即為RGB格式數(shù)據(jù)。
(4)病歷管理。
在實(shí)際使用中,同一時(shí)間可能有多個(gè)人掛號(hào),操作者可以將多個(gè)病患的基本信息錄入系統(tǒng),然后再按順序安排內(nèi)窺鏡檢查。因此系統(tǒng)提供了4個(gè)病歷導(dǎo)航鍵,“第一個(gè)”,“前一個(gè)”,“后一個(gè)”,“最終”,方便醫(yī)護(hù)人員查看。
另外,本系統(tǒng)還提供了多種方式查看歷史病歷。例如可以按姓名,檢查號(hào)等關(guān)鍵字查詢病歷,還可以由診斷名進(jìn)行模糊查詢,統(tǒng)計(jì)查詢結(jié)果。
(5)圖像預(yù)處理。
單幀圖像預(yù)處理使用了圖形庫(kù)——CxImage,如圖2所示。CxImge與其他的優(yōu)秀的圖形庫(kù)如OpenIL,F(xiàn)reeImage,PaintLib等相比,不僅擁有強(qiáng)大而齊全的功能,而且是完全開(kāi)源的。對(duì)于數(shù)字圖像處理,不僅能靈活地使用它完成陜速開(kāi)發(fā),而目能學(xué)習(xí)其內(nèi)部的核心實(shí)現(xiàn)代碼。
利用CxImage庫(kù),不僅可以進(jìn)行圖像格式間的靈活轉(zhuǎn)換,而且圖像的基本預(yù)處理變得很容易,如亮度、色度、飽和度的調(diào)整,圖像的縮放和旋轉(zhuǎn)等。
(6)報(bào)告生成與維護(hù)。
—份圖文并茂的診斷報(bào)告由病人的基本文字信息,圖像信息和診斷結(jié)果組成?;疚淖中畔ǎ翰∪诵彰≈?,電話,職業(yè),主治醫(yī)生,主訴,術(shù)前準(zhǔn)備等,這類(lèi)信息需要醫(yī)護(hù)人員手工錄入。圖像信息指病變圖像或視頻,由于數(shù)據(jù)庫(kù)容量有限,醫(yī)生從采集的所有圖像中選擇16張存入數(shù)據(jù)庫(kù),其中4張將打印在診斷報(bào)告上。診斷結(jié)果包括病人消化系統(tǒng)各個(gè)部位的健康狀況描述,以及診斷結(jié)果,這部分信息可以手工錄入,也可以在合適的典型病例上進(jìn)行適當(dāng)?shù)男薷?。若醫(yī)生在病人體內(nèi)提取了活檢樣本,還需要記錄活檢樣本的部位名稱和塊數(shù)。診斷報(bào)告產(chǎn)生后,就可以預(yù)覽和打印。
(7)典型病例庫(kù)的維護(hù)。
經(jīng)驗(yàn)豐富的醫(yī)生可以在大量的內(nèi)窺鏡檢查病歷中總結(jié)出常見(jiàn)的病歷描述。本系統(tǒng)提供了一個(gè)典型病歷庫(kù),用戶選擇合適的典型病例,少量修改后,即可產(chǎn)生一份病歷報(bào)告,同時(shí)提供邊修改邊預(yù)覽功能,不僅減少醫(yī)護(hù)人員手工錄入的工作量,“所見(jiàn)即所得”的方式也更直觀更高效,如圖4所示。用戶還可以按照自己的經(jīng)驗(yàn)增刪、修改典型病例庫(kù)中的內(nèi)容。
數(shù)據(jù)庫(kù)設(shè)計(jì):本系統(tǒng)中最核心的數(shù)據(jù)表為病歷報(bào)告表。以StomachReport表為例,其主要字段如表1所示。
2 系統(tǒng)測(cè)試
醫(yī)療內(nèi)窺鏡輔助診斷系統(tǒng)是內(nèi)窺鏡圖像信息獲取、處理、存儲(chǔ)和傳輸?shù)闹行?。其功能完備性、穩(wěn)定性、安全性和易操作性在內(nèi)窺鏡的臨床使用中起著重要的作用。
3 結(jié)束語(yǔ)
文中介紹的醫(yī)療內(nèi)窺鏡影像系統(tǒng)主要配合消化系統(tǒng)胃/腸內(nèi)窺鏡使用,輔助醫(yī)師進(jìn)行內(nèi)窺鏡檢查,兼容多種鏡頭,并以提高診斷效率為出發(fā)點(diǎn),為使用者提供了典型病例庫(kù)等方便報(bào)告生成的輔助功能。