import jax.numpy as jnp
import matplotlib.pyplot as plt

from differt2d.scene import Scene
from differt2d.utils import received_power

ax = plt.gca()
scene = Scene.basic_scene()
X, Y = scene.grid(300)

Z = scene.accumulate_on_receivers_grid_over_paths(
    X,
    Y,
    fun=received_power,
    reduce_all=True,
    approx=False,
)
ax.pcolormesh(X, Y, 10.0 * jnp.log10(Z))
scene.plot(ax)
plt.show()  # doctest: +SKIP