A curated list of TDA resources and links. In applied mathematics, topological data analysis (TDA) is an approach to the analysis of datasets using techniques from topology. under development!
- Morse-Smale complex
- Persistent homology computation
- Persistent cohomology computation
- Reeb graph
- Vineyards
- Zigzag persistent homology
- Topological Domains in Mammalian Genomes Identified by Analysis of Chromatin Interactions
-
A Short Course in Computational Geometry and Topology - Edelsbrunner, Herbert springer link
-
Computational Homology (Applied Mathematical Sciences) - T. Kaczynski, K. Mischaikow, M. Mrozek amazon
-
Computational Topology: An Introduction - Herbert Edelsbrunner, John L. Harer Online
-
Elementary Applied Topology - Robert Ghrist Site
-
Persistence Theory: From Quiver Representations to Data Analysis - Steve Y. Oudot Online PDF
-
Topological and Statistical Methods for Complex Data: Tackling Large-Scale, High-Dimensional, and Multivariate Data Spaces - Bennett, Janine, Vivodtzev, Fabien, Pascucci, Valerio (Eds.) springer link
-
Topological Data Analysis for Scientific Visualization - Tierny, Julien springer link
-
Topology for Computing - Topology for Computing PDF
-
Topological Methods in Data Analysis and Visualization: Theory, Algorithms, and Applications - Pascucci, V., Tricoche, X., Hagen, H., Tierny, J. (Eds.) springer link
-
Topological Methods in Data Analysis and Visualization-II: Theory, Algorithms, and Applications - Peikert, R., Hauser, H., Carr, H., Fuchs, R. (Eds.) springer link
-
Topological Methods in Data Analysis and Visualization-III: Theory, Algorithms, and Applications - Bremer, P.-T., Hotz, I., Pascucci, V., Peikert, R. (Eds.) springer link
-
Topological Methods in Data Analysis and Visualization-IV: Theory, Algorithms, and Applications - Carr, Hamish, Garth, Christoph, Weinkauf, Tino (Eds.) springer link
-
Topology-based Methods in Visualization- Hauser, Helwig, Hagen, Hans, Theisel, Holger (Eds.) springer link
-
A Fuzzy Clustering Algorithm for the Mode Seeking Framework - Bonis, Oudot arxiv
-
A User’s Guide to Topological Data Analysis - Elizabeth Munch read online
-
An introduction to Topological Data Analysis: fundamental and practical aspects for data scientists - Chazal, Michel arxiv
-
Barcodes: The Persistent Topology of Data - Robert Ghrist PDF
-
Computing Persistent Homology (Discrete and Computational Geometry) - Zomorodian, Carlsson PDF
-
Deep Learning with Topological Signatures - Hofer, Kwitt, Niethammer, UhlPDF
-
Introduction to the R package TDA - Fasy, Jisu Kim, Lecci, Clément Maria, Millman, Rouvreau PDF
-
Homological Algebra and Data - Robert Ghrist PDF
-
Large Scale computation of Means and Clusters for Persistence Diagrams using Optimal Transport - Lacombe, Cuturi, OUDOT arxiv
-
Text Mining using Topological Data Analysis. An introduction - G. A. Carrazana, C. O. C. Chong download
-
Topology and Data - Gunnar Carlsson PDF
-
Topological Data Analysis - Larry Wasserman arxiv
-
Topological Data Analysis and Its Application to Time-Series Data Analysis - Y. Umeda, J. Kaneko, H. Kikuchi PDF
-
Topological Data Analysis for Object Data - Patrangenaru, Bubenik, Paige, Osborne arxiv
-
Two-Tier Mapper: a user-independent clustering method for global gene expression analysis based on topology arxiv
-
Why Topology for Machine Learning and Knowledge Extraction? - Massimo Ferri PDF
-
Computational Topology and Data Analysis A course is not active, but the course notes are useful
-
Topological Data Analysis A course is not active, but the course notes are useful
- [3DShape] - This notebook gives a simple example of how to handle three-dimensional shapes. The whole example is based on the height as filtration function, so not invariant in space. However, it gives a pretty good idea of what the output of a topological analysis may give.
- [ToMaTo Clustering] - This notebook rather focus on a specific strength of TDA: its robustness to detect centroids in dataset, along with its ability to record the relationships between each point, enabling us to retrace the whole structure of the centroids. Examples are provided in the notebook.
TTk - The Topology ToolKit is an open-source library and software collection for topological data analysis in scientific visualization. TTK can handle scalar data defined either on regular grids or triangulations, either in 2D or in 3D. It provides a substantial collection of generic, efficient and robust implementations of key algorithms in topological data analysis.
For more information you can read "Topological Data Analysis Made Easy with the Topology ToolKit" article.
clique-top - The clique-top is a collection of matlab scripts for doing topological analysis of symmetric matrices.
Ctl - This C++11 library provides a set of generic tools for:
- Building Neighborhood Graphs
- Building Cellular Complexes
- Computing [persistent] homology over finite fields
- Parallel algorithm(s) for homology
Dionysus - Dionysus is a C++ library for computing persistent homology. It provides implementations of the following algorithms:
- Persistent homology computation
- Vineyards (C++ only)
- Persistent cohomology computation
- Zigzag persistent homology
GUDHI - The GUDHI library is a generic open source C++ library, with a Python interface, for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding. The library offers state-of-the-art data structures and algorithms to construct simplicial complexes and compute persistent homology.
phat - This software library contains methods for computing the persistence pairs of a filtered cell complex represented by an ordered boundary matrix with Z2 coefficients. For an introduction to persistent homology, see the textbook. This software package contains code for several algorithmic variants:
- The "standard" algorithm
- The "row" algorithm
- The "twist" algorithm
- The "chunk" algorithm
- The "spectral sequence" algorithm
RIVET - for the visualization and analysis of two-parameter persistent homology. RIVET is made available under the under the terms of the GNU General Public License. The RIVET documentation lives here.
tda - This package provides support for a few methods from topological data analysis.
Currently, methods for gridded data (images) are provided, including:
- Connected component labeling for binary images
- Object persistence analysis
- Landscape profiles
- Convex hull peels
Persistence - A topological data analysis library motivated by flexibility when it comes to the type of data being analyzed. If your data comes with a meaningful binary function into an ordered set, you can use Persistence to analyze your data. The library also provides functions for analyzing directed/undirected, weighted/unweighted graphs. See the README for resources on learning about topological data anlysis.
JavaPlex - Persistent Homology and Topological Data Analysis Library - The JavaPlex library implements persistent homology and related techniques from computational and applied topology, in a library designed for ease of use, ease of access from Matlab and java-based systems, and ease of extensions for further research projects and approaches. JavaPlex is mainly developed by the Computational Topology workgroup at Stanford University, and is based on previous similar packages from the same group.
TDA.jl - This package provides various tools for topological data analysis.
gda-public - This package contains several fundamental tools by Geometric Data Analytics Inc. geomdata
KeplerMapper - This is a Python implementation of the TDA Mapper algorithm for visualization of high-dimensional data. For complete documentation, see https://kepler-mapper.scikit-tda.org. KeplerMapper employs approaches based on the Mapper algorithm (Singh et al.) as first described in the paper "Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition". KeplerMapper can make use of Scikit-Learn API compatible cluster and scaling algorithms.
kohonen - This module contains some basic implementations of Kohonen-style vector quantizers: Self-Organizing Map (SOM), Neural Gas, and Growing Neural Gas. Kohonen-style vector quantizers use some sort of explicitly specified topology to encourage good separation among prototype "neurons".
Mapper implementation - Topological Data Analysis for high dimensional dataset exploration
mogutda - mogutda contains Python codes that demonstrate the numerical calculation of algebraic topology in an application to topological data analysis (TDA). Its core code is the numerical methods concerning implicial complex, and the estimation of homology and Betti numbers. mogutda runs in Python 2.7, 3.5, and 3.6.
openTDA - Open source Python library for topological data analysis (TDA)
Python Mapper - Python Mapper is a realization of this toolchain, written by Daniel Müllner and Aravindakshan Babu. It is open source software and is released under the GNU GPLv3 license. There is also a company, Ayasdi, which was founded by Gurjeet Singh, Gunnar Carlsson and Harlan Sexton and whose main product, the Ayasdi Iris software, has the Mapper algorithm at its core. Ayasdi also issues academic trial licenses.
qsv - This application is data structure visualizer by topological data analysis method. This softwear is using kepler-mapper.
Scikit-TDA - Scikit-TDA is a home for compatible TDA Python libraries intended for non-topologists. This project aims to provide a curated library of TDA Python tools that are widely usable and easily approachable. It is structured so that each package can stand alone or be used as part of the scikit-tda bundle. Current packages available:
- [Ripser] - Data to diagrams in one line
- [Persim] - Easy Persistence Images
- [UMAP] - Mathematically justified dimensionality reduction
- [Kepler Mapper] - Mapper framework integrated into sklearn
- [TaDAsets] - Constructors for common data sets for demonstrating TDa.
scTDA - scTDA is an object oriented python library for topological data analysis of high-throughput single-cell RNA-seq data. It includes tools for the preprocessing, analysis, and exploration of single-cell RNA-seq data based on topological representations.
tmap - tmap is a topological data analysis framework implementing the TDA Mapper algorithm for population-scale microbiome data analysis. it has been developed to enable easy adoption of TDA in microbiome data analysis pipeline, providing network-based statistical methods for enterotype analysis, driver species identification, and microbiome-wide association analysis of host meta-data.
TDA - tools for the statistical analysis of persistent homology and for density clustering. For that, this package provides an R interface for the efficient algorithms of the C++ libraries GUDHI, Dionysus, and PHAT. This package also implements the methods in Fasy et al. (2014) and Chazal et al. (2014) for analyzing the statistical significance of persistent homology features.
TDAmapper - Topological Data Analysis using Mapper - An R package for using discrete Morse theory to analyze a data set using the Mapper algorithm described in G. Singh, F. Memoli, G. Carlsson (2007)
TDAstats - TDAstats is an R pipeline for computing persistent homology in topological data analysis.
Spark Mapper - Mapper is a topological data anlysis technique for estimating a lower dimensional simplicial complex from a dataset. It was initially described in the paper "Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition."
spark-tda - The scalable topological data analysis package for Apache Spark. This project aims to implement the following features:
- [ Scalable Mapper Implemented as Reeb Diagrams, i.e., Reeb Cosheaves]
- [Scalable Mapper Implementation]
- [Scalable Multiscale Mapper Implementation]
- [Scalable Tower Computation for Multiscale Mapper]
- [Scalable Persistent Homology Computation on Top of Apache Spark]
For more information you can read "Sparse-TDA: Sparse Realization of Topological Data Analysis for Multi-Way Classification" article.
-
Applied Topological Data Analysis to Deep Learning? Hands-on Arrhythmia Classification!
-
From Topological Data Analysis to Deep Learning: No Pain No Gain
-
On Characterizing the Capacity of Neural Networks Using Algebraic Topology
-
Using Topological Data Analysis to Understand the Behavior of Convolutional Neural Networks
- Conferences and workshops
- MAY 2020 DATA SCIENCE BOOT CAMPS code:IntroductionToTopologicalDataAnalysis
`awesome-TDA by @FatemehTarashi is licensed under the GNU General Public License v3.0