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

基于Java的DICOM文件格式轉換與信息提取

2014-08-11 14:48:04李仕紅韓中保
醫療裝備 2014年4期
關鍵詞:信息

李 偉,李仕紅,韓中保

(鹽城衛生職業技術學院,江蘇鹽城224006)

基于Java的DICOM文件格式轉換與信息提取

李 偉,李仕紅,韓中保

(鹽城衛生職業技術學院,江蘇鹽城224006)

在普通計算機上對DICOM格式文件圖像信息的顯示及相關臨床信息的讀取至今仍然是一個問題,我們研究了使用較為流行Java語言對這種標準醫學影像文件進行處理的一些方法。包括對原始的圖像進行有損和無損的轉換,以及對存儲在文件中的其它臨床數據進行提取、修改。

Java;DICOM;圖像處理;JPEG

1 簡介

DICOM作為醫學數字成像和通信的標準,詳細定義了醫學影像文件及其相關信息的組成格式和交換方法。利用這個標準,人們可以在影像設備上建立一個接口來完成影像數據的輸入/輸出工作。然而DICOM格式是針對醫療設備特有的格式,普通的個人計算機對其支持非常有限。基于此,我們探索了利用Java語言來對DICOM格式文件的像素及其他信息的進行獲取和修改的方法

2 工具

由于Java具有良好的可移植性,我們選擇用它作為對DICOM原始文件進行處理編程語言。對于Java來說,目前已經有較為成熟的插件可供使用,其中也包括一些比較好的開源項目如Dcm4che等,他們大都符合DICOM的標準。利用現成的插件可以顯著地減少我們在時間、精力上的投入,而且使程序更具健壯性和可移植性。

我們選擇使用的是DICOM Image I/O Plug-in,這是一個適用于Java語言的DICOM格式文件的處理插件。它提供了DICOM到Java之間的一個接口。換句話說, DICOM Image I/O Plug-in擴充了JAVA的API,使得Java幾乎能像處理普通圖像那樣去處理DICOM文件。DICOM Image I/O Plug-in插件不但可以讀取并修改本地DICOM文件(或文件集),也支持通過網絡訪問遠程服務器或數據庫中的文件和數據。

3 實現

3.1 獲取單個DICOM文件的圖像信息

我們可以直接將一個DICOM格式文件(此處為image.dcm)創建為Java中的BufferedImage對象:

BufferedImage image = getIO.read(

new File("image.dcm"));

在后續的代碼中我們可以像操縱普通的圖像對象那樣來對DICOM文件進行直接操作,如我們可以通過getWidth(),getHeight()方法獲得圖像的高度、寬度,以及復制指定區域(感興趣區)的數據進行再處理等等。更進一步地,我們可以從創建的BufferedImage對象所實現的接口獲取相關圖像的原始信息,因而可以在像素級別上對圖像進行處理。由于很多DICOM文件的灰度空間為12位甚至是16位,如果格式轉換后再進行圖像處理,那么圖像的失真更大。所以較好的辦法就是先處理再進行格式的轉換。把圖像創建為BufferedImage可以將像素的損失最小化。

3.2 讀取DICOM文件,并抽取相關臨床信息

DICOM文件中包含了大量的臨床信息,這對疾病的診斷、療效的評估都相當重要,因而對這些數據獲取的重要性也是顯而易見的。

在從一個DICOM標準格式文件中讀取屬性這前我們需要創建一個DICOM元數據(Metadata)對象用于存儲在文件中的所有屬性,此外還需要一個迭代器(Iterator)來遍歷取得的結果。

//創建一個DicomMetadate(Dicom元數據)對象

DicomMetadata dmdata =

reader.getDicomMetadata();

//獲得元數據中病人ID信息,并保存到一個String對象中

String patient_id =

dmd.getAttributeString(Tag.PatientID);

在本例中,我們僅用一個String對象來顯示其PatientID信息,其它屬性都可以利用上述方法來獲得,在此不一一列舉。我們在具體的實現中獲得的部分數據如下所示:

DICOM標準包含了大量的字典,DICOM Image I/O Plug-in支持其中的絕大部分內容,滿足要求。

3.3 將信息寫入到DICOM文件

除了讀取信息外,也可以把指定的屬性值寫入到文件中,過程與讀取是類似的,現僅列出關鍵的寫入部分代碼:

//設置指定的PatientID(12345)屬性

dmd.setAttribute(Tag.PatientID, 12345);

//寫入到一個DICOM文件

File file = new File("image.dcm");

writer.setOutput(new FileImageOutputStream(file));

writer.write(dmd, new IIOImage(image, null, null), null);

在上述程序中,為了寫入DICOM屬性,首先創建一個DicomMetadata()對象,然后利用setAttribute()方法來重新設置病人的PatientID屬性為12345,對于不同的數據元素所使用的語句略有差別,具體可參考文檔。在接下來的代碼中,我們將修改后的內容重新寫入到一個新的標準DICOM格式文件。

3.4 對文件進行格式轉換

對于影像診斷來說,文件的像素信息是最為重要的部分。DICOM文件格式顯然不利于隨時隨地的查閱、參考以及同行之間的交流。更進一步地,有時需要對圖像進行一些簡單的處理,如銳化、對比度的調節等等。這時就有必要把DICOM文件中的圖像信息提取出來,保存為一種比較易于訪問的格式。DICOM Image I/O Plug-in支持將DICOM文件保存為當前最為流行的JPEG格式。此外,如果對圖像的質量有比較高的要求的話,我們可以考慮使用JPEG2000格式,在此處我們僅舉一個簡單的例子來說明一下寫入的過程:

// 應用灰度變換

BufferedImage bi = dmd.apply Grayscale Transformations(bi_stored, i);

BufferedImage bi_out = new BufferedImage(bi.getWidth(),

bi.getHeight(), BufferedImage.TYPE_3BYTE_BGR);

bi_out.createGraphics().drawImage(bi, 0, 0, null);

// 保存圖像

File f_out = new File("i"+i+".jpg");

f_out.delete();

ImageIO.write(bi_out, "jpeg", f_out);

如前所述,DICOM標準建議的圖像灰度為12以上,即大于4096個量級,這需要專業的醫用顯示器才能完整地顯示。但很多時候由于條件的限制我們所用到的大多都是8位的一般民用顯示器,而且超過8位(256級)灰度人眼就已經不太容易分辨出來。

4 結論

醫學圖像的處理是比較一個熱門的話題。然而如前文所述,由于醫學圖像文件灰度的特殊性,其轉換為常見圖像格式時必然會帶來信息的丟失。如果能在原始數據直接進行高級的圖像處理,那么程序會有更加廣泛的應用,這也是我們下一步要努力的目標。

[1]DICOM官方文檔, http://medical.nema.org/

[2] Cay S. Horstmann, Gary Cornell著,葉乃文等譯, Java核心技術(第8版). 機械工業出版社-2008

[3] DICOM Image I/O Plug-in官方文檔, http://imaging.apteryx.fr/dicom

[4] Java Image I/O API Guide, http://www.oracle.com

[5] Oleg S. Pianykh著, Digital Imaging and Communications in Medicine. Springer-Verlag Berlin and Heidelberg-2008

[6] Wilhelm Burger等著,黃華譯, 數字圖像處理-Java語言算法描述. 清華大學出版社-2010

[7] 梁云, 宋鴻陟等. DICOM醫學圖像數據轉換算法研究, 現代計算機(專業版), 2008-04: 42-44

2013-11-23

TH772+.2

B

1002-2376(2014)04-0015-02

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 日韩av手机在线| 熟女日韩精品2区| 九色在线观看视频| 天堂av高清一区二区三区| 国产日产欧美精品| 免费在线看黄网址| 乱人伦99久久| 亚洲综合天堂网| 99精品在线看| 一区二区三区四区精品视频| 极品av一区二区| 亚洲一区网站| 91精品专区国产盗摄| 国产免费久久精品99re丫丫一| 久久久91人妻无码精品蜜桃HD| 亚洲一区无码在线| 天天色天天操综合网| 天天操精品| 大香伊人久久| 日本高清在线看免费观看| 精品少妇人妻av无码久久| 92精品国产自产在线观看| 亚洲精品无码专区在线观看 | 亚洲中文字幕av无码区| 看国产毛片| 欧美日韩午夜| 亚洲精品国偷自产在线91正片| 日本精品视频| 久久人搡人人玩人妻精品| 午夜啪啪福利| 国产打屁股免费区网站| 国产无码精品在线| 小13箩利洗澡无码视频免费网站| 丰满的少妇人妻无码区| 欧美成人综合在线| 久久久噜噜噜久久中文字幕色伊伊| 国产丝袜第一页| 狠狠操夜夜爽| 国产一区二区精品高清在线观看 | 亚洲欧洲免费视频| 凹凸国产分类在线观看| 国产二级毛片| 日韩毛片视频| 国产精品无码AV片在线观看播放| 久久精品中文字幕免费| 岛国精品一区免费视频在线观看| 91久久国产热精品免费| 国产成人综合久久精品下载| 欧洲亚洲欧美国产日本高清| 亚洲国产综合第一精品小说| 青青草原国产一区二区| 亚洲欧美成人网| 婷婷综合亚洲| 欧美伦理一区| 国产乱视频网站| 国产成人AV男人的天堂| 国产精品亚洲一区二区三区在线观看| 欧美色香蕉| 久操线在视频在线观看| 天堂在线视频精品| 欧美亚洲国产日韩电影在线| 成人精品午夜福利在线播放| 国产一级精品毛片基地| 免费xxxxx在线观看网站| 婷婷色中文网| 亚洲综合欧美在线一区在线播放| 国产一线在线| 日韩欧美国产综合| 国产成人综合日韩精品无码不卡| 精品无码人妻一区二区| 国产尤物视频网址导航| 天天综合网亚洲网站| 热久久综合这里只有精品电影| 亚洲欧美日韩成人在线| 色精品视频| 欧美亚洲一区二区三区导航| 在线综合亚洲欧美网站| 在线日韩日本国产亚洲| 久久午夜影院| 中文字幕一区二区人妻电影| 免费在线国产一区二区三区精品| 亚洲毛片网站|