# `Monty.Cmp.AttentionRegion`
[🔗](https://github.com/d-led/ex.tbp.monty/blob/v0.1.0/packages/ex_tbp_monty_core/lib/monty/cmp/attention_region.ex#L1)

Locations carrying an attention weight, proposed by a sensor or learning
module to the attention system.

Mirrors `tbp/monty/cmp.py::AttentionRegion`. Weights run from `MIN_WEIGHT`
(do not look here) to `MAX_WEIGHT` (look here).

# `location`

```elixir
@type location() :: [float()]
```

# `t`

```elixir
@type t() :: %Monty.Cmp.AttentionRegion{locations: [location()], weights: [float()]}
```

# `concat`

```elixir
@spec concat([t()]) :: t()
```

Concatenates regions. No regions is an empty region, which is what the
attention system sees when nobody proposes anything.

# `empty`

```elixir
@spec empty() :: t()
```

A region with nothing in it.

# `empty?`

```elixir
@spec empty?(t()) :: boolean()
```

True when the region proposes nothing.

# `max_weight`

```elixir
@spec max_weight() :: float()
```

The largest weight a region may carry: a strong invitation to look.

# `min_weight`

```elixir
@spec min_weight() :: float()
```

The smallest weight a region may carry: a strong inhibition.

# `uniform`

```elixir
@spec uniform([location()], float()) :: t()
```

A region of locations that all carry the same weight.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
