Skip to contents

Computes topological vectors from a list of persistence diagrams. The topological vector associated to a persistence diagram is the sorted vector of a slight modification of the pairwise distances between the persistence diagram points. See https://diglib.eg.org/handle/10.1111/cgf12692 for more details.

Author

Mathieu Carrière

Super classes

rgudhi::PythonClass -> rgudhi::SKLearnClass -> rgudhi::VectorRepresentationStep -> TopologicalVector

Methods

Inherited methods


Method new()

The TopologicalVector constructor.

Usage

TopologicalVector$new(threshold = 10)

Arguments

threshold

An integer value specifying the number of distances to keep. Defaults to 10L. This is the dimension of the topological vector. If -1, this threshold is computed from the list of persistence diagrams by considering the one with the largest number of points and using the dimension of its corresponding topological vector as threshold.

Returns

An object of class TopologicalVector.


Method apply()

Applies the TopologicalVector class on a single persistence diagram and outputs the result.

Usage

TopologicalVector$apply(diag)

Arguments

diag

A 2-column tibble::tibble specifying a persistence diagram.

Returns

A tibble::tibble storing the topological vector representation of the persistence diagram in a table suitable for visualization.


Method clone()

The objects of this class are cloneable with this method.

Usage

TopologicalVector$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

if (FALSE) { # reticulate::py_module_available("gudhi")
X <- seq_circle(10)
ac <- AlphaComplex$new(points = X)
st <- ac$create_simplex_tree()
dgm <- st$compute_persistence()$persistence_intervals_in_dimension(0)
ds <- DiagramSelector$new(use = TRUE)
dgm <- ds$apply(dgm)
tv <- TopologicalVector$new()
tv$apply(dgm)
tv$fit_transform(list(dgm))
}