From 3593c7b616505a8e188b0de334b5b36fbba48f8b Mon Sep 17 00:00:00 2001 From: zombie-einstein <13398815+zombie-einstein@users.noreply.github.com> Date: Mon, 13 Oct 2025 23:30:18 +0100 Subject: [PATCH 1/4] Better image colors --- src/thants/common/types.py | 15 +++++++ src/thants/common/utils.py | 24 ++++++++++- src/thants/mono/viewer.py | 65 +++++++++++++++-------------- src/thants/multi/viewer.py | 84 ++++++++++++++++---------------------- 4 files changed, 108 insertions(+), 80 deletions(-) diff --git a/src/thants/common/types.py b/src/thants/common/types.py index 397ced4..5da1151 100644 --- a/src/thants/common/types.py +++ b/src/thants/common/types.py @@ -79,3 +79,18 @@ class Observations: nest: chex.Array # (n_ants, 9) terrain: chex.Array # (n_ants, 9) carrying: chex.Array # (n_ants,) + + +@dataclass +class ColorScheme: + """ + Visualisation color-scheme, given as an array of rgb values + + ants: Array of colors for each colony + food: Color to represent food + terrain: Array of blocked/passable terrain cells + """ + + ants: chex.Array # (n-colonies, 4) + food: chex.Array # (4,) + terrain: chex.Array # (2, 4) diff --git a/src/thants/common/utils.py b/src/thants/common/utils.py index 231b88a..719a070 100644 --- a/src/thants/common/utils.py +++ b/src/thants/common/utils.py @@ -2,10 +2,11 @@ import chex import jax.numpy as jnp +from matplotlib import color_sequences from matplotlib.axes import Axes from matplotlib.figure import Figure -from thants.common.types import Ants, Colony +from thants.common.types import Ants, Colony, ColorScheme def get_rectangular_indices(rec_dims: tuple[int, int]) -> chex.Array: @@ -109,3 +110,24 @@ def format_plot( ax.set_ylim(-0.5, env_dims[0] - 0.5) return fig, ax + + +def get_color_scheme(color_sequence: str, n_colonies: int) -> ColorScheme: + """ + Get a environment visualisation colour scheme from a matplotlib sequence + + Parameters + ---------- + color_sequence + Matplotlib color-sequence name + n_colonies + Number of colonies to visualise + + Returns + ------- + ColorScheme + Environment visualisation color-scheme + """ + colors = color_sequences[color_sequence] + colors = jnp.array([(*i, 1.0) for i in colors[: 3 + n_colonies]]) + return ColorScheme(terrain=colors[:2], food=colors[2], ants=colors[3:]) diff --git a/src/thants/mono/viewer.py b/src/thants/mono/viewer.py index 614bb8a..7e17b75 100644 --- a/src/thants/mono/viewer.py +++ b/src/thants/mono/viewer.py @@ -1,4 +1,3 @@ -from functools import partial from typing import Optional, Sequence, Tuple import chex @@ -10,27 +9,30 @@ from matplotlib.image import AxesImage from numpy.typing import NDArray -from thants.common.utils import format_plot +from thants.common.types import ColorScheme +from thants.common.utils import format_plot, get_color_scheme from thants.mono.types import State -def _draw_env(state: State) -> tuple[chex.Array, chex.Array]: - terrain = state.terrain.astype(float) - terrain = jnp.stack([terrain, terrain, terrain, jnp.ones_like(terrain)], axis=2) - trans_colors = jnp.array([1.0, 0.0, 0.0, 0.5]) - nest = state.colony.nest[:, :, jnp.newaxis] * trans_colors[jnp.newaxis] - return terrain, nest +def _draw_env( + state: State, colors: ColorScheme +) -> tuple[chex.Array, chex.Array, chex.Array]: + terrain = state.terrain.astype(int) + terrain = colors.terrain.at[terrain].get() + nest_colors = jnp.clip(colors.ants + 0.1, 0.0, 1.0) + nest = state.colony.nest[:, :, jnp.newaxis] * nest_colors[jnp.newaxis] + food = jnp.full((*state.food.shape, 4), colors.food) + return terrain, nest, food -@partial(jax.jit, static_argnames="dims") -def _draw_ants(dims: tuple[int, int], state: State) -> tuple[chex.Array, chex.Array]: +@jax.jit +def _draw_ants(state: State, colors: ColorScheme) -> chex.Array: + dims = state.food.shape ants = jnp.zeros((*dims, 4)) - color = jnp.array([1.0, 0.0, 0.0, 1.0]) - ants = ants.at[state.colony.ants.pos[:, 0], state.colony.ants.pos[:, 1]].set(color) - food = jnp.stack( - [jnp.zeros(dims), jnp.ones(dims), jnp.zeros(dims), state.food], axis=2 + ants = ants.at[state.colony.ants.pos[:, 0], state.colony.ants.pos[:, 1]].set( + colors.ants[0] ) - return ants, food + return ants class ThantsViewer(MatplotlibViewer[State]): @@ -38,6 +40,7 @@ def __init__( self, name: str = "thants", render_mode: str = "human", + color_sequence: str = "tab20", ) -> None: """ Thants environment visualiser using Matplotlib @@ -48,7 +51,10 @@ def __init__( Plot name, default ``thants`` render_mode Default ``human`` + color_sequence + Matplotlib colour sequence to sample from """ + self.color_sequence = color_sequence super().__init__(name, render_mode) def _set_figure_size(self, dims: tuple[int, int]) -> None: @@ -114,18 +120,12 @@ def animate( fig, ax = format_plot(fig, ax, env_dims) plt.close(fig=fig) - terrain, nest = _draw_env(states[0]) - ax.imshow(terrain) - ax.imshow(nest) - - ants, food = _draw_ants(env_dims, states[0]) - food_img = ax.imshow(food) - ants_img = ax.imshow(ants) + colors, ants_img, food_img = self._draw(ax, states[0]) def make_frame(state: State) -> tuple[AxesImage, AxesImage]: - step_ants, step_food = _draw_ants(env_dims, state) - food_img.set_data(step_food) + step_ants = _draw_ants(state, colors) ants_img.set_data(step_ants) + food_img.set_alpha(jnp.clip(state.food, 0.0, 1.0)) return ants_img, food_img self._animation = matplotlib.animation.FuncAnimation( @@ -141,17 +141,22 @@ def make_frame(state: State) -> tuple[AxesImage, AxesImage]: return self._animation - def _draw(self, ax: plt.Axes, state: State) -> None: + def _draw( + self, ax: plt.Axes, state: State + ) -> tuple[ColorScheme, AxesImage, AxesImage]: ax.clear() - env_dims = state.terrain.shape + colors = get_color_scheme(self.color_sequence, 1) + + terrain, nest, food = _draw_env(state, colors) + ants = _draw_ants(state, colors) - terrain, nest = _draw_env(state) ax.imshow(terrain) ax.imshow(nest) - ants, food = _draw_ants(env_dims, state) - ax.imshow(food) - ax.imshow(ants) + food_img = ax.imshow(food, alpha=state.food) + ants_img = ax.imshow(ants) + + return colors, ants_img, food_img def _get_fig_ax( self, diff --git a/src/thants/multi/viewer.py b/src/thants/multi/viewer.py index da2ee77..97b8f40 100644 --- a/src/thants/multi/viewer.py +++ b/src/thants/multi/viewer.py @@ -1,4 +1,3 @@ -from functools import partial from typing import Optional, Sequence, Tuple import chex @@ -6,45 +5,39 @@ import jax.numpy as jnp import matplotlib.animation import matplotlib.pyplot as plt -import numpy as np from jumanji.viewer import MatplotlibViewer -from matplotlib import colormaps from matplotlib.image import AxesImage from numpy.typing import NDArray -from thants.common.utils import format_plot +from thants.common.types import ColorScheme +from thants.common.utils import format_plot, get_color_scheme from thants.multi.types import State -def draw_env(state: State, colors: chex.Array) -> tuple[chex.Array, chex.Array]: - terrain = state.terrain.astype(float) - terrain = jnp.stack([terrain, terrain, terrain, jnp.ones_like(terrain)], axis=2) - - trans_colors = colors * jnp.array([[1.0, 1.0, 1.0, 0.5]]) - +def _draw_env( + state: State, colors: ColorScheme +) -> tuple[chex.Array, chex.Array, chex.Array]: + terrain = state.terrain.astype(int) + terrain = colors.terrain.at[terrain].get() + nest_colors = jnp.clip(colors.ants + 0.1, 0.0, 1.0) nests = [ - colony.nest[:, :, jnp.newaxis] * trans_colors[i, jnp.newaxis] + colony.nest[:, :, jnp.newaxis] * nest_colors[i, jnp.newaxis] for i, colony in enumerate(state.colonies) ] nests = jnp.sum(jnp.stack(nests, axis=0), axis=0) + food = jnp.full((*state.food.shape, 4), colors.food) + return terrain, nests, food - return terrain, nests - -@partial(jax.jit, static_argnames="dims") -def draw_ants( - dims: tuple[int, int], state: State, colors: chex.Array -) -> tuple[chex.Array, chex.Array]: +@jax.jit +def _draw_ants(state: State, colors: ColorScheme) -> chex.Array: + dims = state.food.shape ants = jnp.zeros((*dims, 4)) for i, colony in enumerate(state.colonies): - ants = ants.at[colony.ants.pos[:, 0], colony.ants.pos[:, 1]].set(colors[i]) - - food = jnp.stack( - [jnp.zeros(dims), jnp.ones(dims), jnp.zeros(dims), state.food], axis=2 - ) + ants = ants.at[colony.ants.pos[:, 0], colony.ants.pos[:, 1]].set(colors.ants[i]) - return ants, food + return ants class ThantsMultiColonyViewer(MatplotlibViewer[State]): @@ -52,7 +45,7 @@ def __init__( self, name: str = "thants", render_mode: str = "human", - colony_colormap: str = "plasma", + color_sequence: str = "tab20", ) -> None: """ Thants multi-colony environment visualiser using Matplotlib @@ -63,15 +56,12 @@ def __init__( Plot name, default ``thants`` render_mode Default ``human`` - colony_colormap - + color_sequence + Matplotlib colour sequence to sample from """ - self.cmap = colormaps[colony_colormap] + self.color_sequence = color_sequence super().__init__(name, render_mode) - def _get_colony_colors(self, n: int) -> chex.Array: - return jnp.array(self.cmap(np.linspace(0, 1, n))) - def _set_figure_size(self, dims: tuple[int, int]) -> None: longest = max(dims[0], dims[1]) f_dims = (10.0 * dims[1] / longest, 10.0 * dims[0] / longest) @@ -136,20 +126,12 @@ def animate( fig, ax = format_plot(fig, ax, dims) plt.close(fig=fig) - colors = self._get_colony_colors(len(states[0].colonies)) - - terrain, nests = draw_env(states[0], colors) - ants, food = draw_ants(dims, states[0], colors) - - ax.imshow(terrain, cmap="grey") - ax.imshow(nests) - food_img = ax.imshow(food) - ants_img = ax.imshow(ants) + colors, ants_img, food_img = self._draw(ax, states[0]) def make_frame(state: State) -> tuple[AxesImage, AxesImage]: - step_ants, step_food = draw_ants(dims, state, colors) + step_ants = _draw_ants(state, colors) ants_img.set_data(step_ants) - food_img.set_data(step_food) + food_img.set_alpha(jnp.clip(state.food, 0.0, 1.0)) return ants_img, food_img self._animation = matplotlib.animation.FuncAnimation( @@ -165,18 +147,22 @@ def make_frame(state: State) -> tuple[AxesImage, AxesImage]: return self._animation - def _draw(self, ax: plt.Axes, state: State) -> None: + def _draw( + self, ax: plt.Axes, state: State + ) -> tuple[ColorScheme, AxesImage, AxesImage]: ax.clear() - dims = state.food.shape - colors = self._get_colony_colors(len(state.colonies)) - terrain, nests = draw_env(state, colors) - ants, food = draw_ants(dims, state, colors) + colors = get_color_scheme(self.color_sequence, len(state.colonies)) - ax.imshow(terrain, cmap="grey") + terrain, nests, food = _draw_env(state, colors) + ants = _draw_ants(state, colors) + + ax.imshow(terrain) ax.imshow(nests) - ax.imshow(food) - ax.imshow(ants) + food_img = ax.imshow(food, alpha=state.food) + ants_img = ax.imshow(ants) + + return colors, ants_img, food_img def _get_fig_ax( self, From f82e38ee3fe52bd8824c375f3eee6862da1fa838 Mon Sep 17 00:00:00 2001 From: zombie-einstein <13398815+zombie-einstein@users.noreply.github.com> Date: Mon, 13 Oct 2025 23:40:02 +0100 Subject: [PATCH 2/4] Fix axes formatting --- src/thants/mono/viewer.py | 2 +- src/thants/multi/viewer.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/thants/mono/viewer.py b/src/thants/mono/viewer.py index 7e17b75..b66c263 100644 --- a/src/thants/mono/viewer.py +++ b/src/thants/mono/viewer.py @@ -83,6 +83,7 @@ def render( dims = state.food.shape self._set_figure_size(dims) fig, ax = self._get_fig_ax(padding=0.01) + ax.clear() fig, ax = format_plot(fig, ax, dims) self._draw(ax, state) @@ -144,7 +145,6 @@ def make_frame(state: State) -> tuple[AxesImage, AxesImage]: def _draw( self, ax: plt.Axes, state: State ) -> tuple[ColorScheme, AxesImage, AxesImage]: - ax.clear() colors = get_color_scheme(self.color_sequence, 1) terrain, nest, food = _draw_env(state, colors) diff --git a/src/thants/multi/viewer.py b/src/thants/multi/viewer.py index 97b8f40..41b6e00 100644 --- a/src/thants/multi/viewer.py +++ b/src/thants/multi/viewer.py @@ -88,6 +88,7 @@ def render( dims = state.food.shape self._set_figure_size(dims) fig, ax = self._get_fig_ax(padding=0.01) + ax.clear() fig, ax = format_plot(fig, ax, dims) self._draw(ax, state) @@ -150,8 +151,6 @@ def make_frame(state: State) -> tuple[AxesImage, AxesImage]: def _draw( self, ax: plt.Axes, state: State ) -> tuple[ColorScheme, AxesImage, AxesImage]: - ax.clear() - colors = get_color_scheme(self.color_sequence, len(state.colonies)) terrain, nests, food = _draw_env(state, colors) From 9236a47d47c22a5e120d0f0a3734c57cb6ba3dcc Mon Sep 17 00:00:00 2001 From: zombie-einstein <13398815+zombie-einstein@users.noreply.github.com> Date: Tue, 14 Oct 2025 00:27:48 +0100 Subject: [PATCH 3/4] Add README image --- .github/images/thants_env.gif | Bin 0 -> 406188 bytes README.md | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 .github/images/thants_env.gif diff --git a/.github/images/thants_env.gif b/.github/images/thants_env.gif new file mode 100644 index 0000000000000000000000000000000000000000..f371b6ad6d46613d876c26dd6683b0001fa98a23 GIT binary patch literal 406188 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�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