뇌 네트워크 분석 실습 예제 코드 흐름도

뇌 네트워크 분석(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()

✅ 실행 가능한 실습 가이드 박스

[실행 박스]

  1. 공개 데이터셋(HCP, OpenNeuro) 다운로드
  2. ROI 마스크 준비 (예: AAL Atlas)
  3. Python 환경에서 nibabel, networkx, scipy 설치
  4. fMRI 데이터 → ROI 시계열 추출
  5. 상관계수 행렬 계산 후 임계값 적용
  6. 네트워크 지표(Degree, Clustering, Path Length) 계산
  7. BrainNet Viewer로 시각화

🔗 참고 사이트


📚 참고문헌

  • 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)까지 연결해 드릴 수도 있습니다.

댓글

이 블로그의 인기 게시물

히브리인, 이스라엘인, 유대인 성경 속 이름에 숨겨진 소름 돋는 비밀

작은 틈이 무너뜨린다 왜 우리는 ‘사소한 분열’을 극도로 경계해야 하는가

작은 틈이 무너뜨린다 왜 성경은 ‘분열의 시작’을 그렇게 경고하는가