A lightweight FastICA implementation for educational and local waveform separation demos.
Project description
nGene FastICA
A lightweight FastICA implementation for educational signal separation and local waveform separation demos.
This package keeps the FastICA engine simple and local. The browser-based PyScript waveform separation interface can be documented separately and linked from the project homepage.
Install locally during development
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install --upgrade pip
python -m pip install -e .
Basic usage
import numpy as np
from ngene_fastica import FastICA
# Shape convention: rows are observed mixtures, columns are samples.
X = np.random.randn(3, 10000)
S = FastICA(n_components=3, random_state=42).fit_transform(X)
print(S.shape)
Local waveform separation demo
After local installation:
python examples/local_waveform_separation.py
Or, after package installation:
ngene-fastica-demo
The demo writes WAV files for generated sources, mixed signals, and separated signals. ICA recovers sources up to permutation and sign, so the separated files may not match the original source order exactly.
PyScript demo
PyScript waveform separation requires browser-specific audio handling, HTML, JavaScript, and UI wiring. The package provides the local ICA engine and a reproducible local waveform example; the complete browser demo can be linked here:
Notes
- Input shape is
(n_signals, n_samples). - The implementation uses NumPy only; SciPy is not required.
- This is intended as a lightweight educational/demo package, not a replacement for mature scientific packages.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ngene_fastica-0.1.1.tar.gz.
File metadata
- Download URL: ngene_fastica-0.1.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e63ab976894673f62537c2df1b89f12a0bbe207f1a190272b1dbe8098ae8701e
|
|
| MD5 |
c638f5ba780f1d4fc86dd9bbd7dee045
|
|
| BLAKE2b-256 |
db5d4c776ab04714b360a474b4b3d468cdbfa83d41bd4d852cb1b3e1702c7d71
|
File details
Details for the file ngene_fastica-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ngene_fastica-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4d8ccf884e6525d8632eca7bb4fb4e172b2dcd6187d55d3fed92b75fc81031f
|
|
| MD5 |
8628c1c4ca5d17846c751b0b0011ecba
|
|
| BLAKE2b-256 |
259acde292489d827b5592d0846752bde5ce94ad225a8224e848729f0ff62ccf
|