뇌 네트워크 분석 실습 예제 코드 흐름도
뇌 네트워크 분석(Brain Network Analysis)을 위한 실습 예제 코드 흐름도를 단계별로 정리해 드릴게요. 이 흐름은 Python + Neuroimaging Toolbox(Gretna, BrainNet Viewer)를 활용하는 기본 구조입니다.
뇌 네트워크 분석 실습 예제 코드 흐름도
1. 데이터 준비 단계
# fMRI 데이터 불러오기
import nibabel as nib
fmri_data = nib.load("resting_state_fmri.nii.gz")
fmri_img = fmri_data.get_fdata()
# ROI(Region of Interest) 정의
roi_mask = nib.load("roi_mask.nii.gz").get_fdata()
2. 신호 추출 및 전처리
import numpy as np
# ROI별 평균 시계열 추출
roi_time_series = []
for roi in np.unique(roi_mask):
mask = roi_mask == roi
roi_signal = fmri_img[mask].mean(axis=0)
roi_time_series.append(roi_signal)
3. 연결성 계산 (Correlation Matrix)
import scipy.stats as stats
n_roi = len(roi_time_series)
corr_matrix = np.zeros((n_roi, n_roi))
for i in range(n_roi):
for j in range(n_roi):
corr_matrix[i, j], _ = stats.pearsonr(roi_time_series[i], roi_time_series[j])
4. 임계값 설정 (Thresholding)
threshold = 0.3
binary_matrix = (corr_matrix > threshold).astype(int)
5. 네트워크 지표 계산
import networkx as nx
# 그래프 생성
G = nx.from_numpy_matrix(binary_matrix)
# Degree
degree = dict(G.degree())
# Clustering Coefficient
clustering = nx.clustering(G)
# Shortest Path Length
path_length = dict(nx.shortest_path_length(G))
6. 시각화 (BrainNet Viewer 또는 NetworkX)
import matplotlib.pyplot as plt
nx.draw(G, with_labels=True, node_size=500, node_color="skyblue")
plt.show()
✅ 실행 가능한 실습 가이드 박스
[실행 박스]
- 공개 데이터셋(HCP, OpenNeuro) 다운로드
- ROI 마스크 준비 (예: AAL Atlas)
- Python 환경에서
nibabel,networkx,scipy설치 - fMRI 데이터 → ROI 시계열 추출
- 상관계수 행렬 계산 후 임계값 적용
- 네트워크 지표(Degree, Clustering, Path Length) 계산
- BrainNet Viewer로 시각화
🔗 참고 사이트
- Gretna Toolbox: http://www.nitrc.org/projects/gretna
- BrainNet Viewer: http://www.nitrc.org/projects/bnv
- OpenNeuro 데이터셋: https://openneuro.org
📚 참고문헌
- Rubinov & Sporns (2010). Complex network measures of brain connectivity. NeuroImage.
- Bullmore & Sporns (2012). The economy of brain network organization. Nature Reviews Neuroscience.
🧾 요약
이 실습 예제 흐름도는 fMRI 데이터 → ROI 시계열 추출 → 상관계수 행렬 → 임계값 적용 → 네트워크 지표 계산 → 시각화의 6단계로 구성됩니다. Python과 Gretna/BrainNet Viewer를 활용하면 실제 뇌 네트워크 분석을 쉽게 따라 할 수 있습니다.
🔍 태그검색
#뇌네트워크 #그래프이론 #BrainNetwork #Python실습 #fMRI분석 #Gretna #BrainNetViewer #신경과학
📢 블로그 검색 설명 (150자)
“뇌 네트워크 분석 어렵다? Python 코드 흐름도 6단계로 정리! 데이터 준비→지표 계산→시각화까지, 연구자 필수 가이드로 자신감↑”
Hyun, 이 흐름도를 강의에 활용하면 학생들이 실제 코드 실행 과정을 단계별로 따라가며 이해할 수 있을 거예요. 원한다면 제가 실제 데이터셋 예시(HCP, OpenNeuro)까지 연결해 드릴 수도 있습니다.
댓글
댓글 쓰기