diff --git a/.zenodo.json b/.zenodo.json index a8a5cb5..27eb468 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -35,7 +35,7 @@ ], "related_identifiers": [ { - "identifier": "https://eeglab.org/pyAMICA/", + "identifier": "https://eeglab.org/pAMICA/", "relation": "isDocumentedBy", "scheme": "url", "resource_type": "publication-softwaredocumentation" diff --git a/CITATION.cff b/CITATION.cff index be08be7..e97ff93 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -32,8 +32,8 @@ authors: version: 0.2.1 date-released: "2026-07-18" license: BSD-3-Clause -repository-code: "https://github.com/sccn/pyAMICA" -url: "https://eeglab.org/pyAMICA/" +repository-code: "https://github.com/sccn/pAMICA" +url: "https://eeglab.org/pAMICA/" keywords: - AMICA - independent component analysis diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2d39e3f..1535f86 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,7 +9,7 @@ standard rather than to "it converges." ## Getting help and reporting issues - **Questions, bugs, and feature requests:** please open an issue on the - [GitHub issue tracker](https://github.com/sccn/pyAMICA/issues). + [GitHub issue tracker](https://github.com/sccn/pAMICA/issues). - When reporting a bug, include the pamica version, platform, device (CPU/CUDA/MPS/MLX), precision (float32/float64), and a minimal example. @@ -19,8 +19,8 @@ pamica uses [UV](https://docs.astral.sh/uv/) for environment and dependency management. ```bash -git clone https://github.com/sccn/pyAMICA.git -cd pyAMICA +git clone https://github.com/sccn/pAMICA.git +cd pAMICA uv sync # install the project and dependencies uv run pytest # run the test suite ``` diff --git a/README.md b/README.md index 63b8050..70a5f79 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # pAMICA: Adaptive Mixture ICA -[![CI](https://github.com/sccn/pyAMICA/actions/workflows/ci.yml/badge.svg)](https://github.com/sccn/pyAMICA/actions/workflows/ci.yml) -[![codecov](https://codecov.io/gh/sccn/pyAMICA/branch/main/graph/badge.svg)](https://codecov.io/gh/sccn/pyAMICA) +[![CI](https://github.com/sccn/pAMICA/actions/workflows/ci.yml/badge.svg)](https://github.com/sccn/pAMICA/actions/workflows/ci.yml) +[![codecov](https://codecov.io/gh/sccn/pAMICA/branch/main/graph/badge.svg)](https://codecov.io/gh/sccn/pAMICA) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21312148.svg)](https://doi.org/10.5281/zenodo.21312148) -[![Docs](https://img.shields.io/badge/docs-eeglab.org%2FpyAMICA-blue)](https://eeglab.org/pyAMICA/) +[![Docs](https://img.shields.io/badge/docs-eeglab.org%2FpAMICA-blue)](https://eeglab.org/pAMICA/) Python (PyTorch) implementation of Adaptive Mixture Independent Component Analysis (AMICA) that reproduces the reference Fortran implementation within numerical @@ -14,7 +14,7 @@ in EEGLAB. Single-model results match the Fortran reference (Hungarian-matched component correlation ~ 0.998 on well-determined data, Newton disabled); see the -[documentation](https://eeglab.org/pyAMICA/) for validation details and the +[documentation](https://eeglab.org/pAMICA/) for validation details and the backend-selection guide. ## Overview @@ -33,8 +33,8 @@ AMICA (Adaptive Mixture ICA) is an advanced blind source separation algorithm th The canonical environment is [uv](https://docs.astral.sh/uv/): ```bash -git clone https://github.com/sccn/pyAMICA.git -cd pyAMICA +git clone https://github.com/sccn/pAMICA.git +cd pAMICA uv sync # install dependencies into a managed venv uv run pytest # optional: run the tests ``` @@ -95,7 +95,7 @@ The NumPy reference backend keeps a JSON-driven command-line interface: python -m pamica.numpy_impl.cli params.json --outdir results ``` -See the [documentation](https://eeglab.org/pyAMICA/) for the full API, the +See the [documentation](https://eeglab.org/pAMICA/) for the full API, the parameter reference, and the backend-selection and validation guides. ## Citation diff --git a/docs/api/native-backend.md b/docs/api/native-backend.md index cf81ca9..fdd3cc8 100644 --- a/docs/api/native-backend.md +++ b/docs/api/native-backend.md @@ -44,7 +44,7 @@ asset and caches it, so later runs are offline: it has passed its checksum; a failed or tampered download never runs. - **Platforms:** prebuilt binaries are attached to each release for macOS arm64, Linux x64, Linux arm64 and Windows x64. Windows arm64 has no native Fortran - toolchain yet ([#173](https://github.com/sccn/pyAMICA/issues/173)); it maps to + toolchain yet ([#173](https://github.com/sccn/pAMICA/issues/173)); it maps to the x64 binary, which runs under Windows 11 ARM's x64 emulation. Install the binary explicitly (for example to pre-populate the cache in an diff --git a/docs/api/viz.md b/docs/api/viz.md index c220f5f..ec8e71c 100644 --- a/docs/api/viz.md +++ b/docs/api/viz.md @@ -15,7 +15,7 @@ mutating pyplot's global state. probable model at each timepoint. A per-component scalp-topography plot is not included yet: deriving source activations from a loaded `AmicaOutput` depends on an unsettled `W` convention -question, tracked in [#159](https://github.com/sccn/pyAMICA/issues/159). +question, tracked in [#159](https://github.com/sccn/pAMICA/issues/159). ```python from pamica import plot_pmi_heatmap, plot_model_probability diff --git a/docs/changelog.md b/docs/changelog.md index 0ce5dd8..58e9940 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,7 +1,7 @@ # Changelog Release notes are also published on the -[GitHub releases page](https://github.com/sccn/pyAMICA/releases). +[GitHub releases page](https://github.com/sccn/pAMICA/releases). ## 0.2.1 diff --git a/docs/development/contributing.md b/docs/development/contributing.md index ff8f54f..83d20e8 100644 --- a/docs/development/contributing.md +++ b/docs/development/contributing.md @@ -1,15 +1,15 @@ # Contributing Contributions are welcome. This page summarizes the development workflow; see the -full [CONTRIBUTING](https://github.com/sccn/pyAMICA/blob/main/CONTRIBUTING.md) -and [Code of Conduct](https://github.com/sccn/pyAMICA/blob/main/CODE_OF_CONDUCT.md) +full [CONTRIBUTING](https://github.com/sccn/pAMICA/blob/main/CONTRIBUTING.md) +and [Code of Conduct](https://github.com/sccn/pAMICA/blob/main/CODE_OF_CONDUCT.md) in the repository root. ## Development setup ```bash -git clone https://github.com/sccn/pyAMICA.git -cd pyAMICA +git clone https://github.com/sccn/pAMICA.git +cd pAMICA uv sync # install the project and dependencies uv run pytest # run the test suite ``` @@ -27,5 +27,5 @@ uv run pytest # run the test suite ## Reporting issues and getting help Please open an issue on the -[GitHub issue tracker](https://github.com/sccn/pyAMICA/issues) for bug +[GitHub issue tracker](https://github.com/sccn/pAMICA/issues) for bug reports, feature requests, and questions. diff --git a/docs/getting-started.md b/docs/getting-started.md index b77ca0b..340bc42 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -8,8 +8,8 @@ management. ### From source ```bash -git clone https://github.com/sccn/pyAMICA.git -cd pyAMICA +git clone https://github.com/sccn/pAMICA.git +cd pAMICA uv sync # install the project and its dependencies into .venv ``` diff --git a/mkdocs.yml b/mkdocs.yml index b831543..bce8084 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,16 +1,16 @@ # pAMICA documentation (MkDocs Material). # Deployed to GitHub Pages by .github/workflows/docs.yml. The repo lives at -# github.com/sccn/pyAMICA, whose project Pages inherit the sccn org Pages custom -# domain (eeglab.org) at the /pyAMICA subpath, so the site is served at -# https://eeglab.org/pyAMICA/. Links are relative so the build is location-independent. +# github.com/sccn/pAMICA, whose project Pages inherit the sccn org Pages custom +# domain (eeglab.org) at the /pAMICA subpath, so the site is served at +# https://eeglab.org/pAMICA/. Links are relative so the build is location-independent. site_name: pAMICA Documentation -site_url: https://eeglab.org/pyAMICA/ +site_url: https://eeglab.org/pAMICA/ site_description: Python (PyTorch) implementation of Adaptive Mixture ICA (AMICA) with Fortran parity and GPU/MPS/CPU support. site_author: Seyed Yahya Shirazi -repo_url: https://github.com/sccn/pyAMICA/ -repo_name: sccn/pyAMICA +repo_url: https://github.com/sccn/pAMICA/ +repo_name: sccn/pAMICA edit_uri: edit/main/docs/ theme: diff --git a/pamica/native/resolver.py b/pamica/native/resolver.py index b5bb9c2..7f6d0ea 100644 --- a/pamica/native/resolver.py +++ b/pamica/native/resolver.py @@ -17,7 +17,7 @@ import urllib.request from pathlib import Path -_REPO = os.environ.get("PAMICA_NATIVE_REPO", "sccn/pyAMICA") +_REPO = os.environ.get("PAMICA_NATIVE_REPO", "sccn/pAMICA") _ENV_BINARY = "PAMICA_NATIVE_BINARY" _ENV_CACHE = "PAMICA_NATIVE_CACHE" diff --git a/paper.md b/paper.md index d50babf..f46b1fd 100644 --- a/paper.md +++ b/paper.md @@ -47,7 +47,7 @@ a single-model output file is byte-identical in layout to a native AMICA file an and multi-model output round-trips through the same loader. Correctness is defined as parity with the Fortran reference for the single-model case and, because multi-model AMICA is not partition-identifiable, as a similar distribution of solutions for the multi-model case; both are validated on real EEG against the reference binary. A minimal example is a scikit-learn-style call, `AMICA(n_models=1, n_mix=3).fit(X)` on a `(channels, samples)` array (full workflow in the README). -The software is at (archived at doi:10.5281/zenodo.21312148). +The software is at (archived at doi:10.5281/zenodo.21312148). # Statement of need @@ -136,7 +136,7 @@ The correctness harness compares `pamica` against Fortran with two metrics, Hung the multi-model and score-function checks need no external download (bundled sample only). The full per-channel and multi-model performance tables, the per-run Amari-distance detail, and the data-size sweep, along with the step-by-step commands to reproduce every number here, -are in the documentation (). +are in the documentation (). # State of the field diff --git a/paper.pdf b/paper.pdf index ef962ce..531be44 100644 Binary files a/paper.pdf and b/paper.pdf differ diff --git a/pyproject.toml b/pyproject.toml index 5071274..1ec1200 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,8 +51,8 @@ docs = [ viz = ["mne>=1.6"] [project.urls] -Homepage = "https://github.com/sccn/pyAMICA" -Repository = "https://github.com/sccn/pyAMICA" +Homepage = "https://github.com/sccn/pAMICA" +Repository = "https://github.com/sccn/pAMICA" [tool.setuptools] # List subpackages explicitly so the wheel is deterministic across platforms