Esta página foi traduzida pela API Cloud Translation.
Switch to English

Decode DICOM arquivos de imagens médicas

Ver TensorFlow.org Executar no Google Colab Ver fonte no GitHub Baixar notebook

Visão geral

Isto mostra tutorial como usar tfio.image.decode_dicom_image em TensorFlow IO para decodificar DICOM arquivos com TensorFlow.

Configuração e Uso

Download da imagem de DICOM

A imagem DICOM usado neste tutorial é a partir do conjunto de dados de raios-X NIH Peito .

O conjunto de dados de raios-X NIH Peito consiste de 100.000 imagens de-identificados de raios-x do tórax em formato PNG, fornecidos pelo NIH Clinical Center e pode ser baixado através desta ligação .

Google Cloud também oferece uma versão DICOM das imagens, disponível no Cloud Storage .

Neste tutorial, você vai baixar um arquivo de amostra do conjunto de dados a partir do repo GitHub

  • Xiaosong Wang, Yifan Peng, Le Lu, Zhiyong Lu, Mohammadhadi Bagheri, Ronald Summers, ChestX-ray8: Hospital escala Peito de banco de dados de raios-X e Benchmarks em Weakly-Supervisionado classificação e localização de Doenças Tórax comuns, 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

Instalar Pacotes necessárias e reinicie runtime

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

imagem Decode 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