周萬春
摘要:醫(yī)師在用PACS輔助診斷的同時,往往需要影像以外的各種信息(病人年齡,病人性別等)。首先基于DICOM標準,介紹了獲得數(shù)據(jù)元素的方法,以及配置文件的設(shè)計手段,以保證程序的靈活性和可擴展性。結(jié)果表明,經(jīng)過對dcm數(shù)據(jù)元素的處理顯示,可以在保證原有圖像正常顯示的同時,增加更多的信息輔助醫(yī)生診斷。
關(guān)鍵詞:dicom;pacs;醫(yī)學影像系統(tǒng);配置文件
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)07-0155-04
Abstract: Diagnosing with the aid of PACS, doctors tend to get more information except images, including patients age, sex and so on. Based on DICOM.we introduce a method of acquiring data element and ensure the flexibility and expandability of application by configuration files.The result demonstrates that after processing of DCM data Element,PACS ensures the normally display of the original images.At the same time it offers doctors more information to diagnose.
Key words: dicom; pacs; physic picture system; configuration file
PACS是Picture Archiving and Communication Systems的縮寫,意為影像歸檔和通信系統(tǒng),主要用于把日常產(chǎn)生的各種醫(yī)學影像以數(shù)字化的方式海量保存起來,以供后續(xù)使用,同時增加一些輔助診斷管理功能。隨著PACS在醫(yī)院的廣泛應(yīng)用,PACS不僅僅作為圖像的歸檔傳輸工具,也成為輔助醫(yī)生做病情分析的利器。但是單純的醫(yī)學影像顯示不能滿足醫(yī)生的需求,所以在顯示病人更多信息來輔助醫(yī)生診斷方面,PACS的運用就顯得很有必要。
1 DICOM文件結(jié)構(gòu)
DICOM文件一般由一個DICOM文件頭一個DICOM數(shù)據(jù)集組成,文件擴展名為dcm。
1.1 DICOM文件頭
DICOM文件頭包含了標識數(shù)據(jù)集合的相關(guān)信息。
每個DICOM文件都必須包括該文件頭。文件頭的最開始是文件前言,它由128個00H字節(jié)組成。接下來是DICOM 前綴,它是一個長度為4字節(jié)的字符串“DICM”,可以根據(jù)該值來判斷一個文件是不是DICOM 文件。文件頭中還包括其他一些非常有用的信息,如文件的傳輸格式、生成該文件的應(yīng)用程序等。
1.2 DICOM數(shù)據(jù)集
一個DICOM數(shù)據(jù)集由多個數(shù)據(jù)元素(Data Element)串連組成,每個數(shù)據(jù)元素具有類似的結(jié)構(gòu),都是由標簽 (Tag)、值描述 (Value Representation,VR )、值長度(Value Length)和值域(Value Field)組成,如圖1所示。
數(shù)據(jù)元素標簽(Tag):4字節(jié)十六進制表示,按順序排列包括組號碼和元素號碼。根據(jù)(組號,元素號)的規(guī)則可以唯一定位到數(shù)據(jù)集中的某一元素,結(jié)合DICOM標準中第三章數(shù)據(jù)字典即可查看其意義。
值類型表述(VR):2Bytes的字符串,是數(shù)據(jù)元素的VR值。已給定數(shù)據(jù)元素標簽的VR在數(shù)據(jù)詞典中有詳細定義。這兩字節(jié)的VR用DICOM的默認字符集編碼。
數(shù)據(jù)值長度:一個16或32bits(取決于顯式或隱式VR)無符號整數(shù),表明了準確的數(shù)據(jù)值體的長度,按字節(jié)數(shù)目(為偶數(shù))記錄。此長度不包含數(shù)據(jù)元素標簽、VR、值長度字段。一個32bit的長度字段(FFFFFFFFH)表示未定義的數(shù)據(jù)值體長度。未定義長度可能被用于VR為項目序列(SequenceofItems,SQ)類型的數(shù)據(jù)元素。對于值類型為OW(OtherWordString)或OB(OtherByteString)的數(shù)據(jù)元素,未定義長度則依賴于傳輸句法協(xié)議。
值域表明了數(shù)據(jù)元素的值,其長度為偶數(shù)字節(jié)。該字段的數(shù)據(jù)類型是由數(shù)據(jù)元素的VR所明確定義。值多重性(ValueMultiplicity,VM)指定了該類型的數(shù)據(jù)值體中可包括的取值的數(shù)目。如果VM大于1,表明元素是多重取值的。未定義長度的數(shù)據(jù)值體通過序列定界項目界定。
值類型為CS,也就是最長為16bytes的字符串,其詳細的要求可以查看DICOM標準第五章6.2值描述。
VM為1,即值個數(shù)為1個。
2 DICOM中信息的提取
基于DCMTK庫,我們可以很方便快捷的獲得dcm文件中某個數(shù)據(jù)元素的信息。根據(jù)組號、元素號就可以得到其對應(yīng)的值類型和值。
在本文中,我們主要使用DcmFileFormat類來載入dcm文件并獲取其數(shù)據(jù)元素。
4 程序的靈活性
根據(jù)上面的方法已經(jīng)能夠在影像周圍顯示annotation信息,但是當我們需要顯示Patient Name時,就需要用硬編碼(hard code)的形式寫進程序。對顯示的內(nèi)容進行任何的改動都將涉及到代碼的改動。顯然當軟件較大時這樣很小的改動會造成一定的維護成本。所以從程序的靈活性角度出發(fā),我們有必要對程序進行進一步的改進。
使程序數(shù)據(jù)持久化的方法有很多,比如關(guān)系模型、xml、二進制流等。為方便修改,我們優(yōu)先考慮xml配置文件的方法。
根據(jù)xml的設(shè)計技巧及原則,們設(shè)計了以下結(jié)構(gòu),如圖2所示。
可以發(fā)現(xiàn)上述的xml結(jié)構(gòu)與類數(shù)據(jù)結(jié)構(gòu)基本一致,這樣既有利于后續(xù)對配置文件的修改,也有利于程序?qū)ε渲梦募淖x取。
可以發(fā)現(xiàn)上述的xml結(jié)構(gòu)與類數(shù)據(jù)結(jié)構(gòu)基本一致,這樣既有利于后續(xù)對配置文件的修改,也有利于程序?qū)ε渲梦募淖x取。
5 實驗結(jié)果
本程序基于Windows7系統(tǒng)和Qt5.4.0環(huán)境下運行。
圖3給出了實驗結(jié)果,其中,圖3(b)為添加了病人圖片相關(guān)annotation信息的對比圖。通過圖3的對比,可以明顯看出,醫(yī)生在查看影像的同時還能得到更多有關(guān)病人的信息,這樣更有利于醫(yī)生對病人病情的診斷。同時,前文中也提到配置文件的運用可以使醫(yī)生定義自己感興趣的信息,這樣也方便不同科室的醫(yī)生使用,因為他們可能對病人的不同信息感興趣。
6 結(jié)束語
綜上所述,本文主要介紹了以xml作為基礎(chǔ)為PACS系統(tǒng)添加annotation數(shù)據(jù)結(jié)構(gòu)的設(shè)計過程。但在實際的開發(fā)過程中,還有更多的關(guān)于annotation的需求,比如在跨平臺開發(fā)時需要考慮到配置文件的跨平臺特性,又比如不同的dcm文件類型有不同的annotation需求,這些都可以基于上面所講述的設(shè)計過程來實現(xiàn)。
參考文獻:
[1] 胡旭鳴.基于B/S模式的的電子病歷與醫(yī)學影像系統(tǒng)集成研究[J].計算機應(yīng)用與軟件,2014,31(10):1202-1306.
[2] 龔自霞,成江晨.DICOM醫(yī)學影像文件的解析[J].電腦知識與技術(shù),2011,7(28):6899-6906.
[3] 甘昕艷.基于DICOM在PACS醫(yī)學影像系統(tǒng)中設(shè)計與實現(xiàn)[J].微計算機信息,2009,25(12):128-181
[4] 李亞偉,段會川.XML數(shù)據(jù)庫技術(shù)[J].山東師范大學學報,2005,20(1):21-24
[5] 王恒,朱玉全,吳微.DICOM醫(yī)學圖像文件的信息提取及圖像顯示的實現(xiàn)[J].醫(yī)療設(shè)備信息,2007,22(9):1-3.
[6] 王江靜.XML文檔設(shè)計的原則和方法[J].太原師范學院學報,2005,4(3):60-74.