뇌 PET에서 SUVr을 얻기 위한 전체 워크플로를 3D Slicer 기준으로 단계별로 정리[pe]
뇌 PET에서 SUVr을 얻기 위한 전체 워크플로를 3D Slicer 기준으로 단계별로 정리[pe]
1. Brain parcellation 및 세그먼트 파일 저장
1-1. CT 기반 parcellation (atlas 이용)
전제: 같은 환자의 brain CT와 atlas (예: MNI 템플릿 기반 atlas, Slicer에 기본 포함된 atlas 또는 추가 설치한 brain atlas)를 사용합니다.
데이터 로딩
CT와 atlas 템플릿 정합
Registration또는General Registration (BRAINS)모듈 사용.+1Fixed: atlas T1 템플릿, Moving: 환자 CT로 설정.
변환 타입: 먼저 Rigid/Similarity, 필요시 Affine/B-spline 추가.
Apply실행 후, 생성된 Transform을 CT에 적용해 정렬 상태를 확인.
변환을 atlas label에 적용 (atlas → 환자 CT 공간으로 워핑)
Data모듈에서 atlas label 볼륨 선택 →Transforms모듈에서 위에서 얻은 Transform을 label에 할당.Resample또는Harden Transform을 사용해 label을 환자 CT 해상도에 맞게 resample.이렇게 하면 atlas 기반 brain 영역 parcellation이 CT 공간에 맞춰짐.
필요시 CT에서 추가 세분화/보정
세그먼트 파일 저장
Segmentations모듈에서 각 segment가 atlas label에 대응하는지 확인 (ROI 이름을 region 이름으로 정리).Segmentations→Export/Import Models and Labelmaps에서 Labelmap (또는 segmentation .seg.nrrd) 형식으로 저장.이 파일이 나중에 PET SUV 계산 시 VOI Volume(레이블 볼륨)으로 사용됩니다.+1
1-2. MRI 기반 parcellation (atlas 이용)
MRI에서는 atlas 정합 + 자동 brain segmentation(예: HD-BET, Swiss Skull Stripper 등)을 병행할 수 있습니다.+1
데이터 로딩
MRI skull stripping (선택적이지만 권장)
Extension에 따라
Swiss Skull Stripper또는 HD Brain Extraction 모듈 사용.+1입력: MRI, 출력: 두개골 제거된 brain mask.
결과가 좋지 않으면
Segment Editor에서 수동으로 수정.
MRI와 atlas 정합
Registration/General Registration (BRAINS)사용.+1Fixed: 환자 MRI (또는 skull-stripped MRI), Moving: atlas T1 템플릿.
또는 반대로 Fixed: atlas, Moving: 환자 MRI → 이후 atlas label을 환자 MRI로 변환.
적어도 Rigid+Affine, 필요하면 비선형 변환까지 사용.
atlas label을 MRI 공간으로 warp
Transform을 atlas label에 적용 (Transform 모듈) →
Harder Transform/Resample로 MRI 해상도에 맞게 resample.각 레이블이 MRI에서 해부학적으로 잘 맞는지 슬라이스별로 확인.
세그먼트 구조화 및 저장
Segmentations모듈로 atlas label을 segmentation으로 불러와 지역 이름을 정리.뇌 영역별 segment (예: frontal, temporal, parietal, cerebellum 등)를 SUVr 분석에 필요한 구조로 그룹화.
segmentation을
.seg.nrrd또는 labelmap으로 저장 (PET VOI로 사용할 포맷).+1
2. Brain PET과의 registration
2-1. Brain CT와 brain PET 정합 후 PET 저장
전제: 같은 장비에서 획득된 PET/CT라면 이미 잘 co-registered 되어 있는 경우가 많습니다.
PET/CT 로딩
DICOM브라우저에서 PET/CT 시리즈를 모두 Import 후 Load.PET volume과 CT volume이 Scene에 로딩된 것을 확인.
정합 상태 확인
Volumes및Slice뷰에서 PET와 CT를 서로 다른 색 LUT로 표시하고 overlay.YouTube보통 PET-CT는 이미 rigid alignment가 되어 있지만, 어긋나 있으면 수동 또는 자동 registration 수행.
필요시 PET↔CT registration
변환된 PET를 새 볼륨으로 저장
Transformed볼륨을 생성 (Transform 모듈에서 “Create new volume” 옵션 사용).Save버튼에서 변환된 PET volume을 NRRD 또는 NIFTI로 저장.이 PET volume이 이후 SUV 계산의 Input PET Volume이 됩니다.+1
2-2. Brain MRI와 brain PET 정합 후 PET 저장
PET와 MRI 로딩
PET (이미 CT와 정합된 PET 혹은 원본 PET)과 brain MRI 둘 다
Add Data또는 DICOM에서 로딩.
고정/이동 설정
Registration 수행
PET를 MRI 공간으로 resample
저장
Save→ 변환된 PET_in_MRI_space 볼륨을 NRRD/NIFTI로 저장.이후 parcellation된 MRI 기반 segmentation과 같은 공간에 있으므로 SUVr 분석에 사용.+1
3. 정합된 brain PET와 세그먼트 파일 로딩 후 SUV 추출
PET DICOM 또는 NRRD 준비
SUV 계산 모듈은 DICOM header의 방사성의약품 정보(주입량, 시간 등)가 필요하므로,
가능하면 원본 PET DICOM 폴더를 함께 준비합니다.+1
registration 후 resample한 PET가 NRRD라면, PET DICOM path는 원본 DICOM, Input PET Volume은 정합된 PET NRRD를 사용 (동일 데이터라고 간주 가능한 경우).
Slicer에서 PET와 segmentation 로딩
Add Data→ 변환된 PET volume (CT or MRI space) 로드.Add Data→ 해당 공간에서 만든 atlas 기반 segmentation (labelmap 또는 .seg.nrrd) 로드.좌표계와 voxel grid가 잘 맞는지 Slice view에서 확인 (segment 경계가 PET 뇌 구조를 잘 따라가는지).
Labelmap 형식으로 VOI Volume 준비
segmentation이 .seg.nrrd 형식이라면
Segmentations모듈에서Export→ Labelmap volume으로 변환.
이 labelmap이 PET Standard Uptake Value Computation 모듈의
Input VOI Volume이 됩니다.+1
PET Standard Uptake Value Computation 실행
모듈:
PET Standard Uptake Value Computation열기.+1설정:
PET DICOM volume path (PETDICOMPath): 해당 PET의 DICOM 폴더 경로.Input PET Volume (PETVolume): 정합된 PET 볼륨 선택 (CT 또는 MRI 공간).Input VOI Volume (VOIVolume): 위에서 준비한 labelmap (brain parcellation).
출력 설정:
Output Table (OutputCSV): CSV 파일 경로 지정 (없으면 새 파일 지정, 이미 존재하면 append).Output Label,Output Label Value,SUVMax,SUVMean,SUVMin등을 필요에 따라 선택.+1
Apply실행 → 각 label별로 SUVbw 기준SUVmin,SUVmax,SUVmean값이 계산되어 CSV에 저장됩니다.+2
4. SUVr 계산 (소뇌 reference) 및 엑셀 저장
SUVr은 각 뇌 영역의 SUV를 reference tissue(소뇌) SUV로 나눈 값입니다.
reference tissue(소뇌) segment 지정
parcellation atlas에서 소뇌(Cerebellum) 레이블 ID 또는 이름을 확인.
PET SUV CSV 파일에서 해당 레이블의
SUVmean값을 reference로 사용 (보통 mean 사용).+1
SUVr 계산
CSV 파일을 Excel 또는 Python/R로 불러옵니다.
각 행(레이블)에 대해 예를 들어 SUVmean 기준이면
(소뇌 mean 값으로 전체를 나눔).
Excel 예:
가정:
SUVmean이 C열, 소뇌가 10행이라면 C10이 reference.다른 행의 SUVr 열 (예: F열)에
=C2/$C$10형식으로 입력 후 아래로 채우기.
SUVr 결과 정리
엑셀에서 열 구성 예:
PatientID, StudyDate, LabelID, LabelName, SUVmin, SUVmax, SUVmean, SUVr(SUVmean-based).
필요하다면 SUVmax 기반 SUVr도 추가 (SUVmax/SUVmax_cerebellum 등).
최종 SUVr 엑셀 파일 저장
Excel에서
파일 → 다른 이름으로 저장으로.xlsx또는.csv형식으로 저장.후속 통계/머신러닝 분석 시 이 SUVr 테이블을 바로 사용 가능합니다.
CT 기반 vs MRI 기반 워크플로 요약
| 항목 | CT 기반 워크플로 | MRI 기반 워크플로 |
|---|---|---|
| 파셀레이션 해석 해상도 | CT 대비 낮음, 미세 구조 분할은 제약 | 높은 해부학적 분해능, atlas 정합에 유리 |
| skull stripping 용이성 | CT는 bone과 soft tissue 대비가 커 threshold 기반으로 가능 | 전용 모듈(HD-BET, Swiss Skull Stripper 등) 사용+1 |
| PET와의 registration | PET-CT는 대개 이미 정합, 추가 수정만 필요 | 별도 rigid/affine registration 필요+1YouTube |
| SUV 계산 모듈 입력 | PET DICOM + CT 공간 PET + CT 기반 labelmap+1 | PET DICOM + MRI 공간 PET + MRI 기반 labelmap+1 |
| SUVr 계산 | 후처리에서 동일 (소뇌 SUV로 정규화) | 동일 (소뇌 segment ID만 다름) |
위 절차대로 진행하면, 3D Slicer에서 brain atlas 기반 parcellation → PET 정합 → SUV 추출 → 소뇌 기준 SUVr 계산 → 엑셀 저장까지 전체 파이프라인을 재현할 수 있습니다.+1
댓글
댓글 쓰기