# NNGraphs objects¶

## NNGraphs Class¶

class pygsp.graphs.NNGraph(Xin, NNtype='knn', use_flann=False, center=True, rescale=True, k=10, sigma=0.1, epsilon=0.01, gtype=None, plotting={}, symmetrize_type='average', **kwargs)[source]

Bases: pygsp.graphs.graph.Graph

Creates a graph from a pointcloud.

Parameters: Xin : ndarray Input points use_flann : bool Whether flann method should be used (knn is otherwise used). (default is False) (this option is not implemented yet) center : bool Center the data (default is True) rescale : bool Rescale the data (in a 1-ball) (default is True) k : int Number of neighbors for knn (default is 10) sigma : float Variance of the distance kernel (default is 0.1) epsilon : float RRdius for the range search (default is 0.01) gtype : string The type of graph (default is “knn”)

Examples

>>> from pygsp import graphs
>>> import numpy as np
>>> Xin = np.arange(90).reshape(30, 3)
>>> G = graphs.NNGraph(Xin)


## Bunny¶

class pygsp.graphs.Bunny(**kwargs)[source]

Bases: pygsp.graphs.nngraphs.nngraph.NNGraph

Create a graph of the stanford bunny.

References

[TL94]

Examples

>>> from pygsp import graphs
>>> G = graphs.Bunny()


## Cube¶

class pygsp.graphs.Cube(radius=1, nb_pts=300, nb_dim=3, sampling='random', **kwargs)[source]

Bases: pygsp.graphs.nngraphs.nngraph.NNGraph

Creates the graph of an hyper-cube.

Parameters: radius : float Edge lenght (default = 1) nb_pts : int Number of vertices (default = 300) nb_dim : int Dimension (default = 3) sampling : string Variance of the distance kernel (default = ‘random’) (Can now only be ‘random’)

Examples

>>> from pygsp import graphs


## Sphere¶

class pygsp.graphs.Sphere(radius=1, nb_pts=300, nb_dim=3, sampling='random', **kwargs)[source]

Bases: pygsp.graphs.nngraphs.nngraph.NNGraph

Creates a spherical-shaped graph.

Parameters: radius : flaot Radius of the sphere (default = 1) nb_pts : int Number of vertices (default = 300) nb_dim : int Dimension (default = 3) sampling : sting Variance of the distance kernel (default = ‘random’) (Can now only be ‘random’)

Examples

>>> from pygsp import graphs


## TwoMoons¶

class pygsp.graphs.TwoMoons(moontype='standard', sigmag=0.05, N=400, sigmad=0.07, d=0.5)[source]

Bases: pygsp.graphs.nngraphs.nngraph.NNGraph

Create a 2 dimensional graph of the Two Moons.

Parameters: moontype : string You have the freedom to chose if you want to create a standard two_moons graph or a synthetised one (default is ‘standard’). ‘standard’ : Create a two_moons graph from a based graph. ‘synthetised’ : Create a synthetised two_moon sigmag : float Variance of the distance kernel (default = 0.05) N : int Number of vertices (default = 2000) sigmad : float Variance of the data (do not set it too high or you won’t see anything) (default = 0.05) d : float Distance of the two moons (default = 0.5)

Examples

>>> from pygsp import graphs
>>> G1 = graphs.TwoMoons(moontype='standard')
>>> G2 = graphs.TwoMoons(moontype='synthetised', N=1000, sigmad=0.1, d=1)

create_arc_moon(N, sigmad, d, number)[source]