Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Decodifica dei file DICOM per l'imaging medico

Visualizza su TensorFlow.org Esegui in Google Colab Visualizza sorgente su GitHub Scarica il quaderno

Panoramica

Questo tutorial mostra come utilizzare tfio.image.decode_dicom_image in TensorFlow IO per decodificare i file DICOM con TensorFlow.

Installazione e utilizzo

Scarica l'immagine DICOM

L'immagine DICOM utilizzata in questo tutorial proviene dal set di dati radiografico del torace NIH .

Il set di dati radiografico del torace NIH è costituito da 100.000 immagini non identificate di radiografie del torace in formato PNG, fornite dal Centro clinico NIH e possono essere scaricate tramite questo link .

Google Cloud fornisce anche una versione DICOM delle immagini, disponibile in Cloud Storage .

In questa esercitazione verrà scaricato un file di esempio del set di dati dal repository GitHub

  • Xiaosong Wang, Yifan Peng, Le Lu, Zhiyong Lu, Mohammadhadi Bagheri, Ronald Summers, ChestX-ray8: Database radiografico del torace su scala ospedaliera e benchmark sulla classificazione e localizzazione debolmente supervisionate e localizzazione delle malattie comuni del torace, IEEE CVPR, pp. 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

Installa i pacchetti richiesti e riavvia il runtime

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

Decodifica immagine 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