Layer#

class brainpy.state.spatial.Layer(coords, ndim, shape=None, extent=None, center=None, sampler=None)[source]#

A set of node positions in 2-D or 3-D space.

Parameters:
  • coords (Quantity or None) – (n, d) length-unit positions, or None for a deferred free layer (positions drawn at brainpy_state.Simulator.create()).

  • ndim (int) – Number of spatial dimensions (2 or 3).

  • shape (tuple, Quantity, Quantity, optional) – Grid metadata (None for free layers).

  • extent (tuple, Quantity, Quantity, optional) – Grid metadata (None for free layers).

  • center (tuple, Quantity, Quantity, optional) – Grid metadata (None for free layers).

  • sampler (callable, optional) – (n, key) -> Quantity (n, d) for a deferred free layer.

property is_deferred#

Whether positions are drawn lazily (free layer built from a distribution).

property n#

Number of nodes (raises for a deferred layer — pass size to create).

sample(n, key)[source]#

Resolve concrete coordinates.

A concrete layer returns its stored coords; a deferred free layer draws n positions from its distribution under key.