Skip to main content

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:

https://ngene.org

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ngene_fastica-0.1.1.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ngene_fastica-0.1.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

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

Hashes for ngene_fastica-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e63ab976894673f62537c2df1b89f12a0bbe207f1a190272b1dbe8098ae8701e
MD5 c638f5ba780f1d4fc86dd9bbd7dee045
BLAKE2b-256 db5d4c776ab04714b360a474b4b3d468cdbfa83d41bd4d852cb1b3e1702c7d71

See more details on using hashes here.

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

Hashes for ngene_fastica-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f4d8ccf884e6525d8632eca7bb4fb4e172b2dcd6187d55d3fed92b75fc81031f
MD5 8628c1c4ca5d17846c751b0b0011ecba
BLAKE2b-256 259acde292489d827b5592d0846752bde5ce94ad225a8224e848729f0ff62ccf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page