teaspoon: Topological Signal Processing in Python

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.

_images/takens_embedding_gif_v2.gif

Table of Contents

Modules

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 TDA module. Finally, these persistence diagrams can be used in a machine learning pipeline using the vectorization tools from the ML module.

Collaborators

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:

Contact Information