RankOrderEncoder

Contents

RankOrderEncoder#

class braintools.RankOrderEncoder(use_values=True, normalize=True, invert=False)#

Encode inputs using rank order coding.

Orders input features by their values and generates spikes in rank order. The most active features spike first, followed by less active ones. This preserves the relative ordering of input features.

Example:

>>> encoder = RankOrderEncoder()
>>> data = jnp.array([0.1, 0.8, 0.3, 0.9, 0.2])
>>> spikes = encoder(data, n_time=10)
>>> # Feature 3 spikes first (0.9), then feature 1 (0.8), etc.
Parameters:
  • use_values (bool) – bool. Whether to use actual values for timing or just ranks.

  • normalize (bool) – bool. Whether to normalize input values.

  • invert (bool) – bool. Whether to invert the order (smallest first).