Skip to contents

Computes the persistence scale space kernel matrix from a list of persistence diagrams. The persistence scale space kernel is computed by adding the symmetric to the diagonal of each point in each persistence diagram, with negative weight, and then convolving the points with a Gaussian kernel. See https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Reininghaus_A_Stable_Multi-Scale_2015_CVPR_paper.pdf for more details.

Author

Mathieu Carrière

Super classes

rgudhi::PythonClass -> rgudhi::SKLearnClass -> rgudhi::KernelRepresentationStep -> PersistenceScaleSpaceKernel

Methods

Inherited methods


Method new()

The PersistenceScaleSpaceKernel constructor.

Usage

PersistenceScaleSpaceKernel$new(
  bandwidth = 1,
  kernel_approx = NULL,
  n_jobs = 1
)

Arguments

bandwidth

A numeric value specifying the bandwidth of the Gaussian kernel with which persistence diagrams will be convolved. Defaults to 1.0.

kernel_approx

A Python class specifying the kernel approximation class used to speed up computation. Defaults to NULL. Common kernel approximations classes can be found in the scikit-learn library (such as RBFSampler for instance).

n_jobs

An integer value specifying the number of jobs to use for the computation. Defaults to 1.

Returns

An object of class PersistenceScaleSpaceKernel.


Method clone()

The objects of this class are cloneable with this method.

Usage

PersistenceScaleSpaceKernel$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)
pssk <- PersistenceScaleSpaceKernel$new()
pssk$apply(dgm, dgm)
pssk$fit_transform(list(dgm))
}