sklearn.feature_extraction.image.grid_to_graph(n_x, n_y, n_z=1, *, mask=None, return_as=<class 'scipy.sparse._coo.coo_matrix'>, dtype=<class 'int'>)[source]#

Graph of the pixel-to-pixel connections.

Edges exist if 2 voxels are connected.


Dimension in x axis.


Dimension in y axis.

n_zint, default=1

Dimension in z axis.

maskndarray of shape (n_x, n_y, n_z), dtype=bool, default=None

An optional mask of the image, to consider only part of the pixels.

return_asnp.ndarray or a sparse matrix class, default=sparse.coo_matrix

The class to use to build the returned adjacency matrix.

dtypedtype, default=int

The data of the returned sparse matrix. By default it is int.

graphnp.ndarray or a sparse matrix class

The computed adjacency matrix.


>>> import numpy as np
>>> from sklearn.feature_extraction.image import grid_to_graph
>>> shape_img = (4, 4, 1)
>>> mask = np.zeros(shape=shape_img, dtype=bool)
>>> mask[[1, 2], [1, 2], :] = True
>>> graph = grid_to_graph(*shape_img, mask=mask)
>>> print(graph)
  (0, 0)    1
  (1, 1)    1