Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Dekoduj pliki DICOM do obrazowania medycznego

Zobacz na TensorFlow.org Uruchom w Google Colab Wyświetl źródło na GitHub Pobierz notatnik

Przegląd

Ten samouczek pokazuje, jak używać tfio.image.decode_dicom_image w TensorFlow IO do dekodowania plików DICOM za pomocą TensorFlow.

Konfiguracja i użytkowanie

Pobierz obraz DICOM

Obraz DICOM użyty w tym samouczku pochodzi z zestawu danych RTG klatki piersiowej NIH .

Zbiór danych RTG klatki piersiowej NIH składa się ze 100 000 zdezidentyfikowanych zdjęć rentgenowskich klatki piersiowej w formacie PNG, dostarczonych przez NIH Clinical Center i można je pobrać za pośrednictwem tego łącza .

Google Cloud zapewnia również wersję DICOM obrazów, dostępną w Cloud Storage .

W tym samouczku pobierzesz przykładowy plik zestawu danych z repozytorium GitHub

  • Xiaosong Wang, Yifan Peng, Le Lu, Zhiyong Lu, Mohammadhadi Bagheri, Ronald Summers, Chest -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

Zainstaluj wymagane pakiety i zrestartuj środowisko wykonawcze

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

Dekoduj obraz 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