nhood_vals
          cellseg_gsontools.neighbors.nhood_vals(nhood, values, **kwargs)
¶
  Get the values of objects in the neighboring nodes.
Note
This function is designed to be used with the gdf_apply function.
See the example.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| nhood | Sequence[int] | A list or array of neighboring node uids. | required | 
| values | Series | A value column-vector of shape (N, ). | required | 
| **kwargs | Dict[str, Any] | Additional keyword arguments. Not used. | {} | 
Returns:
| Type | Description | 
|---|---|
| ndarray | np.ndarray: The counts vector of the given values vector. Shape (n_classes, ) | 
Examples:
Use gdf_apply to get the neighborhood values for each area of a cell
>>> from functools import partial
>>> from cellseg_gsontools.data import gland_cells
>>> from cellseg_gsontools.graphs import fit_graph
>>> from cellseg_gsontools.utils import set_uid
>>> from cellseg_gsontools.apply import gdf_apply
>>> from cellseg_gsontools.neighbors import neighborhood, nhood_vals
>>> gc = gland_cells()
>>> # To fit the delaunay graph, we need to set a unique id for each cell first
>>> gc = set_uid(gc, id_col="uid")
>>> w = fit_graph(gc, type="delaunay", thresh=100, id_col="uid")
>>> # Get the neihgboring nodes of the graph
>>> func = partial(neighborhood, spatial_weights=w)
>>> gc["nhood"] = gdf_apply(gc, func, columns=["uid"])
>>> # get the area values of the neighbors
>>> func = partial(nhood_vals, values=gc.area.round(2))
>>> gc["neighbor_areas"] = gdf_apply(
...     gc,
...     func=func,
...     parallel=True,
...     columns=["nhood"],
... )
>>> gc["neighbor_areas"].head(5)
    uid
0     [520.24, 565.58, 435.91, 302.26, 241.85, 418.02]
1     [565.58, 520.24, 302.26, 318.15, 241.85, 485.71]
2      [721.5, 435.91, 556.05, 466.96, 418.02, 678.35]
3    [435.91, 520.24, 721.5, 302.26, 556.05, 655.42...
4    [302.26, 520.24, 565.58, 435.91, 655.42, 485.7...
Name: neighbor_areas, dtype: object