---
id: wiki-2026-0508-neurorehabilitation-post-stroke
title: Neurorehabilitation Post-Stroke
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Post-Stroke Rehabilitation, Stroke Recovery, Neurorehabilitation after Stroke]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [stroke, rehab, motor-recovery, cimt, robotics, bci, plasticity]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack: { language: python, framework: pytorch-mne }
---

# Neurorehabilitation Post-Stroke

## 매 한 줄
- 뇌졸중 후 신경재활은 손상 주변 뉴런의 가소성을 활용하여 운동·언어·인지 기능을 복원하는 다학제 개입이며, 로봇·BCI·집중훈련(CIMT)이 표준 도구로 합류했다.

## 매 핵심
- **회복 곡선**: 발병 후 0–3개월 spontaneous recovery(신경가소성 활성기), 3–6개월 plateau, 6개월+ slow gain. **시간 의존성** 강함.
- **표준 개입**: CIMT(constraint-induced movement therapy, 건측 억제 + 환측 집중 사용), task-specific repetition(>300회/세션), mirror therapy, FES, robotic exoskeleton(Lokomat, Armeo), tDCS/rTMS 보조.
- **BCI 재활**: motor imagery EEG → robot/FES 폐루프, Hebbian "pair pre+post" 자극으로 cortico-spinal pathway 강화.
- **결과 척도**: Fugl-Meyer Assessment(FMA, 0–66 upper limb), Modified Rankin Scale, Barthel Index, NIHSS.
- **AI 적용**: 보행 분석(IMU + LSTM), 회복 궤적 예측(GBM on FMA + lesion volume), 가정 telerehab adherence 모니터.

## 💻 패턴
```python
# Fugl-Meyer trajectory prediction (early FMA + lesion → 6mo FMA)
import numpy as np
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.model_selection import KFold

X = np.load("baseline_features.npy")  # FMA_t0, lesion_vol, age, NIHSS
y = np.load("FMA_6mo.npy")
gbr = GradientBoostingRegressor(n_estimators=300, max_depth=3)
mae = []
for tr, te in KFold(5, shuffle=True, random_state=0).split(X):
    gbr.fit(X[tr], y[tr])
    mae.append(np.mean(np.abs(gbr.predict(X[te]) - y[te])))
print(f"FMA MAE: {np.mean(mae):.2f}")
```

```python
# IMU gait segmentation: heel-strike detection
import numpy as np
from scipy.signal import find_peaks

def heel_strikes(acc_z, fs=100):
    peaks, _ = find_peaks(-acc_z, distance=fs * 0.4, prominence=0.5)
    return peaks  # samples
```

```python
# Motor imagery EEG → CSP + LDA classifier (BCI rehab)
from mne.decoding import CSP
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.pipeline import Pipeline

clf = Pipeline([("csp", CSP(n_components=6)), ("lda", LinearDiscriminantAnalysis())])
clf.fit(X_eeg, y_class)  # 0=rest, 1=hand-MI
```

```python
# CIMT compliance from wrist accelerometer (use ratio paretic/non-paretic)
import numpy as np
def use_ratio(acc_paretic, acc_non):
    p = np.sqrt(np.sum(acc_paretic ** 2, axis=1))
    n = np.sqrt(np.sum(acc_non ** 2, axis=1))
    return p.sum() / (n.sum() + 1e-9)
```

```python
# Robotic assist-as-needed: error-based force scaling
def assist_force(target, actual, k_max=20.0, deadband=0.02):
    err = target - actual
    if abs(err) < deadband:
        return 0.0
    return k_max * (1 - 1 / (1 + abs(err))) * (1 if err > 0 else -1)
```

```python
# tDCS dose calc (anodal M1, 2 mA, 20 min)
def tdcs_charge(current_mA, duration_min, area_cm2=35):
    Q = current_mA * 1e-3 * duration_min * 60  # Coulombs
    return Q / area_cm2  # safety < 0.04 C/cm^2
```

```python
# Repetition counter from EMG burst detection
import numpy as np
def count_reps(emg, fs=1000, thresh=2.0):
    env = np.abs(emg)
    above = env > thresh * env.std()
    edges = np.diff(above.astype(int))
    return int((edges == 1).sum())
```

## 매 결정 기준
- **발병 후 시점**: 0–3개월 → 고강도 task-specific. 6개월+ → CIMT, BCI, robotics 보강.
- **운동 손상 정도**: FMA<20(severe) → robotic passive/assist. FMA 20–50 → CIMT + active. FMA>50 → fine motor task.
- **BCI 적용**: 잔존 motor imagery 신호 검출 가능 + 환자 동기 → 폐루프 BCI(8주 프로그램).
- **퇴원 후 telerehab**: adherence 측정 가능한 wearable + 주 1회 화상 follow.

## 🔗 Graph
- 관련: [[Neuroplasticity]], [[Neuroprosthetics-Development]], [[Neurodevelopmental-Disorders]], [[BCI]], [[fMRI-Analysis]]
- 도구: [[MNE-Python]], [[OpenSim]], [[Lokomat]], [[Armeo-Spring]]

## 🤖 LLM 활용
- 환자별 재활 계획 초안(FMA, Barthel 입력 → goal/timeline 생성, 임상의 검토 필수).
- 진료기록 요약(NIHSS 변화, 합병증 추출).
- 가정 운동 안내문 다국어 번역.

## ❌ 안티패턴
- 발병 24h 이내 고강도 mobilization(AVERT 시험: 90일 outcome 악화 보고).
- BCI calibration 없이 일반 모델 적용(개인차 큼).
- 환측 사용 강제 없이 CIMT 라벨링.

## 🧪 검증
- FMA, Action Research Arm Test(ARAT), 10m walk test, Berg Balance.
- BCI: classification accuracy ≥ 70%, 사용자 NASA-TLX.

## 🕓 Changelog
- 2026-05-08 Phase 1: 초안 자동 생성.
- 2026-05-10 Manual cleanup: 본문 보강, AVERT 결과 반영, 코드 패턴 7개, BCI 폐루프 추가.
