P-adic multiscale signal processing pipeline
Project description
SignalForge
Multiscale signal processing pipeline built on the p-adic divisibility lattice. Transforms raw sequential data into structurally invariant feature tensors.
Install
git clone https://github.com/adelic-ai/signalforge
cd signalforge
uv sync
Quick start
uv run signalforge demo # EEG seizure detection demo
uv run signalforge neighborhood 36 6 # p-adic arithmetic viewing box
uv run signalforge plan eeg # sampling plan for EEG
uv run signalforge run eeg path/to/data.csv # run on your data
Bring your own data
SignalForge ships with two domains: intermagnet (geomagnetic observatory) and eeg (clinical EEG). To add your own, write a single Python file in signalforge/domains/.
- docs/overview.md — what it is, the mathematics, the name
- docs/domain_guide.md — how to write a domain
- docs/data_guide.md — downloading data, running examples, AI-assisted preprocessing
- CONTRIBUTING.md — submitting a domain or pipeline change
The short version: declare a horizon and a grain, let the lattice enumerate valid windows, select the ones meaningful for your data, return a SamplingPlan. Everything downstream runs without modification.
Pipeline
| Stage | Name | Input → Output |
|---|---|---|
| 0 | Ingest | Raw source data → CanonicalRecord |
| 1 | Plan | Declarations → SamplingPlan |
| 2 | Materialize | CanonicalRecords → BinnedRecord |
| 3 | Measure | BinnedRecords → Surface (time × scale grid) |
| 4 | Engineer | Surface → FeatureTensor |
| 5 | Assemble | FeatureTensors → FeatureBundle (ML-ready) |
Domain knowledge lives exclusively in signalforge/domains/. Stages 1–5 are identical across all data sources.
Result: EEG seizure detection
Dataset: CHB-MIT Scalp EEG, patient chb01, recording chb01_03. Input: RMS across 23 channels, 1-second bins. No labels, no seizure times, no EEG-specific processing.
Peak z-score: 13.96σ at the 30-second scale, within the annotated seizure window (seconds 2996–3036).
Full result: docs/discovery_eeg_seizure_detection.md
License
Business Source License 1.1. See LICENSE.
Free for non-commercial use (research, personal projects, evaluation). Commercial use requires a license from Adelic — contact shun.honda@adelic.org.
Converts to Apache 2.0 on 2029-03-22.
Citation
If you use the CHB-MIT EEG data, please cite:
Shoeb AH, Guttag JV. Application of machine learning to epileptic seizure detection. In: Proceedings of the 27th International Conference on Machine Learning (ICML). 2010.
Raw data: CHB-MIT Scalp EEG Database v1.0.0 https://physionet.org/content/chbmit/1.0.0/
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 adelic_signalforge-0.1.0.tar.gz.
File metadata
- Download URL: adelic_signalforge-0.1.0.tar.gz
- Upload date:
- Size: 69.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f39431e94c3e6aca79d8501f6da143fbbe641e6941142db64648afc846f08c37
|
|
| MD5 |
a71b13cd6f3836eeabdcb7d1e9b56ae3
|
|
| BLAKE2b-256 |
1b3d505f3ff8ee19e5a7b26af9b7e4c047b25c674fa74d561ec52ad9a76c6fb2
|
File details
Details for the file adelic_signalforge-0.1.0-py3-none-any.whl.
File metadata
- Download URL: adelic_signalforge-0.1.0-py3-none-any.whl
- Upload date:
- Size: 52.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc588300700b641acf7e8bb4f13aaa5c36a7fe0f22c01dbc415ca64b0e0df5e8
|
|
| MD5 |
00f14054fe9a5bc00b6856dfadeed11d
|
|
| BLAKE2b-256 |
0f39582f7c63b0360e5ca1805387772a43a6894b8dd499a1b38aa7938591ef2e
|