torch_topological.data

Module for various data operations and data set creation strategies.

torch_topological.data.sample_from_annulus(n, r, R, seed=None)[source]

Sample points from a 2D annulus.

This function samples N points from an annulus with inner radius r and outer radius R.

Parameters
  • n (int) – Number of points to sample

  • r (float) – Inner radius of annulus

  • R (float) – Outer radius of annulus

  • seed (int, instance of np.random.Generator, or None) – Seed for the random number generator, or an instance of such a generator. If set to None, the default random number generator will be used.

Returns

Tensor containing sampled coordinates.

Return type

torch.tensor of shape (n, 2)

torch_topological.data.sample_from_disk(n=100, r=0.9, R=1.0, seed=None)[source]

Sample points from disk.

Parameters
  • n (int) – Number of points to sample.

  • r (float) – Minimum radius, i.e. the radius of the inner circle of a perfect sampling.

  • R (float) – Maximum radius, i.e. the radius of the outer circle of a perfect sampling.

  • seed (int, instance of np.random.Generator, or None) – Seed for the random number generator, or an instance of such a generator. If set to None, the default random number generator will be used.

Returns

Tensor containing the sampled coordinates.

Return type

torch.tensor of shape (n, 2)

torch_topological.data.sample_from_sphere(n=100, d=2, r=1, noise=None, ambient=None, seed=None)[source]

Sample n data points from a d-sphere in d + 1 dimensions.

Parameters
  • n (int) – Number of data points in shape.

  • d (int) – Dimension of the sphere.

  • r (float) – Radius of sphere.

  • noise (float or None) – Optional noise factor. If set, data coordinates will be perturbed by a standard normal distribution, scaled by noise.

  • ambient (int or None) – Embed the sphere into a space with ambient dimension equal to ambient. The sphere is randomly rotated into this high-dimensional space.

  • seed (int, instance of np.random.Generator, or None) – Seed for the random number generator, or an instance of such a generator. If set to None, the default random number generator will be used.

Returns

Tensor of sampled coordinates. If ambient is set, array will be of shape (n, ambient). Else, array will be of shape (n, d + 1).

Return type

torch.tensor

Notes

This function was originally authored by Nathaniel Saul as part of the tadasets package. [tadasets]

References

tadasets

https://github.com/scikit-tda/tadasets

torch_topological.data.sample_from_torus(n, d=3, r=1.0, R=2.0, seed=None)[source]

Sample points uniformly from torus and embed it in d dimensions.

Parameters
  • n (int) – Number of points to sample

  • d (int) – Number of dimensions.

  • r (float) – Radius of the ‘tube’ of the torus.

  • R (float) – Radius of the torus, i.e. the distance from the centre of the ‘tube’ to the centre of the torus.

  • seed (int, instance of np.random.Generator, or None) – Seed for the random number generator, or an instance of such a generator. If set to None, the default random number generator will be used.

Returns

Tensor of sampled coordinates.

Return type

torch.tensor of shape (n, d)

torch_topological.data.sample_from_unit_cube(n, d=3, seed=None)[source]

Sample points uniformly from unit cube in d dimensions.

Parameters
  • n (int) – Number of points to sample

  • d (int) – Number of dimensions.

  • seed (int, instance of np.random.Generator, or None) – Seed for the random number generator, or an instance of such a generator. If set to None, the default random number generator will be used.

Returns

Tensor containing the sampled coordinates.

Return type

torch.tensor of shape (n, d)