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

DICOM文件解析及其消息傳輸

2018-02-03 00:41:05張?jiān)斖醭?/span>
電腦知識(shí)與技術(shù) 2018年2期

張?jiān)?王超

摘要:DICOM(Digital Imaging and Communications in Medicine)即醫(yī)學(xué)數(shù)字成像和通信,是醫(yī)學(xué)圖像和相關(guān)信息的國(guó)際標(biāo)準(zhǔn)(ISO 12052)。它定義了質(zhì)量能滿足臨床需要的可用于數(shù)據(jù)交換的醫(yī)學(xué)圖像格式。對(duì)DICOM文件進(jìn)行解析顯示并對(duì)結(jié)果進(jìn)行發(fā)送接收,之后結(jié)合到移動(dòng)端實(shí)現(xiàn),可對(duì)醫(yī)療信息傳輸提供極大便利。

關(guān)鍵詞:DICOM;醫(yī)療;消息解析;文件傳輸

中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)02-0017-02

1 背景

DICOM[1]標(biāo)準(zhǔn)涵蓋了醫(yī)學(xué)數(shù)字圖像的采集、歸檔、通信、顯示及查詢等幾乎所有信息交換的協(xié)議;其推出與實(shí)現(xiàn),大大簡(jiǎn)化了醫(yī)學(xué)影像信息交換的實(shí)現(xiàn),推動(dòng)了遠(yuǎn)程放射學(xué)系統(tǒng)、圖像管理與通信系統(tǒng)(PACS)的研究與發(fā)展,并且由于DICOM的開放性與互聯(lián)性,使得與其他醫(yī)學(xué)應(yīng)用系統(tǒng)(HIS、RIS等)的集成成為可能[2]。目前大多數(shù)醫(yī)院使用這種協(xié)議進(jìn)行數(shù)據(jù)傳輸主要是在電腦端,這在便捷性和時(shí)效性上可能會(huì)有所欠缺。

本文將對(duì) DICOM 消息構(gòu)造進(jìn)行分析,通過編程語言實(shí)現(xiàn)對(duì) DICOM文件的解析,并對(duì)解析完成的結(jié)果進(jìn)行發(fā)送接收。通過本文中的過程方法可以對(duì)DICOM文件實(shí)現(xiàn)記錄信息和圖像的顯示和解析傳輸,基于此可進(jìn)行移動(dòng)端應(yīng)用的開發(fā),憑借移動(dòng)端便捷,及時(shí)的特點(diǎn),使醫(yī)療信息傳輸更加有效率[3]。

2 DICOM消息構(gòu)造

DICOM主要的消息構(gòu)造可分為記錄信息和圖像數(shù)據(jù)這兩個(gè)部分,各類信息的開頭通過tag聲明。

整體構(gòu)造如下圖所示,先是128字節(jié)的導(dǎo)言部分,這里絕大多數(shù)的DICOM文件都為空。然后是4字節(jié)的前綴‘DICM。之后就是文件元dataelement。

Tag:DICOM中的數(shù)據(jù)字典。Tag由4字節(jié)的16進(jìn)制數(shù)表示,前2個(gè)字節(jié)為組號(hào),后2個(gè)字節(jié)為偏移地址,即為元素號(hào)。

VR:分為顯式VR和隱式VR。組號(hào)是0002的元素都是顯式的。

3 DICOM文件解析與信息顯示

對(duì)于DICOM文件的解析與信息顯示大致上可分為四步,前三步是根據(jù)DICOM消息構(gòu)造對(duì)DICOM文件進(jìn)行解析,最后一步是對(duì)得到的信息進(jìn)行顯示。

第一步:跳過128字節(jié)的導(dǎo)言部分,并讀取前綴是否為“DICM”這4個(gè)字符,若不是則返回文件格式錯(cuò)誤,若是則進(jìn)行文件解析。

dicomFile.BaseStream.Seek(128, SeekOrigin.Begin); //跳過128字節(jié)導(dǎo)言部分

if (new string(dicomFile.ReadChars(4)) != "DICM")

{

MessageBox.Show("沒有dicom標(biāo)識(shí)頭,文件格式錯(cuò)誤");

return;

}

第二步:讀取文件元dataelement 。讀取所有0002開頭的tag 并根據(jù)(0002,0010)的值確定傳輸語法。文件元tag部分的數(shù)據(jù)元素都是以顯示VR的方式表示的,它的值是字節(jié)碼處理傳輸語法。主要是確定字節(jié)序和VR類型。這些在DICOM標(biāo)準(zhǔn)的第六章[4]中有說明。

switch (VFStr)

{

case "1.2.840.10008.1.2.1\0"://顯示little

isLitteEndian = true;

isExplicitVR = true;

break;

case "1.2.840.10008.1.2.2\0"://顯示big

isLitteEndian = false;

isExplicitVR = true;

break;

case "1.2.840.10008.1.2\0"://隱式little

isLitteEndian = true;

isExplicitVR = false;

break;

default:

break;

}

第三步:讀取普通tag根據(jù)tag值輸出對(duì)應(yīng)記錄信息, 直到7fe0,0010 這個(gè)存儲(chǔ)圖像數(shù)據(jù)的 dataelement。在前一步已經(jīng)確定了VR是顯示還是隱式。顯示情況下根據(jù)VR 和Len 確定數(shù)據(jù)類型跟數(shù)據(jù)長(zhǎng)度直接讀取就可以了。隱式情況下,則需要根據(jù)tag 字典確定它是什么VR再才能讀取。關(guān)于這個(gè)字典也在DICOM標(biāo)準(zhǔn)的第六章。

圖2 DICOM文件元部分tag對(duì)應(yīng)信息

if (tag.Substring(0, 4) == "0002")//文件頭 特殊情況

{

VR = new string(dicomFile.ReadChars(2));

if (VR == "OB" || VR == "OW" || VR == "SQ" || VR == "OF" || VR == "UT" || VR == "UN")

{

dicomFile.BaseStream.Seek(2, SeekOrigin.Current);

Len = dicomFile.ReadUInt32();

}

else

Len = dicomFile.ReadUInt16();

}

else if (tag == "fffe,e000" || tag == "fffe,e00d" || tag == "fffe,e0dd")//文件夾標(biāo)簽

{

VR = "**";

Len = dicomFile.ReadUInt32();

}

else if (isExplicitVR == true)//有無VR的情況

{

………………………….

else if (isExplicitVR == false)

{

VR = getVR(tag);//無顯示VR時(shí)根據(jù)tag判斷

Len = dicomFile.ReadUInt32();

}

//判斷是否應(yīng)該讀取VF 以何種方式讀取VF

………………………………

第四步:讀取灰度像素?cái)?shù)據(jù)并調(diào)窗以GDI的方式顯示出來。直接按像素從左到右從上到下逐行依次掃描。兩個(gè)字節(jié)表示1個(gè)像素普通DICOM格式存儲(chǔ)的是16位的灰度圖像,其實(shí)有效數(shù)據(jù)只有12位,除去0 所以最高值是2047。比如CT值從-1000到+1000,空氣的密度為-1000水的密度為0 金屬的密度為+1000總共的值為2000

4 文件發(fā)送接收

解析出來的結(jié)果可通過socket通信進(jìn)行發(fā)送接收,這里把解析出來的結(jié)果分為記錄文件信息和圖像信息分別進(jìn)行傳輸。發(fā)送端創(chuàng)建一個(gè)socket。之后把解析出來的文件讀入內(nèi)存并通過socket傳輸?shù)浇邮斩?。接收端監(jiān)聽這個(gè)socket,當(dāng)發(fā)送端發(fā)送數(shù)據(jù)時(shí)接收,接收完畢后返回接收成功。

5 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)環(huán)境:windows10 x64,服務(wù)器為本地模擬。

DICOM文件解析結(jié)果:左側(cè)為解析出來的記錄信息,右側(cè)為解析出來的圖像信息。

可以看到成功解析出了DICOM文件的記錄信息和圖像信息,并將其分別顯示出來。

對(duì)比log日志后發(fā)現(xiàn)接收的信息與解析出來的信息一致,發(fā)送接收成功。

6 結(jié)束語

DICOM這個(gè)傳輸協(xié)議是在醫(yī)療領(lǐng)域被廣泛應(yīng)用的,現(xiàn)在這個(gè)解析系統(tǒng)已經(jīng)基本上實(shí)現(xiàn)了這個(gè)協(xié)議的解析和發(fā)送接收,接下來需要做得到就是移動(dòng)端的嵌套,相信這個(gè)系統(tǒng)的完整版會(huì)對(duì)各大醫(yī)院醫(yī)療信息的交換帶來巨大的便利。

參考文獻(xiàn):

[1] Dicom Standard,Introduction and Overview[EB/OL][2017-09-20]. http://dicom.nema.org/medical/dicom/current/output/html/part01.html.

[2] 尤超. DICOM 文件頭信息讀取及解析[J]. 微型電腦應(yīng)用, 2012, 28(9):39-44.

[3] 蔣君, 龐樹茂, 馮前進(jìn). 醫(yī)學(xué)影像系統(tǒng)的互聯(lián)網(wǎng)應(yīng)用[J]. 中國(guó)數(shù)字醫(yī)學(xué), 2016, 11(7):17-19.

[4] Dicom Standard,Data Dictionary[EB/OL][2017-10-02]. http://dicom.nema.org/medical/dicom/current/output/html/part06.html.endprint

主站蜘蛛池模板: 国产亚洲精久久久久久久91| 成人在线天堂| 亚洲一区色| 国产中文一区a级毛片视频| 中文字幕亚洲精品2页| 黄色网站在线观看无码| 午夜小视频在线| 成人av专区精品无码国产 | 精品偷拍一区二区| 欧美高清国产| 天天综合天天综合| 色噜噜在线观看| 91口爆吞精国产对白第三集| 久久久久人妻精品一区三寸蜜桃| 精品久久高清| 专干老肥熟女视频网站| 国产aaaaa一级毛片| 99re在线观看视频| 制服无码网站| 国产一区在线观看无码| 国产精品部在线观看| 91丝袜美腿高跟国产极品老师| 亚洲水蜜桃久久综合网站 | 亚洲成a人片7777| 久久99久久无码毛片一区二区| 国产亚洲美日韩AV中文字幕无码成人| 人妻一本久道久久综合久久鬼色| 国模极品一区二区三区| AV无码一区二区三区四区| 99热这里只有精品免费国产| 老汉色老汉首页a亚洲| 久久免费观看视频| 亚洲国产精品无码AV| 国产精品区网红主播在线观看| 亚洲系列中文字幕一区二区| 在线一级毛片| 无码内射在线| 1级黄色毛片| 国产一区二区色淫影院| 国产凹凸视频在线观看| 欧美另类图片视频无弹跳第一页| 91免费国产高清观看| 日韩二区三区无| 全午夜免费一级毛片| 人妻精品久久久无码区色视| 国产无遮挡裸体免费视频| 综合人妻久久一区二区精品| 日本三级黄在线观看| 在线观看av永久| 色播五月婷婷| 热99re99首页精品亚洲五月天| 国产精品视频白浆免费视频| 免费国产一级 片内射老| 欧美精品啪啪一区二区三区| 内射人妻无码色AV天堂| 久久国产精品娇妻素人| 欧美日韩精品综合在线一区| 国产区免费精品视频| 国产精品永久在线| 国产一级妓女av网站| 2020国产免费久久精品99| 国产精品极品美女自在线网站| 情侣午夜国产在线一区无码| 免费亚洲成人| 国产精品无码影视久久久久久久| 成年av福利永久免费观看| 99精品一区二区免费视频| 无遮挡国产高潮视频免费观看 | 国语少妇高潮| 国产精品一区在线麻豆| 亚洲国产日韩欧美在线| 亚洲第一黄色网| 91国内视频在线观看| 综合久久五月天| 国产精品视频导航| 国产极品粉嫩小泬免费看| 久久久久人妻一区精品| 国产丰满大乳无码免费播放| 日韩 欧美 小说 综合网 另类| 国产人在线成免费视频| 97国产成人无码精品久久久| 日本精品中文字幕在线不卡|