컴퓨터 비젼(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