陳慧娟 陳傳劍 張琦 丁偉丹 陸佳偉 楊天化 朱姬瑩
作者單位: 310053 杭州醫(yī)學(xué)院(陳慧娟 陳傳劍 張琦 丁偉丹 陸佳偉 楊天化)
310006 杭州第一人民醫(yī)院(朱姬瑩)
醫(yī)學(xué)影像三維可視化是利用圖形學(xué)技術(shù)和計(jì)算機(jī)技術(shù),將二維醫(yī)學(xué)圖像重建出立體的三維圖像,使之能清晰、全面的展現(xiàn)病灶及內(nèi)部信息,有助于提高醫(yī)師在臨床診斷或治療中的準(zhǔn)確性,已經(jīng)廣泛應(yīng)用于臨床[1]。由于基于C/S架構(gòu)的系統(tǒng)必須在用戶終端安裝客戶端軟件,其封閉性、安裝繁瑣、不易擴(kuò)展等局限性,已經(jīng)不能適應(yīng)遠(yuǎn)程會(huì)診、區(qū)域醫(yī)療等現(xiàn)代醫(yī)療發(fā)展的新需求[2]。全球廣域網(wǎng)(Web)是一種基于超文本和HTTP、全球性、動(dòng)態(tài)交互、跨平臺(tái)的分布式圖形信息系統(tǒng)[3]?;赪eb的可視化具有無需安裝插件、簡(jiǎn)化軟件維護(hù)、跨平臺(tái)、異構(gòu)性、分布式部署等特點(diǎn),已成為醫(yī)學(xué)影像可視化研究的主流趨勢(shì)[4]。本文將對(duì)基于Web的醫(yī)學(xué)影像三維可視化技術(shù)發(fā)展進(jìn)行介紹,并從醫(yī)學(xué)影像可視化的數(shù)據(jù)壓縮和傳輸、數(shù)據(jù)預(yù)處理、三維可視化以及Web可視化技術(shù)等4個(gè)方面進(jìn)行綜述。
早期,在Web客戶端實(shí)現(xiàn)簡(jiǎn)單的三維動(dòng)畫及交互操作主要是利用Java Applet和VRML(Virtual Reality Modeling Language)技術(shù),另外還集成Java、JavaScript和Flash等,均需要依賴于特定的平臺(tái)或安裝相關(guān)的瀏覽器插件,并受限于傳輸帶寬和網(wǎng)絡(luò)延遲,用戶體驗(yàn)一般[5]?;赪eb的醫(yī)學(xué)影像可視化主要采用在服務(wù)器進(jìn)行渲染。如張艷等[6]采用Java Applet完成了WebPACS分布式工作站。
近年來,隨著Web技術(shù)的迅速發(fā)展,特別是HTML5、Ajax和WebGL(Web Graphics Library)等技術(shù)的應(yīng)用,基于Web的可視化可以在Web終端的GPU(Graphics Processing Unit)加速渲染,不需要在用戶終端安裝任何插件,已成為醫(yī)學(xué)三維影像可視化研究的主流趨勢(shì)[7]。在用戶端進(jìn)行渲染的優(yōu)點(diǎn)是避免用戶終端頻繁與服務(wù)器進(jìn)行參數(shù)交互和結(jié)果渲染,減少網(wǎng)絡(luò)延遲,提高用戶體驗(yàn)。雷輝等[8]應(yīng)用WebGL+HTML5技術(shù)實(shí)現(xiàn)了面向Web的醫(yī)學(xué)影像可視化,前后端異步操作提供漸進(jìn)式可視化。MASOUD等[9]使用HTML5和WebGL技術(shù)實(shí)現(xiàn)醫(yī)學(xué)圖像數(shù)據(jù)讀取、影像瀏覽等交互顯示。劉兆明等[10]設(shè)計(jì)的可視化系統(tǒng),通過HTTP協(xié)議從服務(wù)器端獲取影像數(shù)據(jù),在用戶Web終端進(jìn)行影像數(shù)據(jù)的三維渲染,提高三維圖像的實(shí)時(shí)性及流暢性。
目前,主流的解決方案有基于Web服務(wù)端三維重建和基于Web客戶端可視化[11]?;诜?wù)端三維重建是在服務(wù)器端對(duì)醫(yī)學(xué)影像原始圖像進(jìn)行處理及渲染,在Web客戶端顯示出渲染后的結(jié)果?;诳蛻舳说娜S可視化是從服務(wù)器端獲取醫(yī)學(xué)原始數(shù)據(jù),在客戶端進(jìn)行三維重建。另外,對(duì)于復(fù)雜的三維圖像渲染,部分渲染計(jì)算在服務(wù)器端進(jìn)行預(yù)處理或渲染,有助于提高瀏覽器渲染的速度,將是不錯(cuò)的選擇。基于Web的醫(yī)學(xué)院三維可視化研究處于初級(jí)階段,尚未有成熟穩(wěn)定的產(chǎn)品,將有廣闊的發(fā)展空間。
2.1 醫(yī)學(xué)影像數(shù)據(jù)壓縮和傳輸技術(shù) 快速從服務(wù)器端獲取高質(zhì)量的醫(yī)學(xué)影像數(shù)據(jù),是實(shí)現(xiàn)醫(yī)學(xué)影像三維可視化的第一步。DICOM(Digital Imaging and Communications in Medicine)為適應(yīng)B/S架構(gòu),在DICOM 3.0中加入能夠?qū)崿F(xiàn)多點(diǎn)通信傳輸WADO(Web Access to DICOM Persistent Object)協(xié)議,采用http/https協(xié)議,由Web終端向Web服務(wù)器發(fā)出http請(qǐng)求,Web服務(wù)器接收到請(qǐng)求后,進(jìn)行解析請(qǐng)求,通過用戶身份標(biāo)識(shí)向PACS(Picture Archiving and Communication Systems)服務(wù)器查詢數(shù)據(jù),再返回相應(yīng)的信息(包括患者信息和圖像信息)給瀏覽器端[12-13]。趙緩緩等[14]應(yīng)用視頻壓縮、流媒體傳輸和Web技術(shù)開發(fā)基于DICOM動(dòng)態(tài)圖像的Web瀏覽器系統(tǒng)。
數(shù)據(jù)傳輸管線包括數(shù)據(jù)的編碼、傳輸、解碼和渲染等環(huán)節(jié),每個(gè)環(huán)節(jié)都非常重要,而基于Web的交互可視化主要瓶頸是在客戶端執(zhí)行解碼和渲染。已經(jīng)建立的流線型和漸進(jìn)式網(wǎng)格格式方法,利用隱藏延遲來改進(jìn)交互性,提升用戶體驗(yàn)。目前有基于CPU(Central Processing Unit)的高效解碼和使用GPU友好格式,使用GPU友好格式通過減少客戶端的解碼時(shí)間和更少的CPU-GPU帶寬來提高性能。LAVOUE等[15]應(yīng)用基于CPU的解碼技術(shù),通過解碼線程與主線程解耦,使渲染和用戶交互性能不受解碼時(shí)間的影響。WEN等[16]提出一種漸進(jìn)式網(wǎng)格壓縮技術(shù),基于識(shí)別模型中的相似部分,并用單個(gè)實(shí)例替換冗余部分,通過創(chuàng)建每個(gè)部分(輕量級(jí)漸進(jìn)網(wǎng)格)的連續(xù)細(xì)節(jié)級(jí)別(CLODs)獲得一個(gè)漸進(jìn)網(wǎng)格,最后使用WebGL在瀏覽器中逐步渲染。PONCHIO等[17]在WebGL中提出一種網(wǎng)格渲染技術(shù),從不同客戶端設(shè)備和網(wǎng)絡(luò)帶寬出發(fā),進(jìn)行優(yōu)化壓縮比,提高解碼和渲染。
2.2 影像數(shù)據(jù)預(yù)處理技術(shù) Dicom圖像在壓縮、傳輸和轉(zhuǎn)換等過程中,由于受到多種因素的影響,會(huì)產(chǎn)生噪音和失真,導(dǎo)致在Web傳輸形成的數(shù)據(jù)成像質(zhì)量下降,需在成像前做相應(yīng)的數(shù)據(jù)處理,以提高影像圖像的重建質(zhì)量和速度。目前主要的數(shù)據(jù)預(yù)處理方法:插值、平滑和濾波、增強(qiáng)等[18]。對(duì)原始數(shù)據(jù)進(jìn)行插值運(yùn)算處理增加數(shù)據(jù)量,進(jìn)一步進(jìn)行平滑和濾波處理,從而達(dá)到消除噪聲,增強(qiáng)圖像的效果。
2.3 三維可視化技術(shù) 醫(yī)學(xué)影像三維可視化是將影像數(shù)據(jù)通過信息技術(shù)直接呈現(xiàn)三維圖像,并可以進(jìn)行人機(jī)交互。當(dāng)前醫(yī)學(xué)影像可視化的常見方法有面繪制和體繪制兩大類[19]。另外,還有一些醫(yī)學(xué)影像處理工具:VTK、MITK、ITK、DCMTK等。
面繪制是提取物體平面元信息逼近顯示物體表面,通過渲染后得到三維圖像,并利用特定的圖形加速器進(jìn)行繪制和渲染的過程,有體素級(jí)重建和切片級(jí)重建兩種[20]。面繪制的速度較快,計(jì)算量小,算法效率高,交互性強(qiáng),但由于面繪制只能顯示一個(gè)等值面的信息而忽略了細(xì)節(jié),顯示效果較差。
體繪制的方法是基于體素與體數(shù)據(jù)場(chǎng)的關(guān)系,直接由三維數(shù)據(jù)場(chǎng)產(chǎn)生三維圖像的技術(shù)[21]。體繪制在不進(jìn)行分割的情況下而直接進(jìn)行繪制,不需要構(gòu)建中間幾何圖元,將三維體數(shù)據(jù)的內(nèi)外部特征及結(jié)構(gòu)展現(xiàn)在屏幕上。體繪制的圖像清晰度高,細(xì)節(jié)逼真,但計(jì)算量大,算法復(fù)雜,繪制速度相對(duì)面繪制慢。體繪制的主要算法包括光線投射算法、足跡表算法、錯(cuò)切-變形算法、紋理映射算法、最大密度投影法等[22]。
目前,醫(yī)學(xué)影像三維可視化技術(shù)的研究方向是改進(jìn)和優(yōu)化重建算法,提高圖像質(zhì)量和交互速度。在醫(yī)學(xué)臨床輔助診斷和治療的過程中,要求繪制的圖像必須高性能和高質(zhì)量,因此光線投射算法在基于Web醫(yī)學(xué)影像可視化應(yīng)用中較為廣泛,但其運(yùn)算量大、重建速度緩慢等問題也較為突出。國內(nèi)外學(xué)者開始一些改進(jìn)算法的研究,提出多種基于WebGL的光線投射改進(jìn)算法,來解決傳統(tǒng)體繪制的缺陷,基于GPU的光線投射是目前最先進(jìn)的體繪制方法[23-25]。
2.4 Web可視化技術(shù) 按照應(yīng)用程序所采用的基礎(chǔ)架構(gòu)進(jìn)行劃分,主要有基于Web服務(wù)的可視化、基于網(wǎng)格的可視化、基于云的可視化和瀏覽器中的本地渲染等Web可視化技術(shù)。 Web服務(wù)是一中用來支持通過網(wǎng)絡(luò)實(shí)現(xiàn)機(jī)器間信息交互的軟件系統(tǒng),由于Web服務(wù)是基于標(biāo)準(zhǔn)化的接口進(jìn)行交互,不同編程語言或工具不需要考慮細(xì)節(jié)就可以順利進(jìn)行通訊和協(xié)作。Web服務(wù)有基于RESTful(Representational State Transfer)架構(gòu)和基于SOAP(Simple Object Access Protocol)架構(gòu)兩種,基于RESTful的服務(wù)更為簡(jiǎn)單,更易與其他Web標(biāo)準(zhǔn)集成,是當(dāng)前的主流趨勢(shì),但在醫(yī)學(xué)影像三維可視化服務(wù)方面未得到足夠關(guān)注[26]。
基于網(wǎng)格的可視化源于高性能和復(fù)雜仿真的高需求,利用網(wǎng)格資源計(jì)算和仿真結(jié)果。由于網(wǎng)格資源是分布式部署的,因此如何有效的使用分布式基礎(chǔ)設(shè)施實(shí)現(xiàn)可視化渲染的同時(shí),處理好帶寬和交換延遲問題,將面臨巨大挑戰(zhàn)。大多數(shù)的網(wǎng)格可視化均是充分應(yīng)用Web服務(wù)來解決此問題,Koulouzis等[27]應(yīng)用Web服務(wù)的方法,實(shí)現(xiàn)醫(yī)學(xué)圖像的可視化。
基于云計(jì)算的可視化是一種新的分布式模型,是虛擬化、Web技術(shù)和網(wǎng)絡(luò)技術(shù)進(jìn)步的結(jié)果。由于云服務(wù)通常需要接入計(jì)算或存儲(chǔ)資源有限的訪問設(shè)備(如筆記本、PAD、手機(jī)等設(shè)備),因此基于云計(jì)算的可視化最大的挑戰(zhàn)是如何在云端和接入設(shè)備之間有效的傳輸數(shù)據(jù),同時(shí)減少用戶端對(duì)計(jì)算資源的需求。為解決這一問題,一般將要求高、計(jì)算量大的預(yù)處理任務(wù)放在云端完成,在客戶端只提取和傳輸可視化所需的數(shù)據(jù)。段婷婷等[28]應(yīng)用HTML5和VTK實(shí)現(xiàn)零足跡、跨平臺(tái)、瘦客戶端的面向?yàn)g覽器的醫(yī)學(xué)影像三維可視化。
基于瀏覽器的本地渲染主要是為了解決在服務(wù)器端渲染所帶來的網(wǎng)絡(luò)延遲,提高可視化過程中的交互速度。隨著WebGL技術(shù)的發(fā)展和JavaScript性能提高,使得在瀏覽器中實(shí)現(xiàn)高性能渲染成為可能。HTML5綜合HTML4.0和XHMTL1.0的標(biāo)準(zhǔn),結(jié)合CSS3.0和JavaScript技術(shù),其canvas元素使得Web瀏覽器不需要安裝插件直接顯示三維圖像和動(dòng)畫,讓W(xué)eb的應(yīng)用開發(fā)更為高效。
WebGL是一種基于OpenGL ES 2.0,利用JavaScript API呈現(xiàn)3D計(jì)算機(jī)圖形的技術(shù),提供跨平臺(tái)的、標(biāo)準(zhǔn)的、統(tǒng)一的API接口規(guī)范,為HTML5 Canvas提供硬件3D加速渲染,無需安裝插件[29]。WebGL技術(shù)解決了現(xiàn)有的Web三維動(dòng)畫交互式的個(gè)難題:難以支持Web端的GPU硬件加速和對(duì)瀏覽器插件的依賴。為了便于開發(fā)人員理解和應(yīng)用,提供較多框架和類庫,如Three.js、Babylon.js等類庫,通過瀏覽器訪問GPU實(shí)現(xiàn)3D渲染的頂層封裝庫,如X3DOM和XML3D等框架,將3D圖形與HTML5的DOM(document object model,文檔對(duì)象模型)集成。但WebGL也存在一些不足,如易因JavaScript的計(jì)算瓶頸而受到不同程度的限制,需要將大量的醫(yī)學(xué)影像數(shù)據(jù)傳輸至Web用戶端,占用較多的帶寬資源,交互響應(yīng)效率不高等。
基于Web架構(gòu)的醫(yī)學(xué)影像可視化系統(tǒng)具有跨平臺(tái)、不需要安裝插件,有利于遠(yuǎn)程協(xié)作和資源共享,必將成為醫(yī)學(xué)影像可視化的首選平臺(tái)。充分利用各端資源,將復(fù)雜的可視化預(yù)處理放在服務(wù)器或云端(如云計(jì)算)進(jìn)行,在瀏覽器端執(zhí)行渲染的混合可視化解決方案將更有發(fā)展。目前,基于Web的醫(yī)學(xué)影像三維可視化主要問題仍然是帶寬和延遲。在遠(yuǎn)程可視化的兩個(gè)主要挑戰(zhàn)中,雖然較多研究人員在保證圖像質(zhì)量的前提下,通過各種技術(shù)和算法來提高傳輸速度和交互延遲,但延遲問題尚無成熟的解決方案。這使得提高圖像質(zhì)量和減少延遲成為基于Web的醫(yī)學(xué)影像三維可視化領(lǐng)域中最具有挑戰(zhàn)性的問題。