Brain MRI 데이터 구조 및 시퀀스

Changh2·2025년 4월 3일
0


📦 1. MRI 영상의 기본 구조

항목설명
형태보통 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개의 시퀀스(채널)을 하나의 멀티채널 이미지처럼 묶는것!


📁 2. 파일 형식 & 구조

형식설명
.nii / .nii.gzNIfTI 포맷, 의료 AI에서 가장 흔히 사용
.dcmDICOM: 병원 표준 영상 포맷, 메타데이터 포함
.mha / .mhdMetaImage format (일부 연구에서 사용)

✅ 불러오기 편한 라이브러리: nibabel, SimpleITK, pydicom

>> .nii, .nii.gz 포맷을 가장 많이 사용함.
위의 python 라이브러리로 쉽게 불러올 수 있음


⚙️ 3. 중요 전처리 과정들

작업설명
Resampling모든 MRI를 동일 voxel spacing으로 맞추기
Registration시퀀스 정렬 (이미 수행된 경우도 있음)
Skull Stripping뇌 외곽(두개골 등) 제거
Normalizationintensity 정규화 (Z-score 등)
Cropping/Padding유효 영역 기준으로 자르거나 채움

>>
Resampling: 서로 다른 해상도를 통일해줘야함.
ex) 어떤 환자의 *voxel은 1mm고, 다른 환자는 1.25mm 면 비교가 안됨.
*voxel = volume + pixel = 3차원 상의 pixel (하나의 작은 큐브)

Registration: 서로 다른 시퀀스들(T1, T2, ...)을 같은 위치에 정렬해야함.

Skull Stripping: 뇌만 봐야하므로 외각 정보 제거

Normalization: MRI 촬영기마다 밝기가 다르므로 픽셀값을 정규화해야함

Cropping: 뇌가 있는 부분만 잘라서 사용


🔍 4. MRI 시퀀스 종류

시퀀스정식 명칭특징 및 용도
T1T1-weighted해부학적 구조 선명히 표현, 정상적인 뇌 조직 파악 유용
T1ceT1 + ContrastT1에 조영제 주입하여 혈관이 풍부한 활성 종양 부위 밝게 표현. 활성 종양(ET) 확인에 유용
T2T2-weighted수분이 많은 부위 강조하여 부종 확인에 유용
FLAIRFluid-AttenuatedT2에서 뇌척수액(CSF) 제거해서 주변의 병변이나 부종을 선명히함

🧠 5. 라벨링 정보

종류예시
Segmentation Mask각 voxel에 0~4 등 클래스 지정
Bounding Box특정 영역 박스 지정 (적음)
Clinical Labels종양 등급, 생존일, 치료 정보 등

>> Medical AI 모델을 학습시키려면 정확한 정답이 필요한데,
보통 전문가가 직접 voxel 단위로 그린 segmentation mask로 제공됨


🚨 6. 딥러닝 모델에서의 유의사항

항목설명
Input ShapeGPU 메모리 문제로 patch (128×128×64 등)
Model Type3D U-Net, 3D ResNet, ViT 등
Loss FunctionDice Loss, Focal Loss 등
MetricDice, IoU, Hausdorff Distance 등

>> MRI 데이터는 3차원이기 때문에, 모델도 3D 버전을 많이 씀.
보통 3D U-Net, 3D ResNet 같은 모델을 쓰고, 입력도 patch 단위로 잘라서 학습시킴 (GPU가 부족하므로)

정확도를 평가할땐 IoU, Dice Score 같은 segmentation 전용 지표를 사용함
IoU는 Intersection of Union의 약자로, Ground Truth와 모델이 예측한 박스가 얼마나 겹치는지 점수로 냄


+) 유용한 Python 라이브러리

목적라이브러리
NIfTI 읽기/쓰기nibabel, SimpleITK
DICOM 처리pydicom
시각화matplotlib, napari, nilearn, ITK-SNAP
전처리 파이프라인torchio, MONAI
profile
Shoot for the moon! 🔥

0개의 댓글