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.post5.tar.gz (176.9 kB view details)

Uploaded Source

Built Distribution

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

walsatools-1.0.0.post5-py3-none-any.whl (193.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for walsatools-1.0.0.post5.tar.gz
Algorithm Hash digest
SHA256 83b7cd147b5ffcb2e91a03e9ac98594a3d7f306360dd2dccfcdb44075856dc5b
MD5 7605131635c02242923735a517852dfe
BLAKE2b-256 a811ef5005ca8d21d30abb80fc6c34c1217a091d24d9103c5237f0ce489c007a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for walsatools-1.0.0.post5-py3-none-any.whl
Algorithm Hash digest
SHA256 992c96e8d4115dd17605a011e15e69840453eb2cf6aa1a95efefa3f8bc21ff17
MD5 5dc9b020be8520c47a5dc89b4f9f4fd9
BLAKE2b-256 bd513285eaa0c95f2c1113233c2633376cae599258e4ae49d927210bfa863330

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