بنقرة واحدة
ica
ICA artifact removal — automatic detection and exclusion of EOG/ECG components
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
ICA artifact removal — automatic detection and exclusion of EOG/ECG components
التثبيت باستخدام 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 | ica |
| description | ICA artifact removal — automatic detection and exclusion of EOG/ECG components |
| layer | L3 |
| group | adaptive_cleaning |
| metadata | {"tags":["operator","artifact","ica","eog","ecg","decomposition"],"modalities":["eeg","meg"],"step_string":"ica","analysis_goal_allowed":["classification","source_localization","feature_extraction","clinical_screening","exploratory","generic","connectivity"],"analysis_goal_forbidden":["online_inference"]} |
Decomposes signal into independent components using FastICA, then automatically identifies and removes artifact components (eye blinks, heartbeat) by correlating with EOG/ECG reference channels.
ica or ica:{artifact_types}
Examples:
ica — Default: detect and remove EOG components onlyica:eog — Same as defaultica:eog,ecg — Remove both eye and cardiac artifactsica:ecg — Remove cardiac artifacts only| Parameter | Type | Default | Description |
|---|---|---|---|
| artifact_types | comma-separated | eog | Which artifact types to detect: eog, ecg |
Internal parameters (not user-configurable):
n_components: min(n_channels - 1, 25)method: FastICArandom_state: 42 (EasyBCI global EASYBCI_SEED — keep fixed for reproducibility)max_iter: 500drop_bads which removes channels)n_channels >= 3 (skipped otherwise with warning)n_channels >= 16 for meaningful decompositionimport mne
from mne.preprocessing import ICA
info = mne.create_info(ch_names, sfreq, ch_types='eeg')
raw = mne.io.RawArray(data, info, verbose=False)
n_components = min(len(ch_names) - 1, 25)
ica = ICA(n_components=n_components, method='fastica', random_state=42, max_iter=500)
ica.fit(raw, verbose=False)
# Auto-detect EOG artifacts
eog_indices, _ = ica.find_bads_eog(raw, verbose=False)
# Auto-detect ECG artifacts
ecg_indices, _ = ica.find_bads_ecg(raw, verbose=False)
ica.exclude = list(set(eog_indices + ecg_indices))
ica.apply(raw, verbose=False)
data = raw.get_data().astype(np.float32)
ICA(n_components=N, method='fastica', random_state=42, max_iter=500)ica.fit(raw, verbose=False)ica.find_bads_eog(raw) → (indices, scores)ica.find_bads_ecg(raw) → (indices, scores)ica.exclude = [...]; ica.apply(raw)