謝勤嵐,夏 超,苑金龍
(1 中南民族大學(xué) 生物醫(yī)學(xué)工程學(xué)院 ,武漢 430074;2 深圳藍(lán)韻實(shí)業(yè)有限公司 藍(lán)韻網(wǎng)絡(luò)研發(fā)中心,深圳 518108)
計(jì)算機(jī)斷層掃描(CT)和核磁共振成像(MR)技術(shù)發(fā)展成熟,廣泛應(yīng)用于臨床診斷.通過分析一個(gè)CT/MR序列的人體組織器官二維切片圖像,醫(yī)生能夠得到病灶的大小及形狀,方便診斷.但CT/MR序列中的切片數(shù)量很多,醫(yī)生對(duì)病灶位的確診需要多組不同視點(diǎn)角度,而CT切片圖像的定位,MR不同切片間的相互定位是一個(gè)難題,針對(duì)某一幅圖像,醫(yī)生并不知道該切片圖像在組織器官上對(duì)應(yīng)的精確位置[1].
現(xiàn)有技術(shù)基于PC客戶端在醫(yī)學(xué)影像上繪制定位線正是用來解決這個(gè)問題,但由于PC端的移動(dòng)性能較差,無法適應(yīng)于現(xiàn)在遠(yuǎn)程醫(yī)療中醫(yī)生精確定位病人病灶的需求.而目前存在的基于Web的定位線繪制大多數(shù)依賴JavaApplet來實(shí)現(xiàn),它要求用戶在對(duì)醫(yī)學(xué)圖像進(jìn)行操作時(shí)安裝基于Java的圖像處理插件,同樣有著安裝繁瑣、推廣應(yīng)用不便的弊端.
因此,本文提出了一種基于Web的CT/MR圖像序列定位線繪制的方法.該方法采取了高效準(zhǔn)確的定位線算法、瀏覽器與Web服務(wù)器之間的異步請(qǐng)求、以及HTML5(Hypertext Markup Language)的畫布屬性等技術(shù)最終實(shí)現(xiàn)了CT/MR圖像序列定位線在瀏覽器上的顯示.該實(shí)現(xiàn)可以在不安裝任何插件的瀏覽器上完成醫(yī)學(xué)影像的定位線繪制,可以使醫(yī)生利用任何移動(dòng)設(shè)備隨時(shí)隨地登陸瀏覽器,通過網(wǎng)址訪問醫(yī)院內(nèi)部的醫(yī)學(xué)影像服務(wù)器,為區(qū)域醫(yī)療和遠(yuǎn)程會(huì)診的精確診斷提供重要輔助工具.
DICOM即數(shù)字影像和通信標(biāo)準(zhǔn),是為了統(tǒng)一醫(yī)學(xué)影像存儲(chǔ)和傳輸格式,實(shí)現(xiàn)系統(tǒng)間信息自由交換而產(chǎn)生的.其中WADO協(xié)議是用來規(guī)定Web醫(yī)學(xué)圖像信息傳輸?shù)臉?biāo)準(zhǔn),根據(jù)客戶端的請(qǐng)求,可以返回相應(yīng)的影像、報(bào)告、DICOM文件、JPG文件等.WADO規(guī)定了Web中請(qǐng)求不同的對(duì)象以及影像信息的參數(shù)設(shè)置方式和相關(guān)的相應(yīng)的機(jī)制,為在Web中檢索患者信息、影像、教學(xué)提供匿名DICOM文件等提供了便利.標(biāo)準(zhǔn)中規(guī)定其請(qǐng)求規(guī)則為:<通信協(xié)議>://服務(wù)器地址/路徑文件?請(qǐng)求參數(shù).具體實(shí)例如圖1.
圖1 基于WADO協(xié)議的url請(qǐng)求模板Fig.1 Request template of the url based on WADO agreement
Web客戶端的請(qǐng)求參數(shù)以如圖1中url的形式傳給服務(wù)器.根據(jù)DICOM中的WADO標(biāo)準(zhǔn),RequestType=WADO是請(qǐng)求參數(shù)中的必選參數(shù),該參數(shù)為服務(wù)器的請(qǐng)求標(biāo)識(shí),表明請(qǐng)求來自WEB,請(qǐng)求符合WADO標(biāo)準(zhǔn);3個(gè)UID(StudyUID、SeriesUID、ObjectUID)分別為檢查唯一標(biāo)識(shí)、對(duì)象序列唯一標(biāo)識(shí)、對(duì)象唯一標(biāo)識(shí),這些參數(shù)用來指定請(qǐng)求的DICOM對(duì)象.其他的可選參數(shù)如Rows、Columns、WindowCenter、WindowWidth、ImageQuality等分別表示圖像高度、圖像寬度、窗位、窗寬、圖像質(zhì)量等.
標(biāo)準(zhǔn)的DICOM文件由文件頭和數(shù)據(jù)信息構(gòu)成.DICOM 文件頭包含了標(biāo)識(shí)數(shù)據(jù)集合的相關(guān)信息.數(shù)據(jù)信息是DICOM數(shù)據(jù)元素Tag的組號(hào)從0x0008開始的數(shù)據(jù)元素構(gòu)成的數(shù)據(jù)集.數(shù)據(jù)信息按內(nèi)容可分為圖像文件數(shù)據(jù)信息和非圖像文件數(shù)據(jù)信息.圖像文件數(shù)據(jù)信息是多個(gè)信息對(duì)象的復(fù)合體,包括病人(Patient)、檢查(Study)、系列(Series)和圖像(Image)數(shù)據(jù)等數(shù)據(jù)元素;非圖像文件數(shù)據(jù)信息由目錄管理、病人管理、檢查管理、就診管理、結(jié)果管理等管理信息和其它信息構(gòu)成[2].數(shù)據(jù)元素結(jié)構(gòu)見表1.
表1 數(shù)據(jù)元素結(jié)構(gòu)
元素標(biāo)識(shí)Tag是DICOM數(shù)據(jù)元素的標(biāo)記號(hào),它由組號(hào)和元素號(hào)構(gòu)成,是與每個(gè)數(shù)據(jù)一一對(duì)應(yīng)的標(biāo)記,如0002、0003就是組號(hào)為0x0002,元素號(hào)為0x0003的介質(zhì)存儲(chǔ)服務(wù)類實(shí)例UID數(shù)據(jù)元素的Tag號(hào).值表示VR(value representation)是DICOM標(biāo)準(zhǔn)對(duì)字符、整型和浮點(diǎn)型等數(shù)據(jù)類型的特定表示方法.多值性VM(Value Multiplity)是用于表示數(shù)據(jù)元素中包含的元素值的個(gè)數(shù)[3].
本文中CT/MR的定位線繪制的服務(wù)端算法就用到了數(shù)據(jù)信息中的Patient Position (0018,5100)、ImageType(0008,0008)、ImagePositionPatient(0020,0032)、Rows(0028,0010)、IamgeOrientationPatient (0020,0037)、PixelSpacing(0028,0030)、Columns(0028,0011)和Frame of Reference UID(0x20,0x52) 等屬性.
CT和MR的Web定位線繪制涉及到兩幅圖像:定位圖像和當(dāng)前圖像.
首先將定位圖像和當(dāng)前圖像的唯一標(biāo)識(shí)3個(gè)UID通過TCP/IP協(xié)議以URL的形式傳遞給Web服務(wù)器,然后再由FastCGI(FastCGI是一個(gè)常駐型的CGI(Common Gateway Interface))將請(qǐng)求傳送給WADO服務(wù),WADO服務(wù)解析WADO協(xié)議串,根據(jù)協(xié)議串中的DICOM文件的UIDS從數(shù)據(jù)文件存儲(chǔ)服務(wù)中請(qǐng)求DICOM文件流,同時(shí)將DICOM文件流存儲(chǔ)在數(shù)據(jù)交換區(qū)域.WADO服務(wù)根據(jù)接收到協(xié)議串的參數(shù),處理DICOM文件流得到需要的內(nèi)容,最后FastCGI將WADO服務(wù)的處理結(jié)果通過Web服務(wù)器返回給瀏覽器客戶端,前端獲得返回的數(shù)據(jù)結(jié)果,畫出基于Web的CT/MR圖像序列定位線[4,5].Web定位線繪制總體框架如圖2.
圖2 基于WEB的定位線繪制框架圖Fig.2 Positioning line drawing frame based on WEB
2.2.1 確定定位圖
CT圖像定位圖的判斷:通過WADO協(xié)議傳入的StudyUID信息,遍歷該StudyUID下病人的所有CT序列,由DICOM文件數(shù)據(jù)中數(shù)據(jù)元素的Image Type屬性來判斷是否是定位圖片,若是LOCALIZER表示該圖像為定位圖像,若是AXIAL則表示為切片圖像[1].
MR圖像定位圖的判斷:MR圖像的定位線是個(gè)斷層,有多幅定位圖,成像方式復(fù)雜,無法通過ImageType屬性判斷.而Frame of Reference UID屬性基本上都指向了一幅不存在的圖像,也無法進(jìn)行有效判斷.實(shí)際上MR定位圖像是一個(gè)相對(duì)、相互的概念,只要兩張圖像間存在交線,那么MR中任何一張圖像都可能成為另一張圖像的定位圖[6].
2.2.2 定位線算法模型
首先我們將定位圖像第一行、第一列方向矢量叉乘,得到圖像平面的法向量,如式(1):
(yr1zc1-yc1zr1,zr1xc1-xr1zc1,xr1yc1-xc1yr1).
(1)
(x-x1)dx+(y-y1)dy+(z-z1)dz=0.
(2)
對(duì)于切片圖像(記為Plane2):
(1)取出Tag(0020,0032)值即Image Position Patient屬性,確定圖像首個(gè)像素(即圖像左上角點(diǎn))在所述統(tǒng)一坐標(biāo)系中的三維坐標(biāo)值O2(x2,y2,z2);
(3)取出Tag(0028,0030) 值即pixel spacing屬性,確定圖像的每個(gè)像素代表的實(shí)際物理寬度和代表的實(shí)際物理高度Spacingx,Spacingy;
(4)取出Tag(0028,0010) 值即Rows屬性,確定圖像的高度SrcHeight;
(5)取出Tag(0028,0011) 值即Columns屬性,確定圖像的寬度SrcWight.
如此可以得到切片圖像4個(gè)端點(diǎn)的三維坐標(biāo),將其記為P1(x,y,z),P2(x,y,z),P3(x,y,z),P4(x,y,z)(設(shè)P1點(diǎn)即是O2點(diǎn),P2點(diǎn)是切片右上角點(diǎn),P3點(diǎn)是右下角點(diǎn),P4點(diǎn)是左下角點(diǎn)),如式(3)~(5):
(3)
(4)
(5)
然后將4個(gè)已知的端點(diǎn)與定位圖像面片算出其矢量位移,將其記為dv1,dv2,dv3,dv4,如式(6):
dv1=(P1x-O1x)×dx+(P1y-O1y)×dy+
(P1z-O1z)×dz.
.(6)
同理可得dv2,dv3,dv4,如此得到以下4個(gè)判斷式子:
IsCross12=
(dv1>0&&dv2<0)‖(dv1<0&&dv2>0),
(7)
IsCross23=
(dv2>0&&dv3<0)‖(dv2<0&&dv3>0),
(8)
IsCross34=
(dv3>0&&dv4<0)‖(dv3<0&&dv4>0),
(9)
IsCross41=
(dv4>0&&dv1<0)‖(dv4<0&&dv1>0).
(10)
假設(shè)此圖像的4條邊界為P1P2,P2P3,P3P4,P4P1,那么根據(jù)(7)~(10)式的邏輯判斷可以得知,如果點(diǎn)P1和P2分別位于已知平面的兩側(cè),那么IsCross12 為真,表明P1P2線段與平面有交點(diǎn),同理如果IsCross23為真,表明P2P3線段與平面有交點(diǎn),以此類推可以判斷出哪些線段是與平面有交點(diǎn),同時(shí)可知如果4條線段與平面都沒有交點(diǎn),那么這兩張圖像就是平行的,則不存在定位線.
通過以上的判斷和計(jì)算,就可以找到線段與已知平面的交點(diǎn),有且只會(huì)有2個(gè)交點(diǎn),將其記為CrossPoint1(x,y,z),CrossPoint2(x,y,z).計(jì)算公式如下(假設(shè)IsCross12 為真):
CrossPoint1,x=P1x+(P2x-P1x)×
|dv1/(dv1-dv2) ,
(11)
CrossPoint1,y=P1y+(P2y-P1y)×
|dv1/(dv1-dv2) ,
(12)
CrossPoint1,z=P1z+(P2z-P1z)×
|dv1/(dv1-dv2) .
(13)
同理可以得到CrossPoint2.得到CrossPoint1,CrossPoint2兩個(gè)交點(diǎn)的坐標(biāo)值后,將其轉(zhuǎn)換為二維坐標(biāo)點(diǎn)CrossPoint1(x,y),CrossPoint2,也就是三維空間點(diǎn)在平面上投影點(diǎn)的位置,最后再通過Web服務(wù)器將數(shù)據(jù)返回給瀏覽器客戶端.算法流程見圖3.
圖3 服務(wù)端定位線算法流程圖Fig.3 Positioning line algorithm flow chart on the service side
服務(wù)端處理完并返回?cái)?shù)據(jù)后,Web客戶端首先接收到2個(gè)二維坐標(biāo)點(diǎn)值LocalizerStartPoint(x,y)、LocalizerEndPoint(x,y),分別表示起點(diǎn)值和終點(diǎn)值.然后根據(jù)頁面圖像顯示的大小、原圖像的大小和相對(duì)顯示框圖像位移等將其轉(zhuǎn)換為Web頁面坐標(biāo).
假設(shè)圖像的原始大小寬和高分別為srcWidth、srcHeight,由基于WADO協(xié)議的url可選參數(shù)Rows、Columns向服務(wù)器請(qǐng)求返回 .假設(shè)Web頁面顯示框大小為ShowFramewidth、ShowFrameheight,得到寬和高的分別比例如式(14)、(15):
ratioW=ShowFramewidth/srcWidth,
(14)
ratioH=ShowFrameheigth/srcHeight.
(15)
原始圖像內(nèi)適應(yīng)顯示框后,寬和高必定按同一比例縮放,圖像才不會(huì)失真,而寬或高多余的部分稱之為非圖像區(qū)域,用黑色填充,縮放比例計(jì)算方法為:
(1)如果ratioW (2)如果ratioW>ratioH,ratio=rationW. 得到縮放比例后,然后算出圖像寬和高上不是圖像數(shù)據(jù)的部分,有且只有一個(gè)方向上是有非圖像區(qū)域的,如式(16)、(17): offwetW=(ShowFranmewidth-ratio× srcWidth)/2, (16) offwetH=(ShowFranmeeight-ratio× srcHeight)/2. (17) 同時(shí)還要注意的是,圖像在顯示框內(nèi),放大縮小或者移動(dòng)后會(huì)有相對(duì)顯示框的偏移,這個(gè)偏移相對(duì)于顯示框的左頂點(diǎn)將其記為offsetLeft、offsetTop. 如此通過以上的數(shù)據(jù),可以最終算出轉(zhuǎn)化為Web頁面上的坐標(biāo)值,如式(18)、(19): TransStartPoint.x=LocalizerStartPoint.x× offsetW+offsetLeft, (18) TransStartPoint.y=LocalizerStartPoint.y× offsetW+offsetTop. (19) 同理可以獲得終點(diǎn)的坐標(biāo)TransEndPoint(x,y).算法流程見圖4. 圖4 Web客戶端定位線算法流程圖Fig.4 Positioning line algorithm flow chart on the client side 根據(jù)兩種掃描各自的特征,CT和MR的Web定位線繪制采取不同的顯示布局:CT的定位圖像通常只在一個(gè)序列中,而且數(shù)量較少,所以采取一個(gè)顯示框內(nèi)存放定位圖像,其他顯示框內(nèi)存放切片圖像,來相對(duì)定位圖像畫定位線的布局結(jié)構(gòu).MR則是任何圖片都可能是切片圖像或是定位圖像,注重的是相互定位,除了當(dāng)前圖像,在每個(gè)顯示框內(nèi)的圖像上都要畫上定位線. 基于以上框架流程,在Web客戶端根據(jù)WADO協(xié)議,客戶端請(qǐng)求定位線信息的url如下模式. (1)3個(gè)UID參數(shù)(StudyUID、SeriesUID、SopUID)傳入當(dāng)前圖像的3個(gè)UID. (2)添加LocalizerlineUIDS參數(shù)(自行定義參數(shù)名),用于存放定位圖像3個(gè)UID. (3)其他窗寬窗位,圖像高,寬等參數(shù)可選傳入. 服務(wù)端收到url請(qǐng)求信息后,通過WADO服務(wù)解析,經(jīng)過DICOM文件信息讀取和算法流程后,再通過Web服務(wù)器返回計(jì)算結(jié)果,得到相對(duì)于原始圖像定位線的兩個(gè)二維交點(diǎn)坐標(biāo). 最后根據(jù)前端算法得到兩個(gè)頁面顯示坐標(biāo)點(diǎn),在瀏覽器上創(chuàng)建HTML5的畫布,用虛線連接兩個(gè)點(diǎn),就實(shí)現(xiàn)了基于Web的CT/MR圖像序列中定位線的繪制.CT和MR定位線繪制效果見圖5和圖6. 圖5 基于Web的CT圖像序列定位線繪制Fig.5 Drawing positioning line of CT image sequence based on Web 圖6 基于Web的MR圖像序列定位線繪制Fig.6 Drawing positioning line of MR image sequence based on Web 基于Web的定位線是未來遠(yuǎn)程醫(yī)療不可缺少的一部分,本文針對(duì)遵循DIOCM3.0標(biāo)準(zhǔn)組織的醫(yī)學(xué)影像,實(shí)現(xiàn)了一種適用于CT/MR的圖像序列定位線的繪制方法.該方法一方面繼承了傳統(tǒng)客戶端PACS的定位線繪制的精準(zhǔn)和算法的高效,同時(shí)克服了PC端的移動(dòng)性能較差的缺點(diǎn);另一方面基于WADO協(xié)議和異步請(qǐng)求技術(shù)的總體框架,相較于基于Java插件的Web繪制,在數(shù)據(jù)傳輸速度和顯示流暢性上也有了很大的改進(jìn). 參 考 文 獻(xiàn) [1] 周 軍.CT圖像序列中定位線的繪制[J].科技信息(科學(xué)教研),2007(24):458. [2] 彭述娟.符合DICOM標(biāo)準(zhǔn)的醫(yī)學(xué)影像文件管理[J].計(jì)算機(jī)應(yīng)用,2003(12):1136-1137. [3] 佟英紅.無損壓縮DICOM文件解讀的實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2003(10):131-132. [4] 曹明干.WEB PACS系統(tǒng)的架構(gòu)研究[J].醫(yī)院管理論壇,2011(7):32-33. [5] Munch H,Engelmann U,Schroeter A.Web-based distribution of radiologica PACS to EPR[J].International Congress Series,2003,1256:873-879. [6] 吳恢遠(yuǎn).PACS中MR序列定位線的繪制[J].中國醫(yī)學(xué)裝備,2009(10):6-7.3 具體實(shí)現(xiàn)
4 結(jié)語