মেডিকেল ইমেজিংয়ের জন্য DICOM ফাইলগুলি ডিকোড করুন

TensorFlow.org এ দেখুন Google Colab-এ চালান GitHub-এ উৎস দেখুন নোটবুক ডাউনলোড করুন

ওভারভিউ

এই টিউটোরিয়ালটি শো কিভাবে ব্যবহার করতে tfio.image.decode_dicom_image TensorFlow আই মধ্যে ডিকোড DICOM ফাইল TensorFlow সঙ্গে।

সেটআপ এবং ব্যবহার

DICOM ইমেজ ডাউনলোড করুন

DICOM এই টিউটোরিয়ালটিতে ব্যবহৃত ইমেজ থেকে NIH এ বুকের এক্স-রে ডেটা সেটটি

NIH এ বুকের এক্স-রে ডেটা সেটটি 100,000 বি-নির্ধারিত NIH এ ক্লিনিক্যাল সেন্টার দ্বারা উপলব্ধ পিএনজি ফরম্যাটে বুকের এক্স-রে চিত্র, নিয়ে গঠিত মাধ্যমে ডাউনলোড করা যেতে পারে এই লিঙ্কে

Google মেঘ এছাড়াও ছবি একটি DICOM সংস্করণ, পাওয়া উপলব্ধ ক্লাউড স্টোরেজ

এই টিউটোরিয়ালে, আপনার কাছ থেকে ডেটা সেটটি একটি নমুনা ফাইল ডাউনলোড করবে GitHub রেপো

  • Xiaosong Wang, Yifan Peng, Le Lu, Zhiyong Lu, Mohammadhadi Bagheri, Ronald Summers, ChestX-ray8: হসপিটাল-স্কেল বুকের এক্স-রে ডেটাবেস এবং সাধারণ বক্ষ রোগের দুর্বলভাবে তত্ত্বাবধানে শ্রেণীবিভাগ এবং স্থানীয়করণের মানদণ্ড, IEEE CVPR, 6 pp. -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    600      0 --:--:-- --:--:-- --:--:--   598
100 1024k  100 1024k    0     0  1915k      0 --:--:-- --:--:-- --:--:-- 1915k
-rw-rw-r-- 1 kbuilder kokoro 1049332 Nov 22 03:47 dicom_00000001_000.dcm

প্রয়োজনীয় প্যাকেজ ইনস্টল করুন এবং রানটাইম পুনরায় চালু করুন

try:
  # Use the Colab's preinstalled TensorFlow 2.x
  %tensorflow_version 2.x 
except:
  pass
pip install 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');
2021-11-22 03:47:53.016507: E tensorflow/stream_executor/cuda/cuda_driver.cc:271] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected

png

DICOM মেটাডেটা ডিকোড করুন এবং ট্যাগগুলির সাথে কাজ করুন৷

decode_dicom_data ট্যাগ তথ্য decodes। dicom_tags যাতে আপনি DICOM যেমন ট্যাগ ব্যবহার করতে পারেন, রোগীর বয়স ও লিঙ্গ হিসাবে দরকারী তথ্য dicom_tags.PatientsAge এবং dicom_tags.PatientsSex । tensorflow_io pydicom dicom প্যাকেজ থেকে একই ট্যাগ স্বরলিপি ধার।

tag_id = tfio.image.dicom_tags.PatientsAge
tag_value = tfio.image.decode_dicom_data(image_bytes,tag_id)
print(tag_value)
tf.Tensor(b'58', shape=(), dtype=string)
print(f"PatientsAge : {tag_value.numpy().decode('UTF-8')}")
PatientsAge : 58
tag_id = tfio.image.dicom_tags.PatientsSex
tag_value = tfio.image.decode_dicom_data(image_bytes,tag_id)
print(f"PatientsSex : {tag_value.numpy().decode('UTF-8')}")
PatientsSex : M