Skip to main content

A Topological Signal Processing Package

Project description

Description

The emerging field of topological signal processing brings methods from Topological Data Analysis (TDA) to create new tools for signal processing by incorporating aspects of shape. This python package, teaspoon for tsp or topological signal processing, brings together available software for computing persistent homology, the main workhorse of TDA, with modules that expand the functionality of teaspoon as a state-of-the-art topological signal processing tool. These modules include methods for incorporating tools from machine learning, complex networks, information, and parameter selection along with a dynamical systems library to streamline the creation and benchmarking of new methods. All code is open source with up to date documentation, making the code easy to use, in particular for signal processing experts with limited experience in topological methods.

Full documentation of this package is available here. The full documentation includes information about installation, module documentation with examples, contributing, the license, and citing teaspoon.

The code is a compilation of work done by Elizabeth Munch and Firas Khasawneh along with their students and collaborators. People who have contributed to teaspoon include:

We gratefully acknowledge the support of the National Science Foundation, which has helped make this work possible.

About TSP

The basic pipeline of a TSP project aligned with the modules of teaspoon.

Many topological signal processing projects can be fit into the pipeline shown above; and this pipeline aligns with the five submodules of teaspoon. We start with input time series data. In teaspoon, the MakeData module provides methods for creating synthetic data sets for testing purposes, including the DynSysLib submodule with an extensive array of dynamical systems. The ParameterSelection modules provides tools for determining best parameters for transforming the time series into a delay coordinate (sometimes called Takens') embedding. This includes standard tools such as false nearest neighbors and mutual information function as well as newly developed tools. The Signal Processing SP module does the conversion from a time series to a topological input. This includes the standard delay coordinate embedding, as well as network representations of time series. This topological input can be converted to a topological signature, in most cases a persistence diagram, using the Topological Data Analysis TDA module. Finally, these persistence diagrams can be used in a machine learning pipeline using the vectorization tools from the Machine Learning ML module.

Installation

To install this package, both boost and CMake must be installed as system dependencies. For boost see for unix and windows. For mac, you can run brew install boost if using homebrew as a package manager. For CMake see here.

The teaspoon package is available through pip install with version details found here. The package can be installed using the following pip installation:

pip install teaspoon

To install the most up-to-date version of the code, you can clone the repo and then run

pip install .

from the main directory. Note that the master branch will correspond to the version available in pypi, and the test_release branch may have new features.

Please reference the requirements page in the documentation for more details on other required installations.

Contacts

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

teaspoon-1.5.26.tar.gz (10.4 MB view details)

Uploaded Source

Built Distribution

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

teaspoon-1.5.26-py3-none-any.whl (10.7 MB view details)

Uploaded Python 3

File details

Details for the file teaspoon-1.5.26.tar.gz.

File metadata

  • Download URL: teaspoon-1.5.26.tar.gz
  • Upload date:
  • Size: 10.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for teaspoon-1.5.26.tar.gz
Algorithm Hash digest
SHA256 34f02a6d23d2d691499a88ad533ffbf4ffd79a7f175ec68e6616b39ecbacbe56
MD5 4ded5e5e13b89721c94bd8e260f109ab
BLAKE2b-256 3711690c3f0b8639293677eee2b0d79e6a68a4426f7a4f520058c920ab264725

See more details on using hashes here.

File details

Details for the file teaspoon-1.5.26-py3-none-any.whl.

File metadata

  • Download URL: teaspoon-1.5.26-py3-none-any.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for teaspoon-1.5.26-py3-none-any.whl
Algorithm Hash digest
SHA256 3f0428f43a0b761c1a746b7f4cde17c376f5b4cb86ba50700e46c1384150e18e
MD5 26441446ea2ab9865ff29ebd9ebe390c
BLAKE2b-256 2ed0cbb839023a2ff4d0fadbfd0e9919df226fe1df61762902249364b0244cf8

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