此页面由 Cloud Translation API 翻译。
Switch to English

解码文件DICOM医学影像

查看上TensorFlow.org 在谷歌Colab运行 GitHub上查看源代码 下载笔记本

概观

本教程介绍了如何使用tfio.image.decode_dicom_image在TensorFlow IO解码DICOM文件与TensorFlow。

设置和使用

下载DICOM图像

本教程中使用DICOM图像是从NIH胸部X射线数据集

美国国立卫生研究院胸部X射线数据集包括100,000 PNG格式胸部X射线的去标识的图像,由NIH临床中心提供,可以通过下载该链接

谷歌云还提供了图像的DICOM版本,在使用云存储

在本教程中,你将会从下载数据集的样本文件GitHub库

  • 高晓松王一凡鹏,乐路,志勇路,Mohammadhadi巴盖里,罗纳德·萨默斯,ChestX-ray8:医院规模胸部X线数据库和基准上弱监督分类和常见的胸部疾病的本地化,IEEE CVPR,页3462。 -3471,2017年
curl -OL https://github.com/tensorflow/io/raw/master/docs/tutorials/dicom/dicom_00000001_000.dcm
ls -l dicom_00000001_000.dcm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   164  100   164    0     0    611      0 --:--:-- --:--:-- --:--:--   611
100 1024k  100 1024k    0     0  1644k      0 --:--:-- --:--:-- --:--:--  9.7M
-rw-rw-r-- 1 kbuilder kokoro 1049332 Jul 28 18:17 dicom_00000001_000.dcm

安装所需的软件包,并重新启动运行

 try:
  # Use the Colab's preinstalled TensorFlow 2.x
  %tensorflow_version 2.x 
except:
  pass
 
pip install -q tensorflow-io

解码DICOM图像

 import matplotlib.pyplot as plt
import numpy as np

import tensorflow as tf
 
 import tensorflow_io as tfio

image_bytes = tf.io.read_file('dicom_00000001_000.dcm')

image = tfio.image.decode_dicom_image(image_bytes, dtype=tf.uint16)

skipped = tfio.image.decode_dicom_image(image_bytes, on_error='skip', dtype=tf.uint8)

lossy_image = tfio.image.decode_dicom_image(image_bytes, scale='auto', on_error='lossy', dtype=tf.uint8)


fig, axes = plt.subplots(1,2, figsize=(10,10))
axes[0].imshow(np.squeeze(image.numpy()), cmap='gray')
axes[0].set_title('image')
axes[1].imshow(np.squeeze(lossy_image.numpy()), cmap='gray')
axes[1].set_title('lossy image');
 

PNG