{
  "input_dir": "C:\\Users\\k3135\\OneDrive\\桌面\\碩論用\\切割後資料\\ASR_FIR0.5-50Hz_ICA後切割\\正常人",
  "analysis_window_sec": [
    0.0,
    2.0
  ],
  "artifact_filter": "reuse valid_trial_mask from plot_asr10_fir0p5_band_correlations.py; robust z <= 3.5",
  "features": [
    {
      "key": "line_length",
      "title": "Line length",
      "kind": "time-domain waveform roughness",
      "unit": "uV/s",
      "why_not_previous": "不是 MRCP amplitude/slope/AUC，也不是 Hjorth 或 permutation entropy；它看的是波形總變動量。"
    },
    {
      "key": "zero_crossing_rate",
      "title": "Zero-crossing rate",
      "kind": "time-domain sign-change density",
      "unit": "crossings/s",
      "why_not_previous": "不是振幅或 PSD，主要看 0~2 秒內訊號穿越均值的頻率。"
    },
    {
      "key": "teager_kaiser_energy",
      "title": "Teager-Kaiser energy",
      "kind": "nonlinear instantaneous energy",
      "unit": "uV^2",
      "why_not_previous": "和 bandpower 不同，TKE 對瞬時振幅與頻率共同變化敏感。"
    },
    {
      "key": "lag1_autocorr",
      "title": "Lag-1 autocorrelation",
      "kind": "short-memory temporal structure",
      "unit": "r",
      "why_not_previous": "不是 sliding channel correlation；這裡看單一通道自身的一階時間記憶。"
    },
    {
      "key": "late_minus_early_line_length",
      "title": "Late - early line length",
      "kind": "two-window temporal dynamics",
      "unit": "uV/s",
      "why_not_previous": "加入 0~1 秒與 1~2 秒的時間窗差，測試運動期間後段是否有額外變動。"
    },
    {
      "key": "peak_latency_abs",
      "title": "Absolute peak latency",
      "kind": "time-domain latency",
      "unit": "s",
      "why_not_previous": "不是 MRCP 振幅/斜率/面積；它只看最大絕對偏移出現的時間。"
    },
    {
      "key": "lz_complexity",
      "title": "Lempel-Ziv complexity",
      "kind": "symbolic sequence complexity",
      "unit": "normalized count",
      "why_not_previous": "不同於 permutation entropy；LZ 看二值化序列中新增片段的壓縮複雜度。"
    },
    {
      "key": "higuchi_fd",
      "title": "Higuchi fractal dimension",
      "kind": "fractal geometry",
      "unit": "dimension",
      "why_not_previous": "不同於 Hjorth mobility/complexity；Higuchi FD 估計時間序列幾何粗糙度。"
    },
    {
      "key": "spectral_centroid_5_30",
      "title": "Spectral centroid 5-30 Hz",
      "kind": "spectral shape",
      "unit": "Hz",
      "why_not_previous": "不是頻帶 power 大小，而是 5~30 Hz 頻譜的重心位置。"
    },
    {
      "key": "spectral_entropy_5_30",
      "title": "Spectral entropy 5-30 Hz",
      "kind": "spectral distribution flatness",
      "unit": "0-1",
      "why_not_previous": "不是 permutation entropy；它衡量頻譜能量分布是否集中或分散。"
    },
    {
      "key": "spectral_edge90_5_30",
      "title": "Spectral edge 90% 5-30 Hz",
      "kind": "spectral shape percentile",
      "unit": "Hz",
      "why_not_previous": "不是 bandpower，而是 90% 累積頻譜能量所在頻率。"
    },
    {
      "key": "aperiodic_slope_5_40",
      "title": "Aperiodic slope 5-40 Hz",
      "kind": "1/f-like spectral shape",
      "unit": "log-log slope",
      "why_not_previous": "不是固定頻帶功率；它估計 log PSD 對 log frequency 的斜率。"
    },
    {
      "key": "alpha_peak_frequency",
      "title": "Alpha peak frequency",
      "kind": "peak frequency",
      "unit": "Hz",
      "why_not_previous": "不是 alpha power，而是在 8~13 Hz 內找峰值頻率位置。"
    },
    {
      "key": "mu_itpc",
      "title": "Mu ITPC 8-13 Hz",
      "kind": "inter-trial phase consistency",
      "unit": "0-1",
      "why_not_previous": "不是 power 或 channel correlation；它看 trial 間相位是否鎖定。"
    },
    {
      "key": "low_beta_itpc",
      "title": "Low-beta ITPC 13-20 Hz",
      "kind": "inter-trial phase consistency",
      "unit": "0-1",
      "why_not_previous": "不是 beta power；它測試 low beta 相位鎖定是否左右腳不同。"
    }
  ],
  "subjects": {
    "sub1": {
      "source_file": "sub1 - 30y male (Lofan)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 99,
        "right": 103
      }
    },
    "sub10": {
      "source_file": "sub10 - 20y male (李耀凱)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 100
      }
    },
    "sub11": {
      "source_file": "sub11 - 25y female (游郁慈)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 100
      }
    },
    "sub12": {
      "source_file": "sub12 - 24y male (林子競)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 101
      }
    },
    "sub13": {
      "source_file": "sub13 - 22y female (陳姿穎)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 99
      }
    },
    "sub14": {
      "source_file": "sub14 - 20y female (鍾沂蓁)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 100
      }
    },
    "sub15": {
      "source_file": "sub15 - 20y female (呂佳蓁)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 100
      }
    },
    "sub2": {
      "source_file": "sub2 - 29y male (Sean)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 102,
        "right": 100
      }
    },
    "sub3": {
      "source_file": "sub3 - 29y female (Janice)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 100
      }
    },
    "sub9": {
      "source_file": "sub9 - 23y female (潘俐伃)_asr10_fir0p5_50_ica_split.npz",
      "valid_trials": {
        "left": 100,
        "right": 100
      }
    }
  },
  "note": "Exploratory first-round search; best channel selected post hoc from 32 channels."
}