항목 | 설명 |
---|---|
형태 | 보통 3D 볼륨 데이터 (예: 240×240×155 voxel) |
시퀀스(Sequence) | 다양한 조직 특성 강조: T1, T2, T1ce, FLAIR 등 |
채널 | 여러 시퀀스를 함께 사용 → CNN에선 RGB처럼 채널로 다룸 (예: 4채널 MRI) |
Ground Truth | 뇌종양 등의 병변을 segmentation mask로 제공 (각 voxel에 클래스 레이블: 0, 1, 2...) |
>> MRI 데이터는 3차원 형태임.
240x240x155 의 형태를 갖는 MRI 데이터는
가로 240, 세로 240, 위치를 바꿔가며 찍은 155개의 단면으로 이루어짐
MRI는 단일 이미지만 보는 게 아니라,
T1, T2, T1ce, FLAIR의 각각 서로 다른 MRI 이미지 파일을 각각 하나의 채널처럼 사용함
딥러닝 모델에 넣을 때는 위 4개의 시퀀스(채널)을 하나의 멀티채널 이미지처럼 묶는것!
형식 | 설명 |
---|---|
.nii / .nii.gz | NIfTI 포맷, 의료 AI에서 가장 흔히 사용 |
.dcm | DICOM: 병원 표준 영상 포맷, 메타데이터 포함 |
.mha / .mhd | MetaImage format (일부 연구에서 사용) |
✅ 불러오기 편한 라이브러리: nibabel
, SimpleITK
, pydicom
>> .nii
, .nii.gz
포맷을 가장 많이 사용함.
위의 python 라이브러리로 쉽게 불러올 수 있음
작업 | 설명 |
---|---|
Resampling | 모든 MRI를 동일 voxel spacing으로 맞추기 |
Registration | 시퀀스 정렬 (이미 수행된 경우도 있음) |
Skull Stripping | 뇌 외곽(두개골 등) 제거 |
Normalization | intensity 정규화 (Z-score 등) |
Cropping/Padding | 유효 영역 기준으로 자르거나 채움 |
>>
Resampling: 서로 다른 해상도를 통일해줘야함.
ex) 어떤 환자의 *voxel은 1mm고, 다른 환자는 1.25mm 면 비교가 안됨.
*voxel = volume + pixel = 3차원 상의 pixel (하나의 작은 큐브)
Registration: 서로 다른 시퀀스들(T1, T2, ...)을 같은 위치에 정렬해야함.
Skull Stripping: 뇌만 봐야하므로 외각 정보 제거
Normalization: MRI 촬영기마다 밝기가 다르므로 픽셀값을 정규화해야함
Cropping: 뇌가 있는 부분만 잘라서 사용
시퀀스 | 정식 명칭 | 특징 및 용도 |
---|---|---|
T1 | T1-weighted | 해부학적 구조 선명히 표현, 정상적인 뇌 조직 파악 유용 |
T1ce | T1 + Contrast | T1에 조영제 주입하여 혈관이 풍부한 활성 종양 부위 밝게 표현. 활성 종양(ET) 확인에 유용 |
T2 | T2-weighted | 수분이 많은 부위 강조하여 부종 확인에 유용 |
FLAIR | Fluid-Attenuated | T2에서 뇌척수액(CSF) 제거해서 주변의 병변이나 부종을 선명히함 |
종류 | 예시 |
---|---|
Segmentation Mask | 각 voxel에 0~4 등 클래스 지정 |
Bounding Box | 특정 영역 박스 지정 (적음) |
Clinical Labels | 종양 등급, 생존일, 치료 정보 등 |
>> Medical AI 모델을 학습시키려면 정확한 정답이 필요한데,
보통 전문가가 직접 voxel 단위로 그린 segmentation mask로 제공됨
항목 | 설명 |
---|---|
Input Shape | GPU 메모리 문제로 patch (128×128×64 등) |
Model Type | 3D U-Net, 3D ResNet, ViT 등 |
Loss Function | Dice Loss, Focal Loss 등 |
Metric | Dice, IoU, Hausdorff Distance 등 |
>> MRI 데이터는 3차원이기 때문에, 모델도 3D 버전을 많이 씀.
보통 3D U-Net, 3D ResNet 같은 모델을 쓰고, 입력도 patch 단위로 잘라서 학습시킴 (GPU가 부족하므로)
정확도를 평가할땐 IoU, Dice Score 같은 segmentation 전용 지표를 사용함
IoU는 Intersection of Union의 약자로, Ground Truth와 모델이 예측한 박스가 얼마나 겹치는지 점수로 냄
목적 | 라이브러리 |
---|---|
NIfTI 읽기/쓰기 | nibabel , SimpleITK |
DICOM 처리 | pydicom |
시각화 | matplotlib , napari , nilearn , ITK-SNAP |
전처리 파이프라인 | torchio , MONAI |