This series of Jupyter Notebooks serves as a walkthrough of topological time series analysis. Applications include rhythm analysis in music and periodicity / quasiperiodicity quantification in video.
This started off as a tutorial for the summer workshop "Mathematical Methods for High-Dimensional Data Analysis." Now it is used more generally to support pedagogical activities to support the NSF big data grant DKA-1447491, as well as assisting with the ICERM Summer Undergraduate Program.
Below are instructions for installing and running these tutorials
git clone --recursive https://github.com/rannbaron/TUMTopoTimeSeries2016.git
To run these modules, you will need to have jupyter notebook installed with a Python 3 backend with numpy, scipy, and matplotlib. The easiest way to install this is with Anaconda:
https://www.continuum.io/downloads
Once you have downloaded and installed all of these packages, navigate to the root of this repository and type
jupyter notebook
This will launch a browser on your computer that will allow you to run the modules via the local Jupyter backend server
After you have the proper Python environment, you will need to install the librosa library for the third module on audio processing.
For loading video, you will need to install the avconv binaries, and you will need the Python imageio library
pip install imageio
To run code which computes TDA (modules 2-4), you will need to compile some C++ code, written by Uli Bauer. From the root directory of the repository, run the following commands
cd ripser
make all
cd ..
To test this, type
python TDA.py
at the root of this repository. This should compute a persistence diagram of a circle, which has only one persistence point.
At the root of this directory, type
jupyter notebook
This will launch a browser window, where you can run the modules. Click on one of the files (e.g. 1-SlidingWindowBasics.ipynb) to begin