999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt和DCMTK的DICOM瀏覽器的開發

2012-09-20 03:38:14康亞冰劉哲星艾育華陳芳炯耿仁文
中國醫療設備 2012年11期

康亞冰,劉哲星,艾育華,陳芳炯,耿仁文

1.華南理工大學 電子與信息學院,廣東 廣州 510641;2. 南方醫科大學 生物醫學工程學院,廣東 廣州510515;3. 南方醫科大學南方醫院,廣東 廣州 510515

0 前言

計算機和通信技術的高速發展推動了數字影像的進步,醫院信息化建設目前已經取得了長足的進步。影像歸檔和通信系統(Picture Archiving and Communication System,PACS)[1]將醫學影像資料轉化為數字形式,通過高速計算設備及通訊網絡完成對圖像信息的采集、存儲、顯示及傳輸等功能,使得醫學影像資料得以有效管理和充分利用。PACS應遵循DICOM[2]醫學影像設備和系統可以互聯互通;DICOM瀏覽器是PACS的重要組成部分,它直接面向用戶,其可用性和操作友好程度直接關系到PACS系統的用戶接受度。

Qt[3]是諾基亞公司開發的一個跨平臺的C++圖形用戶界面應用程序開發框架,利用Qt可以實現“一處編寫,隨處編譯”的跨平臺解決方案。這些平臺包括Windows、MacOS X、Linux、Solaris、HP-UX及 UNIX系統。因此,日益受到開發者的重視和青睞。

DCMTK(DICOM Tool Kit)[4]德國offis公司提供的開源項目,經過10多年的開發和維護,已經基本實現了DICOM協議的內容,它為實現DICOM協議提供了一個平臺。DCMTK不但提供各種操作系統平臺下已經編譯好的二進制開發包,而且提供所有的源代碼,供用戶在自己的開發平臺上自行編譯。

結合Qt強大的圖形用戶界面應用程序開發框架和DCMTK開源庫實現DICOM協議,本文提出基于Qt和DCMTK庫的DICOM瀏覽器的開發,目的是結合二者開源和跨平臺的優勢,以期開發出經濟、適應性強的DICOM瀏覽器。本文開發環境采用Windows 7,編譯開發環境選用VS2010,Qt庫采用最新版的Qt Library 4.9.2,DCMTK庫采用最新版的DCMTK 3.6.0。

1 DICOM文件格式概述

DICOM3.0標準遵照面向對象[5-6]思想進行設計,具體表現為實體-關系模式(Entity-Relations,E-R)。DICOM文件一般由DICOM文件頭和DICOM數據集(DICOM Data Set)組成。

文件頭一般由128字節的文件前言(File Preamble)組成,它包含了封裝數據的標識信息[7]以用于描述應用概略或特定實現,如果沒有這樣的描述,則要全部置零。緊跟著4字節DICOM的前綴“DICM”,它用來標識文件類型是不是DICOM文件。

數據集描述了現實世界信息對象(IOD)的單個實例。DICOM數據集是分層次的,即有四個信息層次組成:病人(Patient)、研究(Study)、系列(Series)、圖像(Image),前一個層次和后一個層次是一對多的關系。DICOM數據集由一系列的DICOM數據元素組成,每個數據元素包含元素標簽(Tag)、值表示法(VR)、值長度(VL)及值域(VF),其中,VR為可選項。其結構,見圖1。

圖1 數據元素組成

Tag是一個有序的16 位的無符號證書對,由組號和元素號組成,它是數據元素的唯一標識。

VR是2字節的字符串,表示后面的值域的數據類型,它是可選項。根據VR是否出現將數據元素分成兩類,即隱式VR數據元素(不含VR)和顯式VR數據元素(含VR)。

VL表示本元素中值域中數據的長度,它是一個16位或32位的無符號整數。

VF的長度為偶數字節,存儲了數據元素的值,其數據類型由VR指定,數據長度由VL指定。

2 DICOM圖像的像素編碼

2.1 傳輸語法

傳輸語法(transfer syntax UID)規定了數據的編碼方式,其中包括字節的排序和壓縮方式以及數據元素是否包含VR。傳輸語法由元信息中標簽為(0002,0010)的數據元素決定,它是一個唯一標識符(UID),可以用Dataset類中的getOriginalXfer()來獲取。例如傳輸語法為UID為1.2.840.10008.1.2.1,那么UID NAME,即編碼規則為Explicit VR Little Endian,表明在數據元素結構中含有VR,且對二進制數據用倒序方式編碼。

2.2 大端與小端

大端(Big Endian)是指對于多字節的二進制數據,按順序方法排列每字節,即高字節存儲在低地址中。小端(Little Endian)指對于多字節二進制數據,按照倒序方法排列每字節,即低字節存儲在低地址中。兩者對于單字節組成的字符串都是從左到右排序,另外,對于VR=OB的數據編碼不受大端小端的影響。

2.3 像素編碼

圖像的像素數據可以是壓縮格式,也可以是非壓縮格式。無論為哪種編碼格式,像素的編碼都是從左導游,從上到下的,編碼格式由傳輸語法決定。

2.3.1 非壓縮格式

非壓縮格式的VR通常為OW,像素位數不大于8 位的使用Explicit VR非壓縮格式,也可以使用VR為OB。VR為OW類型的數據存儲順序視大端小端而定。

2.3.2 壓縮格式

壓縮格式的VR通常為OB,DICOM支持游程編碼(RLE)、JPEG和JPEG2000編碼格式。

(1)游程編碼。其傳輸語法為1.2.840.10008.1.2.5,在DICOM中使用的編碼方式為:對于重復字節,用<字節數+1><字節值>編碼;對于非重復字節,用<字節數-1><字節值>編碼。這是一種無損編碼方式。

(2)JPEG編 碼。DICOM標 準 支 持4種JPEG壓 縮,其傳輸語法分別為1.2.840.10008.1.2.4.50、1.2.840. 10008.1.2.4.51、1.2.840.10008.1.2.4.57、1.2.840.10008. 1.2.4.70,前兩種為有損壓縮,采用DCT變換,后兩種為無損壓縮,采用DPCM編碼。

(3)JPEG2000編碼。其傳輸語法分別為1.2.10008.1.2.4.90、1.2.10008.1.2.4.91,前者是無損編碼,后者可以是有損編碼,也可以是無損編碼。

3 DICOM文件的讀取及圖像的顯示

DICOM文件的讀取要用到DCMTK中的dcmdata 和dcmimage兩個工具包。dcmdata包含了管理DICOM文件和結構的類,同時它也提供對DICOMDIR的支持以滿足DICOM Storage Media的需要。dcmimage提供對彩色圖像的支持,對單色圖像的支持由dcmimgle提供。

3.1 文件的讀取

dcmdata中的DcmFileFormat是負責處理DICOM文件的類。其中,loadFile()方法可以讀入DICOM文件,getDataset()可以獲取DICOM數據集。DIOCM文件的讀取代碼如下:

3.2 DICOM圖像信息解析

dcmdata中的DcmDataset類負責處理DICOM文件數據集。其中,findAndGet系列函數可以解析和獲取DICOM文件中包含的各類信息。下面的代碼演示從DICOM數據集中提取病人的姓名和圖像顯示默認的窗寬、窗位信息。

3.3 獲取圖像像素信息

在Qt架構中顯示圖像,要把DICOM中的圖像轉化為Qt中支持的圖像,本文中轉化為QImage。QImage支持獨立與硬件的圖像,且支持直接訪問像素。

在Qt窗口下顯示圖像,首先需要根據DICOM文件中圖像信息創建對應的QImage。如果是單色圖像,則創建Format_Indexed8格式的8位灰度圖像QImag。如果是彩色圖像,則創建Format_ARGB32格式的32位彩色圖像QImage。

然后給創建的QImage的每個像素賦值。如果是灰度圖像,在賦值之前,設置好默認的窗寬、窗位。給QImage像素賦值后,就可以在Qt框架中直接顯示,如為一幅DICOM格式的胸片的顯示結果,見圖2。

圖2 DICOM文件格式的胸片的顯示結果

3.4 DICOM圖像處理

DCMTK中包含了對圖像處理的包和類。dcmimgle是一個圖像處理庫和可用的工具模塊,它包括了對DICOM單色圖像的訪問和顯示。其中,DICOMImage類為模塊提供接口,主要目的是顯示;dcmimgle模塊提供對彩色圖像的支持。dcm2pnm工具支持轉換DICOM圖像為PPM/PGM、PNG、TIFF或 BMP格式,dcmscale工具支持縮放DICOM圖像。dcmjpeg提供了JPEG格式的壓縮/解壓縮庫以及工具。使用該模塊包含的類,可將DICOM圖像對象在非壓縮和JPEG壓縮表示(傳輸協議)之間轉換,既支持無失真的JPEG處理,也支持有失真的JPEG處理。其中,DJCodecEncoder是JPEG編碼器的一個抽象codec類,DJCodecDecoder是JPEG解碼器的一個抽象codec類。

DICOM瀏覽器中,最常用的圖像處理操作是窗寬、窗位[8]。在DICOM文件中,灰度圖像存儲的位數通常為8位、12位、16位、24位等,而目前計算機所能顯示的灰度圖像的等級數在0~255之間[9],因此,在顯示DICOM圖像之前,需要對圖像進行響應的轉換,即通過窗位(Window Center)和窗寬(Window Width)將某段感興趣的灰度值轉換到0~255之間。窗位和窗寬指定了從存儲的像素值到顯示像素值的線性變換。線性變換公式,見式(1)[10]。

式中,G(V)為顯示器的顯示值,g為顯示器顯示的最大值,W為窗寬,C為窗位。

DICOMImage中的setWindow(const double center,constdouble width)函數實現了窗寬窗位的調整。專業DICOM瀏覽器使用鼠標的滑動來調整窗寬窗位,上下滑動調整窗位,左右滑動調整窗寬,可以使用Qt中的鼠標移動事件mouseMoveEvent(QMouseEvent* event)和鼠標按鍵事件mouse zPressEvent(QMouseEvent*event)來實現。實現過程如下:

圖3 調整窗寬窗位前后的對比

4 結束語

本文基于DICOM3.0標準和Qt架構,采用DCMTK開源庫平臺,開發一個跨平臺的DICOM圖像瀏覽器,實現了DICOM文件的讀取和圖像的顯示、窗寬和窗位的調整等圖像處理操作。以本文開發的DICOM瀏覽器為基礎,通過增加DICOM圖像的傳輸、分割、配準[11]及三維圖像重建等功能,可進一步開發為一個功能強大的DICOM圖像診斷平臺,并作為PACS的重要組成部分。DCMTK開源庫提供了較完整的DICOM標準支持,Qt架構具有強大的開發功能、簡易的GUI編程特點以及跨平臺特性,二者結合,可以快速開發出功能更強大的DICOM瀏覽器軟件。

[1]邱峰,田捷,曹勇,等. PACS系統綜述[J].中國醫學影像技術,2000,16(1):73.

[2]于鳳海.DICOM標準綜述[J].紅外,2003,(9):30-33.

[3]閆鋒欣,曾泉人,張志強.C++ GUI QT4 編程[M].2版.北京:電子工業出版社,2008.

[4]柯穎波,黃展鵬.基于Visual C++和DCMTK的醫學DICOM圖像顯示與調窗[J].現代計算機,2011,(30):58-61.

[5]郭立文.面向對象的分析與設計[J].中等職業教育,2005,(6):46-47.

[6]楚振升,李亞.兼容DICOM設備的連接方法改進[J].中國醫療設備,2011,26(7):57-58.

[7]林春漪,尹俊勛,馬麗紅,等.論解讀DICOM醫學圖像文件及其顯示的VC++實踐方法[J].現代醫學儀器與應用,2005,(1):3-6.

[8]夏珺芳.基于DCMTK顯示醫學影像軟件的實現[J].計算機科學技術與發展,2011,(3):54-57.

[9]張尤賽,趙志峰,陳福民.DICOM醫學圖像的DIB顯示技術[J].計算機應用研究,2003,(2):75-76.

[10]王光飛,劉杰,劉文.DICOM醫學圖像的調窗技術及DIB顯示[J].醫療裝備,2005,(8):1-4.

[11]阮秋琦,阮宇智.數字圖像處理[M].2版.北京:電子工業出版社,2007.

主站蜘蛛池模板: 99视频在线精品免费观看6| 伊人久久大香线蕉综合影视| 老司机久久精品视频| 亚洲av无码牛牛影视在线二区| 中文字幕亚洲乱码熟女1区2区| 国产69精品久久久久孕妇大杂乱| 色香蕉影院| 亚洲一区二区无码视频| 992Tv视频国产精品| 91国内外精品自在线播放| 亚洲男人天堂久久| 久久精品这里只有国产中文精品 | 91精品啪在线观看国产91| 国产精品浪潮Av| 国产精品青青| 国产黑人在线| 天天摸夜夜操| 毛片三级在线观看| 日韩午夜片| 无码视频国产精品一区二区| 亚洲精品无码人妻无码| 91久久青青草原精品国产| 国产在线高清一级毛片| 国产第八页| 欧美精品亚洲精品日韩专区va| 国产福利一区视频| 欧美日韩v| 亚洲视频二| 国产婬乱a一级毛片多女| 国产精品九九视频| 激情综合图区| 久久国产av麻豆| 久久亚洲国产最新网站| 国产乱人伦精品一区二区| 午夜高清国产拍精品| 亚洲第一av网站| 亚洲中文字幕手机在线第一页| 国产日产欧美精品| 精品国产毛片| 亚洲欧州色色免费AV| 99这里只有精品6| 一级毛片免费播放视频| 人妻少妇乱子伦精品无码专区毛片| 国产chinese男男gay视频网| 国产成人综合久久精品下载| 97久久精品人人| 国产精品亚洲五月天高清| 久久久久人妻一区精品色奶水 | 女人18毛片一级毛片在线 | 五月天丁香婷婷综合久久| 国产乱子伦手机在线| 国产福利免费观看| 久久人体视频| 蝴蝶伊人久久中文娱乐网| 综合社区亚洲熟妇p| 国产粉嫩粉嫩的18在线播放91 | 亚洲综合专区| 丝袜无码一区二区三区| 55夜色66夜色国产精品视频| 黄色网在线| 国产h视频免费观看| 一级毛片免费播放视频| 人妻无码AⅤ中文字| 综合色天天| 国内自拍久第一页| 国产主播一区二区三区| 综合五月天网| 久99久热只有精品国产15| 精品成人一区二区| 免费观看欧美性一级| 天天综合网色| 一级毛片无毒不卡直接观看| 91久草视频| 欧美精品伊人久久| 日韩中文欧美| 欧美成人一级| 视频一区亚洲| 91热爆在线| 亚洲综合色婷婷中文字幕| 国产成人精品日本亚洲77美色| 精品视频在线观看你懂的一区 | 首页亚洲国产丝袜长腿综合|