ホームページ  >  記事  >  バックエンド開発  >  Python で DICOM 画像を読み取るためのコード例の共有

Python で DICOM 画像を読み取るためのコード例の共有

黄舟
黄舟オリジナル
2017-07-17 14:40:483184ブラウズ

DICOM (Digital Imaging and Communications in Medicine) は、医療画像および関連情報の国際標準 (ISO 12052) です。以下の記事ではPythonのDICOM画像の読み込みに関する関連情報を中心に紹介していますので、困っている方はぜひ参考にしてみてください。

DICOM の紹介

DICOM3.0 画像、医用画像機器によって生成された標準的な医用画像画像、DICOM は放射線医学、心臓血管画像、および放射線診断および治療機器 (X 線、CT、MRI) で広く使用されています。 、超音波など)、眼科や歯科などの他の医療分野でも使用されることが増えています。 DICOM は、数万台の医療画像デバイスが使用されており、最も広く導入されている医療情報標準の 1 つです。現在、臨床使用のために DICOM 標準に準拠した医療画像が約数百億枚あります。 一見謎めいた画像ファイルを読み取るにはどうすればよいですか?インターネットで気軽に検索すると多くの方法が見つかりますが、より体系的な使用方法が不足しています。次の記事では、Baidu の情報と python2.7 を組み合わせて、DICOM 画像の読み取り方法と使用方法を説明します。

DICOM 画像を読み取るには、pydicom、CV2、numpy、matplotlib のライブラリが必要です。 pydicomはdicom画像の処理に特化したPython専用パッケージ、numpyは科学計算を効率的に処理するパッケージで、データに基づいて描画

を行うためのライブラリです。

インストール:

pip install matplotlib
pip install opencv-python #opencv的安装,小度上基本都是要下载包,安装包后把包复制到某个文件夹下,
#后来我在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 画像には、患者関連情報の辞書が含まれています。 dir を使用して DICOM ファイルに含まれる情報を確認し、関連する値を返すことができます。辞書を通して。 えー

概要

以上がPython で DICOM 画像を読み取るためのコード例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。