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

DICOM文件解析及其消息傳輸

2018-02-03 00:41:05張元魯王超
電腦知識與技術(shù) 2018年2期

張元魯+王超

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

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

中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2018)02-0017-02

1 背景

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

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

2 DICOM消息構(gòu)造

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

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

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

VR:分為顯式VR和隱式VR。組號是0002的元素都是顯式的。

3 DICOM文件解析與信息顯示

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

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

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

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

{

MessageBox.Show("沒有dicom標識頭,文件格式錯誤");

return;

}

第二步:讀取文件元dataelement 。讀取所有0002開頭的tag 并根據(jù)(0002,0010)的值確定傳輸語法。文件元tag部分的數(shù)據(jù)元素都是以顯示VR的方式表示的,它的值是字節(jié)碼處理傳輸語法。主要是確定字節(jié)序和VR類型。這些在DICOM標準的第六章[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值輸出對應(yīng)記錄信息, 直到7fe0,0010 這個存儲圖像數(shù)據(jù)的 dataelement。在前一步已經(jīng)確定了VR是顯示還是隱式。顯示情況下根據(jù)VR 和Len 確定數(shù)據(jù)類型跟數(shù)據(jù)長度直接讀取就可以了。隱式情況下,則需要根據(jù)tag 字典確定它是什么VR再才能讀取。關(guān)于這個字典也在DICOM標準的第六章。

圖2 DICOM文件元部分tag對應(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")//文件夾標簽

{

VR = "**";

Len = dicomFile.ReadUInt32();

}

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

{

………………………….

else if (isExplicitVR == false)

{

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

Len = dicomFile.ReadUInt32();

}

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

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

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

4 文件發(fā)送接收

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

5 實驗結(jié)果

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

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

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

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

6 結(jié)束語

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

參考文獻:

[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] 蔣君, 龐樹茂, 馮前進. 醫(yī)學(xué)影像系統(tǒng)的互聯(lián)網(wǎng)應(yīng)用[J]. 中國數(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

主站蜘蛛池模板: 国产午夜一级毛片| 成人亚洲天堂| 欧亚日韩Av| 国产嫩草在线观看| 国内a级毛片| 国产无码网站在线观看| AV网站中文| 久久精品无码专区免费| 亚洲精品无码av中文字幕| 日韩天堂网| 999国内精品视频免费| 熟女日韩精品2区| 91精品小视频| 韩日无码在线不卡| 精品日韩亚洲欧美高清a| 欧美日韩在线国产| 亚洲 日韩 激情 无码 中出| 国产精品欧美激情| 久久精品亚洲热综合一区二区| 99精品热视频这里只有精品7| 99久久国产精品无码| 97色伦色在线综合视频| 亚洲性影院| 色色中文字幕| 人人看人人鲁狠狠高清| 亚洲码一区二区三区| 91精品最新国内在线播放| 911亚洲精品| 国产丝袜啪啪| 在线日韩一区二区| 成人在线视频一区| 亚洲日韩第九十九页| 欧美成人手机在线视频| 成人国产一区二区三区| 日韩专区欧美| 青青草原国产免费av观看| 女人18一级毛片免费观看 | 久久久精品国产SM调教网站| 国产91小视频| 亚洲色图另类| 国产最新无码专区在线| 成年人午夜免费视频| 国产99在线| 一级毛片高清| 日韩精品成人网页视频在线| 日本一区二区三区精品国产| 狠狠ⅴ日韩v欧美v天堂| 欧美日韩免费| 麻豆国产精品一二三在线观看| 欧美日韩综合网| 精品久久人人爽人人玩人人妻| 亚洲 欧美 偷自乱 图片| 国产亚洲精久久久久久无码AV| 欧美另类视频一区二区三区| 91久久国产综合精品| 国产成人精品免费视频大全五级| 18禁高潮出水呻吟娇喘蜜芽| 91小视频在线播放| 91精品aⅴ无码中文字字幕蜜桃| 全色黄大色大片免费久久老太| 色成人亚洲| 激情亚洲天堂| 亚洲精品色AV无码看| 亚洲人成影视在线观看| 日本一区高清| 亚洲第一成年网| 9丨情侣偷在线精品国产| 在线欧美a| 免费视频在线2021入口| 欧美国产日韩在线| 2020国产免费久久精品99| 片在线无码观看| 毛片视频网| 久久青青草原亚洲av无码| 亚洲国产成人超福利久久精品| 四虎国产永久在线观看| 日韩乱码免费一区二区三区| 91在线精品免费免费播放| 99re这里只有国产中文精品国产精品 | 国产农村妇女精品一二区| 亚洲精品无码久久久久苍井空| 最新亚洲人成网站在线观看|