N차원 이미지

Python을 활용한 생의학 영상 분석

Stephen Bailey

Instructor

다양한 형태와 크기의 이미지

im[row, col]

발 X선 이미지

Python을 활용한 생의학 영상 분석

다양한 형태와 크기의 이미지

vol[pln, row, col]

신체 GIF

Python을 활용한 생의학 영상 분석

다양한 형태와 크기의 이미지

im[row, col, ch]

세포 RGB 이미지

Python을 활용한 생의학 영상 분석

다양한 형태와 크기의 이미지

im_ts[time, row, col, ch]

세포 동영상

Python을 활용한 생의학 영상 분석

N차원 이미지는 배열의 스택

약간 어긋나게 쌓인 이미지 더미

import imageio.v2 as imageio
import numpy as np

im1=imageio.imread('chest-000.dcm') im2=imageio.imread('chest-001.dcm') im3=imageio.imread('chest-002.dcm')
im1.shape
(512, 512)
vol = np.stack([im1, im2, im3])

vol.shape
(3, 512, 512)
Python을 활용한 생의학 영상 분석

볼륨 직접 로드하기

imageio.volread():

  • 다차원 데이터 직접 읽기
  • 여러 이미지로 볼륨 구성
import os
os.listdir('chest-data')
['chest-000.dcm', 
 'chest-001.dcm', 
 'chest-002.dcm',
 ..., 
 'chest-049.dcm']
import imageio.v2 as imageio
vol = imageio.volread('chest-data', format='DICOM')

vol.shape
(50, 512, 512)
Python을 활용한 생의학 영상 분석

형상, 샘플링, 시야

 이미지 형상: 각 축의 요소 수

import imageio.v2 as imageio
vol = imageio.volread(
            'chest-data', format='DICOM')
# 이미지 형상 (복셀 단위)
n0, n1, n2 = vol.shape
n0, n1, n2
(50, 512, 512)

시야(FOV): 각 축이 커버하는 물리적 공간

샘플링 레이트: 각 요소가 커버하는 물리적 공간

# 샘플링 레이트 (mm 단위)
d0, d1, d2 = vol.meta['sampling']
d0, d1, d2
(2, 0.5, 0.5)
# 시야 (mm 단위)
n0 * d0, n1 * d1, n2 * d2
(100, 256, 256)
Python을 활용한 생의학 영상 분석

연습해 봅시다!

Python을 활용한 생의학 영상 분석

Preparing Video For Download...