From 59b8e0158be949ffba53621917d88d649b65a1e4 Mon Sep 17 00:00:00 2001 From: Tim Treis Date: Mon, 15 Dec 2025 22:48:26 +0100 Subject: [PATCH 1/4] fix --- src/squidpy/experimental/im/_make_tiles.py | 6 ++++++ tests/experimental/test_make_tiles.py | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/squidpy/experimental/im/_make_tiles.py b/src/squidpy/experimental/im/_make_tiles.py index f706f974..6b2dfe74 100644 --- a/src/squidpy/experimental/im/_make_tiles.py +++ b/src/squidpy/experimental/im/_make_tiles.py @@ -228,6 +228,12 @@ def _save_tiles_to_shapes( ) sdata.shapes[shapes_key] = ShapesModel.parse(tile_gdf) + try: + transformations = get_transformation(sdata.images[image_key], get_all=True) + except (KeyError, ValueError): + transformations = None + if transformations: + set_transformation(sdata.shapes[shapes_key], transformations, set_all=True) logger.info(f"Saved tile grid as 'sdata.shapes[\"{shapes_key}\"]'") diff --git a/tests/experimental/test_make_tiles.py b/tests/experimental/test_make_tiles.py index b089f502..bdf36d8f 100644 --- a/tests/experimental/test_make_tiles.py +++ b/tests/experimental/test_make_tiles.py @@ -5,6 +5,8 @@ import squidpy as sq from tests.conftest import PlotTester, PlotTesterMeta +from spatialdata.transformations import Identity, get_transformation, set_transformation + _ = sdp @@ -104,3 +106,19 @@ def test_plot_make_tiles_center_grid_on_tissue(self): center_grid_on_tissue=True, preview=True, ) + + +def test_make_tiles_copies_image_transformations(sdata_hne): + """Tiles saved from images inherit the image transformations.""" + image_key = "hne" + custom_cs = Identity() + set_transformation(sdata_hne.images[image_key], {"custom_cs": custom_cs}, set_all=True) + + sq.experimental.im.make_tiles(sdata_hne, image_key=image_key, preview=False) + + img_tfs = get_transformation(sdata_hne.images[image_key], get_all=True) + tile_tfs = get_transformation(sdata_hne.shapes[f"{image_key}_tiles"], get_all=True) + + assert "custom_cs" in img_tfs and "custom_cs" in tile_tfs + assert isinstance(img_tfs["custom_cs"], Identity) + assert isinstance(tile_tfs["custom_cs"], Identity) From 20e73af7dd45c0d3e0d638616b6ca706b00b9c62 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 Dec 2025 21:49:49 +0000 Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/experimental/test_make_tiles.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/experimental/test_make_tiles.py b/tests/experimental/test_make_tiles.py index bdf36d8f..d7072063 100644 --- a/tests/experimental/test_make_tiles.py +++ b/tests/experimental/test_make_tiles.py @@ -1,12 +1,11 @@ from __future__ import annotations import spatialdata_plot as sdp +from spatialdata.transformations import Identity, get_transformation, set_transformation import squidpy as sq from tests.conftest import PlotTester, PlotTesterMeta -from spatialdata.transformations import Identity, get_transformation, set_transformation - _ = sdp From 1a7239427963aaa416c078380ad2722158599694 Mon Sep 17 00:00:00 2001 From: "selman.ozleyen" Date: Wed, 17 Dec 2025 17:38:25 +0100 Subject: [PATCH 3/4] add line so that individual tests also pass --- tests/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/conftest.py b/tests/conftest.py index a8ac1c1a..1dfe7b0a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -48,6 +48,7 @@ def pytest_sessionstart(session: pytest.Session) -> None: warnings.simplefilter("ignore", OldFormatWarning) sc.pl.set_rcParams_defaults() + sc.set_figure_params(dpi=40, color_map="viridis") @pytest.fixture(scope="session") From 2bd35108489bfdd0f08bfd9431b20658151afbb7 Mon Sep 17 00:00:00 2001 From: Tim Treis Date: Thu, 18 Dec 2025 00:10:12 +0100 Subject: [PATCH 4/4] reviewer feedback --- src/squidpy/experimental/im/_make_tiles.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/squidpy/experimental/im/_make_tiles.py b/src/squidpy/experimental/im/_make_tiles.py index 6b2dfe74..49387284 100644 --- a/src/squidpy/experimental/im/_make_tiles.py +++ b/src/squidpy/experimental/im/_make_tiles.py @@ -228,12 +228,9 @@ def _save_tiles_to_shapes( ) sdata.shapes[shapes_key] = ShapesModel.parse(tile_gdf) - try: - transformations = get_transformation(sdata.images[image_key], get_all=True) - except (KeyError, ValueError): - transformations = None - if transformations: - set_transformation(sdata.shapes[shapes_key], transformations, set_all=True) + # we know that a) the element exists and b) it has at least an Identity transformation + transformations = get_transformation(sdata.images[image_key], get_all=True) + set_transformation(sdata.shapes[shapes_key], transformations, set_all=True) logger.info(f"Saved tile grid as 'sdata.shapes[\"{shapes_key}\"]'")