WaveSpace
WaveSpace is a Python toolbox for simulating, detecting, and analyzing spatiotemporal traveling waves in neural sensor array data. It provides tools for generating synthetic datasets, and applying a range of wave analysis techniques such as optical flow, 2D FFT, circular-linear correlation and singular value decomposition. In addition, it contains pipelines to decompose multi-dimensional timeseries data into its frequency components to derive robust phase estimates. WaveSpace’s WaveData class provides a structured approach to managing complex datasets, while its plotting helpers facilitate intuitive visualization of spatiotemporal patterns.
Documentation
Access latest documentation from here
Installation
Install from PyPI with
pip install wavespace
Testing
Run tests locally using Python's built-in unittest framework from the UnitTest folder:
python -m unittest discover -s UnitTest -p "*_test.py"
Contributing
See https://github.com/kpetras/WaveSpace/blob/main/CONTRIBUTING.md
Modules
Decomposition:
Implements various frequency decomposition techniques, such as Fourier and wavelet transforms, Empirical Mode Decomposition (EMD)
Preprocessing:
Provides functions for cleaning, normalizing, and filtering time series data.
Plotting Helpers:
Contains utilities for visualizing cortical traveling waves using matplotlib & pyvista, including time-frequency plots, phase maps, and spatial-temporal representations.
Simulation:
Tools for generating synthetic cortical traveling waves, aiding in model validation and hypothesis testing.
Spatial Arrangement:
Handles spatial organization of sensor positions. Includes interpolation options
Statistics:
Offers methods for computing null distributions.
Utils:
A collection of general-purpose helper functions used throughout the toolbox, including data manipulation and file I/O.
The WaveData Class
The WaveData class serves as a container for time-series data related to cortical traveling waves. It provides functionalities for data storage, manipulation, and analysis, ensuring a structured workflow for handling multi-channel neural recordings.
Key Features
- Initialization (
__init__): Stores channel positions, time vectors, sample rates, and maintains a structured dataset with multiple DataBuckets for flexible data handling. - Data Management:
- Supports multiple datasets through DataBuckets, enabling users to store, retrieve, and manipulate data flexibly.
- Provides methods to add, delete, and check the existence of specific DataBuckets.
- Allows appending datasets and setting an active dataset for streamlined analysis.
- Data Processing:
- Cropping: Enables temporal cropping of data using specific time intervals.
- Trial Pruning: Removes unwanted trials from datasets while maintaining metadata consistency.
- Metadata Handling:
- Stores and retrieves spatial arrangements of recording channels (
set_channel_positions,get_channel_positions). - Maintains a history of operations for reproducibility (
log_history). - Supports storage and retrieval of simulation and trial metadata (
set_simInfo,get_trialInfo).
- Stores and retrieves spatial arrangements of recording channels (
- I/O and Persistence:
- Saves objects to files for later retrieval (
save_to_file). - Provides a structured string representation (
__repr__) for quick dataset summaries.
- Saves objects to files for later retrieval (
This class is essential for organizing and processing large-scale neural recordings, offering flexibility in data structuring, preprocessing, and visualization.
Wave Analysis
Core module for detecting, characterizing, and quantifying cortical traveling waves using advanced signal processing techniques.
Metadata
Release files for WaveSpace 1.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wavespace-1.1.9.tar.gz | 95.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wavespace-1.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 199.1 kB
Release files / wavespace-1.1.9.tar.gz
| Download URL | wavespace-1.1.9.tar.gz |
|---|---|
| Size | 95.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
767f28ea17e626aeb2cb1327df561bf0207181e711bee93125abb981a93432c7
|
|
BLAKE2b-256 checksum How to use checksums |
253d34333dacd1cd8f16eae369686eae62abc10b80a13e53ba00acb744b34195
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency logRelease files / wavespace-1.1.9-py3-none-any.whl
| Download URL | wavespace-1.1.9-py3-none-any.whl |
|---|---|
| Size | 103.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
07077a43b1d8ef068f23bcc0ff5018df37f20bbb62dd4fd945e25f026b9b0cdd
|
|
BLAKE2b-256 checksum How to use checksums |
e39255c67182c0551b2e051699594e839fe46322c8fd2a586d0a4ccba8096909
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency log