컴퓨터 비젼(Computer Vision)

Tensorflow_io로 dicom 데이터 다루기

rongxian 2021. 8. 9. 23:48

 

pydicom라이브러리를 사용하지 않고 Dicom 파일을 읽고 시각화해보자.

 

사용 데이터: https://www.kaggle.com/c/rsna-miccai-brain-tumor-radiogenomic-classification/data

 

1. tensorflow-io 설치

!pip install -q tensorflow-io

2. 필수 라이브러리 호출

 import matplotlib.pyplot as plt
 import numpy as np
 import tensorflow as tf
 import tensorflow_io as tfio
 
 import glob
 import os

3. 파일 읽어오기

train_dir = '../input/rsna-miccai-brain-tumor-radiogenomic-classification/train'
patient = '00000'
mri_type = 'FLAIR'

slices = sorted(glob.glob(os.path.join(train_dir, patient, mri_type, '*.dcm')))

img = []
for slice in slices:
    image_bytes_i = tf.io.read_file(slice)
    img_i = tfio.image.decode_dicom_image(image_bytes_i, scale='auto', on_error='lossy', dtype=tf.uint8)
    img.append(img_i)
print(img_i.shape)
# (1, 512, 512, 1)

4. 시각화 하기

150번째 slice를 시각화

plt.imshow(np.squeeze(img[150].numpy()), cmap='gray')

 

 

 

출처: https://www.kaggle.com/zrafiws/brain-mri-visualisation-with-tensorflow-io