From 531bd21f85df4df3ec3b948325dd40a255eb3151 Mon Sep 17 00:00:00 2001 From: Ciara O'Brien Date: Mon, 8 Sep 2025 16:19:40 -0400 Subject: [PATCH 1/3] Use the correct image for alternate spatial bases Retrieve the image from adata.uns[spatial_key] rather than always adata.uns["spatial"]. --- src/squidpy/pl/_spatial_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/squidpy/pl/_spatial_utils.py b/src/squidpy/pl/_spatial_utils.py index 89859ff9a..1deb3a6c8 100644 --- a/src/squidpy/pl/_spatial_utils.py +++ b/src/squidpy/pl/_spatial_utils.py @@ -171,7 +171,7 @@ def _get_image( raise KeyError( f"Image key: `{img_res_key}` does not exist. Available image keys: `{image_mapping.values()}`" ) - img = [adata.uns[Key.uns.spatial][i][Key.uns.image_key][img_res_key] for i in library_id] + img = [adata.uns[spatial_key][i][Key.uns.image_key][img_res_key] for i in library_id] if img_channel is None: img = [im[..., :3] for im in img] From 34b7d6adfed8fbee65caae68185c2ba87a481393 Mon Sep 17 00:00:00 2001 From: Ciara O'Brien Date: Mon, 8 Sep 2025 18:37:01 -0400 Subject: [PATCH 2/3] Also fix scalefactor key retrieval --- src/squidpy/pl/_spatial_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/squidpy/pl/_spatial_utils.py b/src/squidpy/pl/_spatial_utils.py index 1deb3a6c8..c22c5a3f0 100644 --- a/src/squidpy/pl/_spatial_utils.py +++ b/src/squidpy/pl/_spatial_utils.py @@ -235,7 +235,7 @@ def _get_scalefactor_size( raise ValueError(f"No `scale_factor` found that could match `img_res_key`: {img_res_key}.") _scale_factor_key = scale_factor_key[0] # get first scale_factor scale_factor = [ - adata.uns[Key.uns.spatial][i][Key.uns.scalefactor_key][_scale_factor_key] for i in library_id + adata.uns[spatial_key][i][Key.uns.scalefactor_key][_scale_factor_key] for i in library_id ] else: # handle case where scale_factor is float or list scale_factor = _get_list(scale_factor, _type=float, ref_len=len(library_id), name="scale_factor") @@ -251,7 +251,7 @@ def _get_scalefactor_size( if not (len(size) == len(library_id) == len(scale_factor)): raise ValueError("Len of `size`, `library_id` and `scale_factor` do not match.") size = [ - adata.uns[Key.uns.spatial][i][Key.uns.scalefactor_key][size_key] * s * sf * 0.5 + adata.uns[spatial_key][i][Key.uns.scalefactor_key][size_key] * s * sf * 0.5 for i, s, sf in zip(library_id, size, scale_factor, strict=False) ] return scale_factor, size From 79547da3354b27d74629893c14b98b5826211ecb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 22:37:27 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/squidpy/pl/_spatial_utils.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/squidpy/pl/_spatial_utils.py b/src/squidpy/pl/_spatial_utils.py index c22c5a3f0..2f4933d5e 100644 --- a/src/squidpy/pl/_spatial_utils.py +++ b/src/squidpy/pl/_spatial_utils.py @@ -234,9 +234,7 @@ def _get_scalefactor_size( if not len(scale_factor_key): raise ValueError(f"No `scale_factor` found that could match `img_res_key`: {img_res_key}.") _scale_factor_key = scale_factor_key[0] # get first scale_factor - scale_factor = [ - adata.uns[spatial_key][i][Key.uns.scalefactor_key][_scale_factor_key] for i in library_id - ] + scale_factor = [adata.uns[spatial_key][i][Key.uns.scalefactor_key][_scale_factor_key] for i in library_id] else: # handle case where scale_factor is float or list scale_factor = _get_list(scale_factor, _type=float, ref_len=len(library_id), name="scale_factor")