Skip to main content

Wave analysis tools: A package for analyzing wave and oscillatory signals

Project description




WaLSAtools – Wave Analysis Tools

PyPI DOI

WaLSAtools is an open-source library for fundamental and advanced wave analysis in 1D signals, images, and multi-dimensional datasets. Designed as a one-stop resource, it empowers researchers across disciplines to extract insights from oscillatory phenomena. WaLSAtools is envisioned as a community-driven starting point — inviting collaboration to refine techniques, develop new methods, and advance discoveries wherever waves and fluctuations play a fundamental role. It encourages transparent, reproducible science by providing validated techniques, detailed documentation, and worked examples.

It currently provides a comprehensive set of analysis techniques, including:

  • Fast Fourier Transform (FFT)
  • Wavelet Analysis
  • Lomb-Scargle Periodogram
  • Welch Power Spectral Density
  • Empirical Mode Decomposition (EMD)
  • Hilbert and Hilbert-Huang Transforms
  • k-ω (k-omega) Analysis
  • Proper Orthogonal Decomposition (POD)
  • Cross-Spectral Analysis

WaLSAtools features an interactive interface for both Python terminals and Jupyter notebooks, simplifying the wave analysis workflow.

For full documentation, see https://WaLSA.tools.

Installation

We strongly recommend installing WaLSAtools inside a new virtual environment to avoid dependency conflicts, especially with pre-installed packages.

For a full setup guide, see the Beginner-Friendly Guide.

Install via PyPI

pip install --upgrade pip
pip install WaLSAtools

Install from Source (GitHub)

git clone https://github.com/WaLSAteam/WaLSAtools.git
cd WaLSAtools/codes/python/
pip install .

For detailed instructions and troubleshooting tips, refer to:

Interactive Usage

After installing, launch the interactive interface by running:

from WaLSAtools import WaLSAtools
WaLSAtools

This will open an interactive menu where you can:

  • Select an analysis category.
  • Choose your data type (1D or 3D).
  • Pick an analysis method (FFT, wavelet, EMD, k-omega, POD, etc.).
  • View customised calling sequences and parameter hints.

Interactive usage is supported both in standard Python terminals and Jupyter notebooks.

Requirements

WaLSAtools requires Python ≥ 3.8 and automatically installs the following core dependencies:

astropy, IPython, ipywidgets, matplotlib, numba, numpy, pyFFTW, scipy, setuptools, scikit-image, tqdm.

All dependencies are handled automatically during installation.

License

WaLSAtools is licensed under the Apache License, Version 2.0.

Citation

If you use WaLSAtools in your research, please cite:

Jafarzadeh, S., Jess, D. B., Stangalini, M., et al. 2025, Nature Reviews Methods Primers, 5, 21
https://www.nature.com/articles/s43586-025-00392-0

Zenodo DOI: 10.5281/zenodo.14978610

Contributing

We welcome contributions, suggestions, and feedback.

Please check the Contribution Guide, or join our discussions via GitHub Discussions.

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

walsatools-1.0.0.post4.tar.gz (176.7 kB view details)

Uploaded Source

Built Distribution

walsatools-1.0.0.post4-py3-none-any.whl (192.9 kB view details)

Uploaded Python 3

File details

Details for the file walsatools-1.0.0.post4.tar.gz.

File metadata

  • Download URL: walsatools-1.0.0.post4.tar.gz
  • Upload date:
  • Size: 176.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for walsatools-1.0.0.post4.tar.gz
Algorithm Hash digest
SHA256 b29588567e28f6f82aedb7a12379c195be67d532260b7cb42a7c0cc59f65eed5
MD5 45182150df599c5581b38a21a37a84b9
BLAKE2b-256 d9c7c4650cba33528b36969c628ca11454f8cfdb9d35866518cd5b7d03b72c29

See more details on using hashes here.

File details

Details for the file walsatools-1.0.0.post4-py3-none-any.whl.

File metadata

File hashes

Hashes for walsatools-1.0.0.post4-py3-none-any.whl
Algorithm Hash digest
SHA256 f2242ca679299023c48ad88172a65c179fd474268d0ae9acc2ec1b38886ea19a
MD5 34ba8bc84f2cc61791989e405ec91646
BLAKE2b-256 9bd6417d4994f3c3bd1ac0da746dcafa4b934d8eee2fa8d1f6450edaa57d12f7

See more details on using hashes here.

Supported by

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