Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Tıbbi görüntüleme için DICOM dosyalarının kodunu çözün

TensorFlow.org'da görüntüleyin Google Colab'de çalıştırın Kaynağı GitHub'da görüntüleyin Defteri indirin

Genel Bakış

Bu öğretici, tfio.image.decode_dicom_image ile DICOM dosyalarının kodunu çözmek için TensorFlow IO'da tfio.image.decode_dicom_image nasıl kullanılacağını gösterir.

Kurulum ve Kullanım

DICOM görüntüsünü indirin

Bu eğitimde kullanılan DICOM görüntüsü, NIH Göğüs Röntgeni veri setindendir .

NIH Göğüs Röntgeni veri seti, NIH Clinical Center tarafından sağlanan, PNG formatında 100.000 göğüs röntgeni görüntüsünden oluşur ve bu bağlantı aracılığıyla indirilebilir.

Google Cloud, Cloud Storage'da bulunan görüntülerin bir DICOM sürümünü de sağlar.

Bu eğiticide, GitHub deposundan veri kümesinin örnek bir dosyasını indireceksiniz.

  • Xiaosong Wang, Yifan Peng, Le Lu, Zhiyong Lu, Mohammadhadi Bagheri, Ronald Summers, ChestX-ray8: Hastane Ölçekli Göğüs Röntgeni Veritabanı ve Yaygın Göğüs Hastalıklarının Zayıf Kontrollü Sınıflandırılması ve Lokalizasyonu Üzerine Kıyaslamalar, IEEE CVPR, s. -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    0   164    0     0    602      0 --:--:-- --:--:-- --:--:--   602
100 1024k  100 1024k    0     0  1679k      0 --:--:-- --:--:-- --:--:-- 12.0M
-rw-rw-r-- 1 kbuilder kokoro 1049332 Oct 27 16:24 dicom_00000001_000.dcm

Gerekli Paketleri yükleyin ve çalışma zamanını yeniden başlatın

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

DICOM görüntüsünün kodunu çöz

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');
Text(0.5, 1.0, 'lossy image')

png