# `Monty.Frameworks.Models.Salience.Strategies.Vocus2.MapCombine`
[🔗](https://github.com/d-led/ex.tbp.monty/blob/v0.1.0/packages/ex_tbp_monty_core/lib/monty/frameworks/models/salience/strategies/vocus2/map_combine.ex#L1)

How several feature maps become one salience map.

Mirrors `tbp/monty/frameworks/models/salience/strategies/vocus2/vocus2.py::MapCombine`,
a `Protocol` in Monty so a config can name how its channels are combined. It
is a behaviour here: named maps in — `"L"`, `"a"`, `"b"`, `"depth"`,
`"orientation"` — and one map of the same shape out.

Monty's plain functions are `map_max/1`, `map_sum/1`, `map_mean/1` in
`Monty.Frameworks.Models.Salience.Strategies.Vocus2`; the weighted ones, which
need configuration, are `WeightedSum` and `WeightedMean`.

# `maps`

```elixir
@type maps() :: %{optional(String.t()) =&gt; [[float()]]}
```

One map per feature, all the same shape.

# `t`

```elixir
@type t() :: struct()
```

# `call`

```elixir
@callback call(t(), maps()) :: [[float()]]
```

The maps reduced to one, pixel by pixel.

---

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