Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Расшифруйте файлы DICOM для медицинской визуализации

Посмотреть на TensorFlow.org Запустить в Google Colab Посмотреть источник на GitHub Скачать блокнот

обзор

Из этого туториала Вы tfio.image.decode_dicom_image как использовать tfio.image.decode_dicom_image в tfio.image.decode_dicom_image IO для декодирования файлов DICOM с помощью TensorFlow.

Настройка и использование

Загрузить изображение DICOM

Изображение DICOM, используемое в этом руководстве, взято из набора рентгеновских данных NIH Chest .

Набор данных рентгеновских снимков грудной клетки NIH состоит из 100 000 неопознанных изображений рентгеновских снимков грудной клетки в формате PNG, предоставленных Клиническим центром NIH, и их можно загрузить по этой ссылке .

Google Cloud также предоставляет DICOM-версию изображений, доступных в облачном хранилище .

В этом уроке вы скачаете образец файла набора данных из репозитория GitHub.

  • Сяосун Ван, Ифань Пэн, Ле Лу, Чжиюн Лу, Мохаммадхади Багери, Рональд Саммерс, ChestX-ray8: рентгеновская база данных в масштабе больницы и контрольные показатели по слабо контролируемой классификации и локализации общих заболеваний грудной клетки, 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