Monty.Frameworks.Models.Salience.ReturnInhibitor (ExTbpMonty.Core v0.1.0)

Copy Markdown View Source

Inhibition of return: do not propose the place you just looked at.

Mirrors tbp/monty/frameworks/models/salience/return_inhibitor.py::ReturnInhibitor. A salience module's goals are where to look next, and without this it would keep proposing the most interesting pixel of the last view — which is the one place it has already seen. Each call records where the sensor was, weighs every candidate location against every visit, and then ages the visits by a step.

Monty mutates the field; a struct here is a value, so a call answers both the weights and the inhibitor that produced them.

Summary

Functions

How much each of query_locations is inhibited, having just looked from visited_location (nil when the middle of the view was not on an object).

Types

t()

@type t() :: %Monty.Frameworks.Models.Salience.ReturnInhibitor{
  decay_field: Monty.Frameworks.Models.Salience.ReturnInhibitor.DecayField.t()
}

Functions

call(inhibitor, visited_location, query_locations)

@spec call(t(), [float()] | nil, [[float()]]) :: {[float()], t()}

How much each of query_locations is inhibited, having just looked from visited_location (nil when the middle of the view was not on an object).

new(options \\ [])

@spec new(keyword()) :: t()

reset(inhibitor)

@spec reset(t()) :: t()