From f8c63ba981c93dff6c69fc298d227bedd36a18d5 Mon Sep 17 00:00:00 2001 From: innaamogolonova Date: Wed, 24 Jun 2026 18:06:45 -0700 Subject: [PATCH] create an organization wide README --- profile/README.md | 144 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) diff --git a/profile/README.md b/profile/README.md index d82d14a..6549a03 100644 --- a/profile/README.md +++ b/profile/README.md @@ -1 +1,145 @@ # SCCN GitHub Organization + +The `sccn` org is the home of **EEGLAB** — a widely used EEG processing toolbox — together with its ~150-plugin ecosystem, the **EEGPrep** Python port, the **NEMAR/NSG** data infrastructure, **Lab Streaming Layer** (real-time acquisition), **BIDS** tooling, and two decades of research code. + +This README is a starting point for new contributors: it outlines important and most active repositories, the EEGLAB plugin landscape, and the inactive repositories. + +**Status legend:** 🟢 active (≤90d) · 🟡 maintenance (≤12mo) · 🟠 dormant (>12mo) · ⚫ archived · ⬜ empty + +--- + +## At a glance + +| Metric | Value | +| ------------------ | -------------------------------------------------------------------------------------------------------- | +| Total repositories | 127 (28 GB) | +| Activity split | 🟢 13 active · 🟡 18 maintenance · 🟠 93 dormant · ⚫ 2 archived · ⬜ 1 empty | +| Language split | **MATLAB 88** · Python 11 · C/C++ · HTML/PHP · other (most code is MATLAB; a Python port is in progress) | +| GitHub stars (org) | ~3,032 — concentrated in `eeglab` (770), `labstreaminglayer` (754), `BCILAB` (233), `liblsl` (172) | +| Most active repo | `eegprep` — 516 commits in the last 90 days | + +--- + +## 1. Most important repositories + +"Important" combines three signals: **adoption (stars), foundational role, and current activity**. Some widely used repositories have not had a commit in years but remain central (core algorithms, components bundled into EEGLAB, or the standard tool in their area), so the section is split into _actively developed_ (§1a) and _foundational but stable/dormant_ (§1b). LOC is git-tracked source lines (own code; vendored or bundled code is noted). EEGLAB plugins are also catalogued in §2. + +### 1a. Actively developed (commit in the last 90 days) + +The 13 repositories with recent commit activity. + +| Repo | Project | Lang | LOC | Top contributor | Activity | ⭐ | Description | +| ---------------------------------------------------------------- | -------------------- | -------- | ----------: | --------------------- | --------------------------------------------------------------------- | --: | --------------------------------------------------------------------------- | +| [`eeglab`](https://github.com/sccn/eeglab) | EEGLAB core | MATLAB | ~153k¹ | Arno (9,075) | 🟢 last 2026-05-28 · 13,861 commits · 85 contributors · 15 in 90d | 770 | Flagship open-source EEG/MEG signal-processing environment | +| [`eegprep`](https://github.com/sccn/eegprep) | EEGPrep / Conversion | Python | ~82k² | Arno (409) | 🟢 last 2026-06-17 · 1,162 commits · 19 contributors · **516 in 90d** | 25 | Python-native, EEGLAB-compatible automated preprocessing toolkit (the port) | +| [`liblsl`](https://github.com/sccn/liblsl) | Lab Streaming Layer | C++ | ~14k³ | Tristan Stenner (781) | 🟢 last 2026-06-17 · 1,104 commits · 38 contributors · 34 in 90d | 172 | Core C++ LSL library — multi-modal time-synced data transmission | +| [`labstreaminglayer`](https://github.com/sccn/labstreaminglayer) | Lab Streaming Layer | C++/HTML | super-repo⁴ | Chadwick Boulay (260) | 🟢 last 2026-05-29 · 507 commits · 34 contributors · 3 in 90d | 754 | LSL super-repo: submodules for LSL + dozens of device apps | +| [`EEG-BIDS`](https://github.com/sccn/EEG-BIDS) | BIDS | MATLAB | ~12k | Arno (332) | 🟢 last 2026-05-05 · 746 commits · 21 contributors | 32 | EEGLAB BIDS import/export tools (also a bundled plugin) | +| [`eeglab_tests`](https://github.com/sccn/eeglab_tests) | EEGLAB core | MATLAB | ~39k | Arno (264) | 🟢 last 2026-05-29 · 324 commits · 6 contributors · 4 in 90d | 1 | EEGLAB test suite (Git-LFS, 15 GB of test data) | +| [`nemar_reanalysis`](https://github.com/sccn/nemar_reanalysis) | NEMAR / NSG | MATLAB | ~15k | GaganVM (48) | 🟢 last 2026-04-11 · 49 commits · 4 contributors · 7 in 90d | 0 | NEMAR dataset reanalysis pipeline | +| [`eeglab_conversion`](https://github.com/sccn/eeglab_conversion) | EEGPrep / Conversion | Python | ~14k | Yahya (20) | 🟢 last 2026-05-09 · 15 commits · 4 contributors · 9 in 90d | 0 | Function-by-function MATLAB→Python parity workbench (TDD) | +| [`eeg-verify`](https://github.com/sccn/eeg-verify) | EEGPrep / Conversion | Python | ~2.3k | Aman (32) | 🟢 last 2026-05-19 · 32 commits · 1 contributor · 32 in 90d | 0 | Cross-pipeline dataset/library verification harness | +| [`sccn.github.io`](https://github.com/sccn/sccn.github.io) | Outreach / Docs | HTML | ~2.2k⁵ | Arno (1,019) | 🟢 last 2026-04-30 · 1,630 commits · 27 contributors · 9 in 90d | 7 | EEGLAB wiki/website content host | +| [`bva-io`](https://github.com/sccn/bva-io) | I/O import | MATLAB | ~1.3k | Arno (27) | 🟢 last 2026-03-30 · 63 commits · 9 contributors · 3 in 90d | 23 | BrainVision data import/export (also a bundled plugin) | +| [`muse_osc`](https://github.com/sccn/muse_osc) | Acquisition / Mobile | Python | ~90 | Arno (2) | 🟢 last 2026-04-17 · 2 commits · 1 contributor | 0 | Muse portable-EEG OSC streaming | + +> ¹ `eeglab` LOC includes bundled plugin submodules (`clean_rawdata`, `dipfit`, `EEG-BIDS`, `firfilt`, `ICLabel`, …); the core toolbox alone is ~100k. +> ² `eegprep` own `src/` is ~82k; ~150k including tests/examples. +> ³ `liblsl` own `src/`+`include/` is ~14k; the tree carries ~170k more lines of vendored `lslboost`/`thirdparty`. +> ⁴ `labstreaminglayer` is a super-repo of git submodules (~300 lines of glue in the super-repo itself; each app/library lives in its own submodule). +> ⁵ `sccn.github.io` is mostly Markdown/content (not counted as code); the ~2.2k is HTML/JS. + +Most recent activity is concentrated in `eegprep` (516 commits in 90 days, well ahead of the next repo at 34), alongside `eeglab`, the LSL libraries, `nemar_reanalysis`, and the website. + +### 1b. Foundational but stable / dormant + +Repositories that are not actively developed but remain widely used or central to EEGLAB. Several are also EEGLAB plugins and appear again in §2. + +| Repo | Project | Lang | LOC | ⭐ | Status | Why it matters | +| -------------------------------------------------------- | ------------------- | ---------- | ----: | --: | ----------------- | -------------------------------------------------------------------------------------------------------------------------- | +| [`BCILAB`](https://github.com/sccn/BCILAB) | Misc / Research | MATLAB | ~192k | 233 | 🟠 dormant (2021) | Flagship standalone Brain-Computer Interface toolbox — the org's 3rd-most-starred repo | +| [`xdf`](https://github.com/sccn/xdf) | Lab Streaming Layer | super-repo | — | 102 | 🟠 dormant (2020) | Loaders for XDF, the standard LSL recording file format — used across the entire LSL ecosystem | +| [`ICLabel`](https://github.com/sccn/ICLabel) | ICA | MATLAB | ~2.6k | 73 | 🟡 maintenance | Automatic EEG IC classification — the most-used ICA plugin, bundled in EEGLAB | +| [`clean_rawdata`](https://github.com/sccn/clean_rawdata) | Preprocessing | MATLAB | ~7.8k | 53 | 🟡 maintenance | Artifact Subspace Reconstruction (ASR) — the de-facto standard cleaning step in modern EEGLAB pipelines, bundled in EEGLAB | +| [`roiconnect`](https://github.com/sccn/roiconnect) | Source & Conn. | MATLAB | ~50k | 46 | 🟡 maintenance | ROI-based connectivity analysis | +| [`SIFT`](https://github.com/sccn/SIFT) | Source & Conn. | MATLAB | ~163k | 42 | 🟠 dormant (2024) | Major multivariate causality / connectivity toolbox (513 commits) | +| [`amica`](https://github.com/sccn/amica) | ICA | Fortran | ~12k | 32 | 🟠 dormant (2024) | The AMICA decomposition — a core ICA engine behind EEGLAB | +| [`mobilab`](https://github.com/sccn/mobilab) | Acquisition | MATLAB | — | 31 | 🟡 maintenance | MoBILAB — Mobile Brain/Body data analysis & visualization | +| [`dipfit`](https://github.com/sccn/dipfit) | Source & Conn. | MATLAB | ~8.3k | 8 | 🟡 maintenance | Equivalent-dipole source localization — bundled in EEGLAB core | + +--- + +## 2. EEGLAB plugins + +Much of the org is the EEGLAB plugin ecosystem — standalone toolboxes that extend EEGLAB. Most are feature-complete and see little ongoing change; a few are actively maintained. Sorted by stars; the full list (all families) is in [`repo_inventory.csv`](repo_inventory.csv). + +| Plugin | Family | Lang | ⭐ | Status | Last commit | Top contributor | Description | +| -------------------------------------------------------- | --------------- | ------: | --- | -------------- | ----------- | ---------------- | ------------------------------------------------------------- | +| [`ICLabel`](https://github.com/sccn/ICLabel) | ICA | MATLAB | 73 | 🟡 maintenance | 2025-11-18 | Arno | Automatic EEG independent-component classification | +| [`clean_rawdata`](https://github.com/sccn/clean_rawdata) | Preprocessing | MATLAB | 53 | 🟡 maintenance | 2026-01-05 | Arno | Artifact Subspace Reconstruction (ASR) — clean raw EEG | +| [`roiconnect`](https://github.com/sccn/roiconnect) | Source & Conn. | MATLAB | 46 | 🟡 maintenance | 2025-09-12 | Arno | ROI-based connectivity analysis in EEG | +| [`PACTools`](https://github.com/sccn/PACTools) | Source & Conn. | MATLAB | 43 | 🟠 dormant | 2024-08-05 | ramonmc | Phase-Amplitude Coupling via multiple methods | +| [`SIFT`](https://github.com/sccn/SIFT) | Source & Conn. | MATLAB | 42 | 🟠 dormant | 2024-08-02 | Tim Mullen | Multivariate causality / information-flow toolbox (GUI-heavy) | +| [`EEG-BIDS`](https://github.com/sccn/EEG-BIDS) | BIDS | MATLAB | 32 | 🟢 active | 2026-05-05 | Arno | BIDS import/export (also a top-level active repo, §1) | +| [`amica`](https://github.com/sccn/amica) | ICA | Fortran | 32 | 🟠 dormant | 2024-07-25 | Jason Palmer | Adaptive Mixture ICA — core decomposition algorithm | +| [`mobilab`](https://github.com/sccn/mobilab) | Acquisition | MATLAB | 31 | 🟡 maintenance | 2025-10-24 | aojeda | MoBILAB — Mobile Brain/Body data analysis & viz | +| [`bva-io`](https://github.com/sccn/bva-io) | I/O import | MATLAB | 23 | 🟢 active | 2026-03-30 | Arno | BrainVision import/export (also a top-level active repo, §1) | +| [`cleanline`](https://github.com/sccn/cleanline) | Preprocessing | MATLAB | 18 | 🟠 dormant | 2025-02-07 | Arno | Line-noise (50/60 Hz) removal via adaptive filtering | +| [`OneOverF`](https://github.com/sccn/OneOverF) | Misc / Research | — | 12 | 🟡 maintenance | 2025-11-19 | Cedric Cannard | Community project on 1/f spectral dynamics | +| [`NFT`](https://github.com/sccn/NFT) | Source & Conn. | MATLAB | 9 | 🟠 dormant | 2024-08-02 | zakalinacar | Neuroelectromagnetic Forward Modeling Toolbox | +| [`nsgportal`](https://github.com/sccn/nsgportal) | NEMAR / NSG | MATLAB | 9 | 🟠 dormant | 2024-07-11 | ramonmc | EEGLAB plugin for the Neuroscience Gateway (supercomputer) | +| [`dipfit`](https://github.com/sccn/dipfit) | Source & Conn. | MATLAB | 8 | 🟡 maintenance | 2025-09-17 | Arno | Equivalent-dipole source localization | +| [`get_chanlocs`](https://github.com/sccn/get_chanlocs) | Source & Conn. | MATLAB | 7 | 🟠 dormant | 2024-08-02 | cll008 | Electrode localization from 3D head image | +| [`PowPowCAT`](https://github.com/sccn/PowPowCAT) | Source & Conn. | MATLAB | 7 | 🟠 dormant | 2024-07-25 | Makoto Miyakoshi | Cross-frequency power-power correlation | +| [`viewprops`](https://github.com/sccn/viewprops) | ICA | MATLAB | 6 | 🟠 dormant | 2024-09-23 | LucaPT | Improved IC property visualization (`pop_prop`) | +| [`imat`](https://github.com/sccn/imat) | ICA | MATLAB | 5 | 🟠 dormant | 2024-08-05 | Johanna Wagner | Independent Modulators Analysis Toolbox | +| [`relica`](https://github.com/sccn/relica) | ICA | MATLAB | 5 | 🟠 dormant | 2024-07-25 | ramonmc | Reliability estimation of independent components | +| [`trimOutlier`](https://github.com/sccn/trimOutlier) | Preprocessing | MATLAB | 4 | 🟠 dormant | 2024-07-25 | Makoto Miyakoshi | Outlier channel/frame rejection | +| [`binica`](https://github.com/sccn/binica) | ICA | C | 2 | 🟡 maintenance | 2025-12-26 | Arno | Binary Infomax ICA in C (LAPACK) | +| [`iEEGLAB`](https://github.com/sccn/iEEGLAB) | Misc / Research | MATLAB | 0 | 🟡 maintenance | 2026-01-09 | Cedric Cannard | Intracranial EEG (iEEG) analysis plugin | +| [`corrmap`](https://github.com/sccn/corrmap) | ICA | MATLAB | 0 | 🟡 maintenance | 2025-10-31 | Arno | Correlation of scalp maps across IC components | +| [`HEDTools`](https://github.com/sccn/HEDTools) | BIDS | MATLAB | 0 | 🟠 dormant | 2024-10-23 | Dung Truong | Hierarchical Event Descriptor (HED) tagging plugin | + +> Forks bundled as plugins (not separate development lines): `firfilt` (FIR filtering), `zapline-plus` (line-noise removal). Dozens of smaller single-purpose plugins (`std_*`, `NIMA`, `groupSIFT`, `PACT`, `fMRIb`, `neuroscanio`, `nwbio`, …) are listed in [`repo_inventory.csv`](repo_inventory.csv). + +--- + +## 3. Inactive repositories and cleanup candidates + +About 95 repositories are dormant, archived, or empty. The ones below are the clearest candidates for archival or consolidation; they are listed for reference, not as a decision. + +### Already archived on GitHub (2) + +| Repo | Note | +| ------------------------------------------------------------------------------------ | -------------------------------------------------------- | +| [`mffmatlabio`](https://github.com/sccn/mffmatlabio) | Archived fork — MFF importer (likely merged into EEGLAB) | +| [`nemar_tool_proof_of_concept`](https://github.com/sccn/nemar_tool_proof_of_concept) | Archived fork — Octave-container PoC | + +### Empty / single-commit stubs (likely safe to remove or merge) + +| Repo | Note | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | +| [`eeglab_wiki`](https://github.com/sccn/eeglab_wiki) | ⬜ **0 commits** — empty placeholder | +| [`eegprep.read.the.docs`](https://github.com/sccn/eegprep.read.the.docs) | 1 commit — superseded by eegprep's in-repo Sphinx docs | +| [`eeglab_gpu_func`](https://github.com/sccn/eeglab_gpu_func) | 1 commit (2021) — early GPU experiment, not developed further | +| `biosemiPhys`, `emotivimport`, `erpssimport`, `countBlinks`, `erpsource`, `Mutual_Info_Clustering`, `NFT_demo`, `REST_fieldtrip`, `gazepoint_eyetracking` | Single-commit, multi-year-dormant stubs | + +### Possibly superseded or redundant + +| Repo | Note | +| ------------------------------------------------------------------ | ---------------------------------------------------------------------- | +| [`eeglabtmp`](https://github.com/sccn/eeglabtmp) | Old EEGLAB snapshot (12.5k commits, last 2019) — duplicate of `eeglab` | +| [`eeglab-1-deepa`](https://github.com/sccn/eeglab-1-deepa) | Personal fork of EEGLAB (13.4k commits, 2023) | +| [`lsl_archived`](https://github.com/sccn/lsl_archived) | Earlier LSL codebase, superseded by `liblsl` / `labstreaminglayer` | +| `eeglab_plugin_manager` and `eeglab_plugin_manager2` | Two plugin managers covering similar ground | +| [`open-data-registry`](https://github.com/sccn/open-data-registry) | Fork of AWS's public-dataset registry (6.2k commits) | + +> Some inactive repositories are still widely used or foundational (`BCILAB`, `xdf`, `SIFT`, `amica`, `ICLabel`, …). These are listed in §1b rather than here, since inactivity alone does not make a repository a cleanup candidate. + +--- + +> **Scope note:** Several headline lab projects are **not** in the `sccn` org — **EEG-Dash** lives at [`github.com/eegdash/EEGDash`](https://github.com/eegdash/EEGDash); **EEG Many Artifacts** and **EEG+fMRI** have no public `sccn` repo. See [`all_sccn_repos_summary.md`](all_sccn_repos_summary.md) for details. + +--- + +_LOC computed 2026-06-24 from git-tracked source files in the local clones. All other metrics from the 2026-06-21 inventory (`git log`/`shortlog` + `gh api`). Star/issue counts are live GitHub values at generation time; raw commit totals are inflated by forks/snapshots._