@@ -316,7 +316,11 @@ def _get_bounds(self, X):
316316class CubicalCover (_GridOverlap , Proximity ):
317317 """
318318 Cover algorithm based on the `cubical proximity function`, covering data
319- with open hypercubes of uniform size and overlap.
319+ with open hypercubes of uniform size and overlap. The cubical cover is
320+ obtained by selecting a subsect of all the hypercubes that intersect the
321+ dataset using proximity net (see :class:`tdamapper.core.Proximity`).
322+ For an open cover containing all the hypercubes interecting the dataset
323+ use :class:`tdamapper.core.StandardCover`.
320324
321325 A hypercube is a multidimensional generalization of a square or a cube.
322326 The size and overlap of the hypercubes are determined by the number of
@@ -403,6 +407,47 @@ def search(self, x):
403407
404408
405409class StandardCover (_GridOverlap , Cover ):
410+ """
411+ Cover algorithm based on the standard open cover for Mapper, covering data
412+ with open hypercubes of uniform size and overlap. The standard cover is
413+ obtained by selecting all the hypercubes that intersect the dataset.
414+
415+ A hypercube is a multidimensional generalization of a square or a cube.
416+ The size and overlap of the hypercubes are determined by the number of
417+ intervals and the overlap fraction parameters. This class maps each point
418+ to the hypercube with the nearest center.
419+
420+ :param n_intervals: The number of intervals to use for each dimension.
421+ Must be positive and less than or equal to the length of the dataset.
422+ Defaults to 1.
423+ :type n_intervals: int
424+ :param overlap_frac: The fraction of overlap between adjacent intervals on
425+ each dimension, must be in the range (0.0, 0.5]. If not specified, the
426+ overlap_frac is computed such that the volume of the overlap within
427+ each hypercube is half the total volume. Defaults to None.
428+ :type overlap_frac: float
429+ :param metric: The metric used to define the distance between points.
430+ Accepts any value compatible with `tdamapper.utils.metrics.get_metric`.
431+ Defaults to 'euclidean'.
432+ :type metric: str or callable
433+ :param metric_params: Additional parameters for the metric function, to be
434+ passed to `tdamapper.utils.metrics.get_metric`. Defaults to None.
435+ :type metric_params: dict, optional
436+ :param kind: Specifies whether to use a flat or a hierarchical vantage
437+ point tree. Acceptable values are 'flat' or 'hierarchical'. Defaults to
438+ 'flat'.
439+ :type kind: str
440+ :param leaf_capacity: The maximum number of points in a leaf node of the
441+ vantage point tree. Must be a positive value. Defaults to 1.
442+ :type leaf_capacity: int
443+ :param leaf_radius: The radius of the leaf nodes. If not specified, it
444+ defaults to the value of `radius`. Must be a positive value. Defaults
445+ to None.
446+ :type leaf_radius: float, optional
447+ :param pivoting: The method used for pivoting in the vantage point tree.
448+ Acceptable values are None, 'random', or 'furthest'. Defaults to None.
449+ :type pivoting: str or callable, optional
450+ """
406451
407452 def __init__ (
408453 self ,
0 commit comments