最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python對DICOM圖像的讀取方法詳解

 更新時間:2017年07月17日 14:10:12   作者:佛祖下的燈芯  
DICOM(Digital Imaging and Communications in Medicine)即醫(yī)學(xué)數(shù)字成像和通信,是醫(yī)學(xué)圖像和相關(guān)信息的國際標(biāo)準(zhǔn)(ISO 12052)。下面這篇文章主要給大家介紹了關(guān)于python對DICOM圖像讀取的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。

DICOM介紹

DICOM3.0圖像,由醫(yī)學(xué)影像設(shè)備產(chǎn)生標(biāo)準(zhǔn)醫(yī)學(xué)影像圖像,DICOM被廣泛應(yīng)用于放射醫(yī)療,心血管成像以及放射診療診斷設(shè)備(X射線,CT,核磁共振,超聲等),并且在眼科和牙科等其它醫(yī)學(xué)領(lǐng)域得到越來越深入廣泛的應(yīng)用。在數(shù)以萬計的在用醫(yī)學(xué)成像設(shè)備中,DICOM是部署最為廣泛的醫(yī)療信息標(biāo)準(zhǔn)之一。當(dāng)前大約有百億級符合DICOM標(biāo)準(zhǔn)的醫(yī)學(xué)圖像用于臨床使用。

看似神秘的圖像文件,究竟是如何讀取呢?網(wǎng)上隨便 一搜,都有很多方法,但缺乏比較系統(tǒng)的使用方法,下文綜合百度資料,結(jié)合python2.7,講解如何讀取及使用DICOM圖像。

讀取DICOM圖像,需要以下幾個庫:pydicom、CV2、numpy、matplotlib。pydicom專門處理dicom圖像的python專用包,numpy高效處理科學(xué)計算的包,依據(jù)數(shù)據(jù)繪圖的庫。

安裝:

pip install matplotlib
pip install opencv-python #opencv的安裝,小度上基本都是要下載包,安裝包后把包復(fù)制到某個文件夾下,
#后來我在https://pypi.python.org/pypi/opencv-python找到這種pip的安裝方法,親測可用
pip install pydicom
pip install numpy

如果沒有記錯,安裝pydicom時,也會自動把numpy安裝上。

安裝好這些庫后,就可以對dicom文件操作。

具體看下面代碼:

#-*-coding:utf-8-*-
import cv2
import numpy
import dicom
from matplotlib import pyplot as plt

dcm = dicom.read_file("AT0001_100225002.DCM")
dcm.image = dcm.pixel_array * dcm.RescaleSlope + dcm.RescaleIntercept

slices = []
slices.append(dcm)
img = slices[ int(len(slices)/2) ].image.copy()
ret,img = cv2.threshold(img, 90,3071, cv2.THRESH_BINARY)
img = numpy.uint8(img)

im2, contours, _ = cv2.findContours(img,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
mask = numpy.zeros(img.shape, numpy.uint8)
for contour in contours:
 cv2.fillPoly(mask, [contour], 255)
img[(mask > 0)] = 255


kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(2,2))
img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)


img2 = slices[ int(len(slices)/2) ].image.copy()
img2[(img == 0)] = -2000


plt.figure(figsize=(12, 12))
plt.subplot(131)
plt.imshow(slices[int(len(slices) / 2)].image, 'gray')
plt.title('Original')
plt.subplot(132)
plt.imshow(img, 'gray')
plt.title('Mask')
plt.subplot(133)
plt.imshow(img2, 'gray')
plt.title('Result')
plt.show()

在DICOM圖像里,包含了患者的相關(guān)信息的字典,我們可以通過dir查看DICOM文件有什么信息,可以通過字典返回相關(guān)的值。

import dicom
import json
def loadFileInformation(filename):
 information = {}
 ds = dicom.read_file(filename)
 information['PatientID'] = ds.PatientID
 information['PatientName'] = ds.PatientName
 information['PatientBirthDate'] = ds.PatientBirthDate
 information['PatientSex'] = ds.PatientSex
 information['StudyID'] = ds.StudyID
 information['StudyDate'] = ds.StudyDate
 information['StudyTime'] = ds.StudyTime
 information['InstitutionName'] = ds.InstitutionName
 information['Manufacturer'] = ds.Manufacturer
 print dir(ds)
 print type(information)
 return information

a=loadFileInformation('AT0001_100225002.DCM')
print a

總結(jié)

以上就是這篇文章的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Python修改DBF文件指定列

    Python修改DBF文件指定列

    這篇文章主要介紹了Python修改DBF文件指定列的實現(xiàn),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python格式化輸出之format用法詳解

    Python格式化輸出之format用法詳解

    Python中格式化字符串目前有兩種陣營:%和format,這篇文章主要給大家介紹了關(guān)于Python格式化輸出之format用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Python算法之圖的遍歷

    Python算法之圖的遍歷

    這篇文章主要介紹了Python算法之圖的遍歷,涉及遍歷算法BFS和DFS,以及尋找圖的(強)連通分量的算法等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Python 判斷是否為質(zhì)數(shù)或素數(shù)的實例

    Python 判斷是否為質(zhì)數(shù)或素數(shù)的實例

    下面小編就為大家?guī)硪黄狿ython 判斷是否為質(zhì)數(shù)或素數(shù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Python中如何使用多線程優(yōu)化For循環(huán)

    Python中如何使用多線程優(yōu)化For循環(huán)

    這篇文章主要為大家詳細(xì)介紹了在Python中如何使用多線程實現(xiàn)優(yōu)化For循環(huán),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • tensorflow實現(xiàn)將ckpt轉(zhuǎn)pb文件的方法

    tensorflow實現(xiàn)將ckpt轉(zhuǎn)pb文件的方法

    這篇文章主要介紹了tensorflow實現(xiàn)將ckpt轉(zhuǎn)pb文件的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python中使用item()方法遍歷字典的例子

    Python中使用item()方法遍歷字典的例子

    這篇文章主要介紹了Python中使用item()方法遍歷字典的例子,for...in這種是Python中最常用的遍歷字典的方法了,需要的朋友可以參考下
    2014-08-08
  • 用python讀寫excel的方法

    用python讀寫excel的方法

    這篇文章主要介紹了用python讀寫excel的方法,涉及xlrd模塊與xlwt模塊的應(yīng)用,具有一定的學(xué)習(xí)借鑒價值,需要的朋友可以參考下
    2014-11-11
  • python模塊shutil函數(shù)應(yīng)用示例詳解教程

    python模塊shutil函數(shù)應(yīng)用示例詳解教程

    這篇文章主要為大家介紹了python模塊中shutil函數(shù)的應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-10-10
  • 使用Python生成詞云圖的詳細(xì)指南

    使用Python生成詞云圖的詳細(xì)指南

    在數(shù)據(jù)可視化領(lǐng)域,詞云圖是一種非常直觀且受歡迎的展示文本數(shù)據(jù)中關(guān)鍵詞頻率的方式,Python 中的wordcloud庫提供了一種簡單而強大的方法來生成詞云圖,本文就給大家介紹了使用Python生成詞云圖的詳細(xì)指南,需要的朋友可以參考下
    2024-12-12

最新評論

杭锦后旗| 云梦县| 彰化市| 鄂伦春自治旗| 兰州市| 四子王旗| 牙克石市| 郁南县| 海原县| 孝义市| 东兰县| 合水县| 紫阳县| 五原县| 顺平县| 鄂托克前旗| 博乐市| 昭通市| 镇雄县| 孝义市| 齐河县| 科技| 华安县| 邯郸县| 鄂尔多斯市| 红桥区| 津市市| 定结县| 武安市| 安西县| 阜宁县| 延寿县| 海盐县| 公主岭市| 哈尔滨市| 汾阳市| 喜德县| 海门市| 瓮安县| 旌德县| 商丘市|