/tda

Topological data analysis in Go (golang)

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Build Status Go Report Card codecov GoDoc

tda : Topological data analysis in Golang

The tda 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

See the examples directory for some use cases.

Below is a scatterplot of object birth/death times for this image, with 90%, 95%, and 99% convex hull peels plotted in red. See examples/persistence for the code used to produce this plot.

Image of persistence diagram

Below is a landscape plot based on the same image used above. See examples/landscape for the code used to produce this plot.

Image of landscape diagram

Below is an animated PNG showing part of the image above being thresholded at a sequence of values. See examples/animate_threshold for the code used to produce this plot.

Animation of image thresholding