一键导入
drop-nondata-channels
Remove non-data channels (markers/triggers, misc, optionally physiological refs)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Remove non-data channels (markers/triggers, misc, optionally physiological refs)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Neurodata Without Borders (.nwb) — the de-facto standard for in-vivo electrophysiology (Neuropixels / AIBS / DANDI / IBL)
Index of L0 data-format loader skills by family
Index of all L2 paradigm skills by group + analysis_goal → paradigm matrix
Two-phase BCI data preprocessing pipeline: deep-inspect → plan → propose → user confirm → automated code/execute/QC/export
BIDS-iEEG sidecar (*_channels.tsv / *_electrodes.tsv / *_coordsystem.json / *_ieeg.json) — clinical sEEG / ECoG standard
Multiscale Electrophysiology Format v3 (Mayo Clinic) — long-duration encrypted sEEG
| name | drop_nondata_channels |
| description | Remove non-data channels (markers/triggers, misc, optionally physiological refs) |
| layer | L3 |
| group | channel |
| metadata | {"tags":["operator","channels","marker","trigger","stim","clean","nondata"],"modalities":["eeg","seeg","ecog","meg"],"step_string":"drop_nondata_channels","analysis_goal_allowed":["classification","source_localization","feature_extraction","clinical_screening","exploratory","generic","online_inference"],"analysis_goal_forbidden":["connectivity","phase_amplitude_coupling"]} |
Removes channels that are not target neural signal — pure marker/trigger
channels (STI / Trigger / Status / Event / DC), and optionally misc and
physiological-reference channels (EOG/EMG/ECG). Classification comes from
channel_classifier (MNE ch_types first, channel-name regex as fallback).
This is different from drop_bads: drop_bads removes broken data
channels (flat/noisy); this removes non-data channels that were never meant
to be analyzed.
drop_nondata_channels:{mode}
| mode | Drops | Keeps |
|---|---|---|
markers_only (default) | marker/trigger channels | data + physio + misc |
markers_and_misc | marker + misc | data + physio |
data_only | marker + misc + physio | data only |
drop_nondata_channels with no param == markers_only.
inspect_data's
channel_summary.must_drop is non-empty — marker channels pollute CAR, ICA,
and filtering.markers_only by default.markers_and_misc if misc channels are clearly junk.data_only only when you are sure EOG/ECG are not needed for ICA
artifact rejection later. If ICA-with-EOG-reference is planned, keep physio.After ICA, the codegen layer (_enforce_clean_output in
tools/neural_processing/codegen/generator.py) decides whether to append a
second drop_nondata_channels:data_only step before save, based on the
analysis_goal declared at propose_pipeline time. The decision table is the
single source of truth in
improved_docs/plans/goal-driven-preprocessing/02-phase1-goal-first.md §1.3:
analysis_goal | Post-ICA data_only cleanup | Rationale |
|---|---|---|
classification | ✅ append | downstream classifier wants pure brain channels |
feature_extraction | ✅ append | features should not mix in EOG/ECG |
clinical_screening | ✅ append | screening models trained on data-only montages |
generic | ✅ append | conservative default for unknown downstream |
source_localization | ❌ skip (intentional) | source modelling consumes physio refs / full montage |
exploratory | ❌ skip | exploration phase wants the original physical channels visible |
This is a design choice, not a bug. The skill writer does NOT need to
hand-add a trailing drop_nondata_channels:data_only; codegen handles it.
ref_meg channels are classified as data and never dropped here.Place before referencing (CAR/bipolar), ICA, and filtering. Recommended:
right after inspect/load, before notch/bandpass.
Dropped channel names are recorded in meta.dropped_channels and surfaced in
the CONFIRM display and mini-repo reasoning so the user sees exactly what was
removed and why.