Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Latest commit d656ff0 Jun 30, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DREiMac @ 35e3e0d Getting all of my submodules under control Jun 10, 2018
KTH Finished inline 4 video experiment Jul 16, 2016
libs Adding ripser as submodule for people with Windows to build from source Jun 11, 2018
pyhks @ de877a4 Adding 3D shapes lab Jun 14, 2018
.gitmodules Adding ripser as submodule for people with Windows to build from source Jun 11, 2018
3DShapes.ipynb Perfecting 3D Shapes Lab Jun 14, 2018
Approximate Sparse Filtrations.ipynb Diffusion maps Jun 13, 2018
Basic Shapes.ipynb Making a killer projective coordinates plot for the line segment patches Jun 12, 2018
ClinicalAsymmetry.mp4 Updating video module to include quasiperiodic examples with vocal cords Jun 26, 2017
DGMTools.py Diffusion maps Jun 13, 2018
DiffusionMaps.py Updating diffusion maps lab Jun 14, 2018
DiffusionMapsAndTDA.ipynb One more little tweak Jun 14, 2018
GeomUtils.py Making a killer projective coordinates plot for the line segment patches Jun 12, 2018
Handwaving_Deriv10_Block160_PCA10.ogg Forgot one of the videos Jul 13, 2016
Image Patches.ipynb Fixing a little bug in the image patches lab Jun 14, 2018
KTHTests.py Finished inline 4 video experiment Jul 16, 2016
KTHTestsSingle.py Just about finished the video module. Also adding video and audio bin… Jul 13, 2016
LICENSE Initial commit Jun 28, 2016
LTR_ED_MucusBiphonCrop.ogg Mostly finished revising sliding window labs Jun 11, 2018
MusicFeatures.py Getting rid of dependency on librosa Jul 24, 2017
NormalPeriodicCrop.ogg Updating video module to include quasiperiodic examples with vocal cords Jun 26, 2017
PanIcon.png Adding some images I forgot to add Jul 18, 2016
README.md Adding suggested order Jun 29, 2018
SlidingWindow1-Basics.ipynb Mostly finished revising sliding window labs Jun 11, 2018
SlidingWindow2-PersistentHomology.ipynb Mostly finished revising sliding window labs Jun 11, 2018
SlidingWindow3-AudioApplications.ipynb Mostly finished revising sliding window labs Jun 11, 2018
SlidingWindow4-Video.ipynb Mostly finished revising sliding window labs Jun 11, 2018
Synthetic1DPeriodTests.py Working on KTH tests Jul 6, 2016
SyntheticCurves.py Updating libraries Jun 26, 2017
VideoStackTime.svg Adding progress on all modules Jun 29, 2016
VideoTools.py Mostly finished revising sliding window labs Jun 11, 2018
Wasserstein And Bottleneck.ipynb Fixing most of the ripser references and interactive plots in the sli… Jun 10, 2018
Whinnie.png Adding some images I forgot to add Jul 18, 2016
horsewhinnie.wav Just about finished the video module. Also adding video and audio bin… Jul 13, 2016
journey.jpg Adding some images I forgot to add Jul 18, 2016
journey.wav Just about finished the video module. Also adding video and audio bin… Jul 13, 2016
jumpingjacks.ogg Just about finished the video module. Also adding video and audio bin… Jul 13, 2016
jumpingjackssliding.ogg Just about finished the video module. Also adding video and audio bin… Jul 13, 2016
speech.wav Just about finished the video module. Also adding video and audio bin… Jul 13, 2016

README.md

TDALabs

This series of Jupyter Notebooks serves as a walkthrough of topological data analysis, topological time series analysis (including rhythm analysis in music and periodicity / quasiperiodicity quantification in video), and 3D shape analysis. The main engine behind all of the code is a Python port of the ripser library.

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 and the workshop "Topological Data Analysis and Persistent Homology" in Levico Terme (Trento), Italy.

Suggested Order

For 4 sessions with 90 minutes each (as in Levico), the following order is suggested (with some wiggle room between sessions)

Session 1

  • Basic Shapes
  • Wasserstein And Bottleneck

Session 2

  • SlidingWindow1-Basics
  • SlidingWindow2-PersistentHomology
  • SlidingWindow3-AudioApplications
  • SlidingWindow4-Video

Session 3

  • Approximate Sparse Filtrations
  • Image Patches
  • Diffusion Maps And TDA

Session 4

  • 3D Shapes
  • Whatever is leftover

Installation Instructions

Below are instructions for installing and running these tutorials

Checking out code

git clone --recursive https://github.com/ctralie/TDALabs.git

Installing Jupyter Notebook And Other Dependencies

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.anaconda.com/download/

Once you have downloaded and installed all of these packages, navigate to the root of this repository and type the following commands, which will install dependencies

pip install cython
pip install ripser
pip install hopcroftkarp
pip install imageio
cd libs/hungarian
python setup.py install
cd ../../

Updating code / submodules

At times, some updates may have happened to submodule dependencies. To update these, type

git submodule update --init
git submodule update --remote

Installing avconv

For loading video, you will need to install the avconv binaries

Running the code

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. Basic Shapes.ipynb) to begin

You can’t perform that action at this time.