From 5051b8fa8ffdb388962392aba89f2a93040a93b2 Mon Sep 17 00:00:00 2001 From: Wouter-Michiel Vierdag Date: Thu, 19 Dec 2024 16:29:13 +0100 Subject: [PATCH 1/9] match rows table and shapes element --- src/spatialdata_plot/pl/render.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/spatialdata_plot/pl/render.py b/src/spatialdata_plot/pl/render.py index 7ff110d0..fb11828d 100644 --- a/src/spatialdata_plot/pl/render.py +++ b/src/spatialdata_plot/pl/render.py @@ -17,7 +17,7 @@ from matplotlib.cm import ScalarMappable from matplotlib.colors import ListedColormap, Normalize from scanpy._settings import settings as sc_settings -from spatialdata import get_extent +from spatialdata import get_extent, join_spatialelement_table from spatialdata.models import PointsModel, ShapesModel, get_table_keys from spatialdata.transformations import get_transformation, set_transformation from spatialdata.transformations.transformations import Identity @@ -76,13 +76,17 @@ def _render_shapes( filter_tables=bool(render_params.table_name), ) - shapes = sdata[element] - if (table_name := render_params.table_name) is None: table = None + shapes = sdata_filt[element] else: + element_dict, joined_table = join_spatialelement_table(sdata, spatial_element_names=element, table_name=table_name, + how="inner", match_rows="left") + sdata_filt[element] = shapes = element_dict[element] + sdata_filt[table_name] = joined_table _, region_key, _ = get_table_keys(sdata[table_name]) - table = sdata[table_name][sdata[table_name].obs[region_key].isin([element])] + table = sdata_filt[table_name][sdata[table_name].obs[region_key].isin([element])] + if ( col_for_color is not None From 5137520b913783c21105d3d4db5bab82a7577474 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 15:32:09 +0000 Subject: [PATCH 2/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/spatialdata_plot/pl/render.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/spatialdata_plot/pl/render.py b/src/spatialdata_plot/pl/render.py index fb11828d..05868084 100644 --- a/src/spatialdata_plot/pl/render.py +++ b/src/spatialdata_plot/pl/render.py @@ -80,14 +80,14 @@ def _render_shapes( table = None shapes = sdata_filt[element] else: - element_dict, joined_table = join_spatialelement_table(sdata, spatial_element_names=element, table_name=table_name, - how="inner", match_rows="left") + element_dict, joined_table = join_spatialelement_table( + sdata, spatial_element_names=element, table_name=table_name, how="inner", match_rows="left" + ) sdata_filt[element] = shapes = element_dict[element] sdata_filt[table_name] = joined_table _, region_key, _ = get_table_keys(sdata[table_name]) table = sdata_filt[table_name][sdata[table_name].obs[region_key].isin([element])] - if ( col_for_color is not None and table_name is not None From 354b55b9ae0ab36dfea6ed53e39256df3b6044d4 Mon Sep 17 00:00:00 2001 From: Wouter-Michiel Vierdag Date: Sun, 22 Dec 2024 22:34:11 +0100 Subject: [PATCH 3/9] remove match_rows --- src/spatialdata_plot/pl/render.py | 6 +++--- tests/pl/test_render_shapes.py | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/spatialdata_plot/pl/render.py b/src/spatialdata_plot/pl/render.py index 05868084..a51bfe6f 100644 --- a/src/spatialdata_plot/pl/render.py +++ b/src/spatialdata_plot/pl/render.py @@ -80,14 +80,14 @@ def _render_shapes( table = None shapes = sdata_filt[element] else: - element_dict, joined_table = join_spatialelement_table( - sdata, spatial_element_names=element, table_name=table_name, how="inner", match_rows="left" - ) + element_dict, joined_table = join_spatialelement_table(sdata, spatial_element_names=element, table_name=table_name, + how="inner") sdata_filt[element] = shapes = element_dict[element] sdata_filt[table_name] = joined_table _, region_key, _ = get_table_keys(sdata[table_name]) table = sdata_filt[table_name][sdata[table_name].obs[region_key].isin([element])] + if ( col_for_color is not None and table_name is not None diff --git a/tests/pl/test_render_shapes.py b/tests/pl/test_render_shapes.py index d683189a..599fa22a 100644 --- a/tests/pl/test_render_shapes.py +++ b/tests/pl/test_render_shapes.py @@ -169,7 +169,6 @@ def test_plot_can_plot_shapes_after_spatial_query(self, sdata_blobs: SpatialData cropped_blob.pl.render_shapes().pl.show() def test_plot_can_plot_with_annotation_despite_random_shuffling(self, sdata_blobs: SpatialData): - new_table = sdata_blobs["table"].copy() sdata_blobs["table"].obs["region"] = "blobs_circles" new_table = sdata_blobs["table"][:5] new_table.uns["spatialdata_attrs"]["region"] = "blobs_circles" From a357e2a003e90556b2c734c2c3615686923816e5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 22 Dec 2024 21:39:03 +0000 Subject: [PATCH 4/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/spatialdata_plot/pl/render.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/spatialdata_plot/pl/render.py b/src/spatialdata_plot/pl/render.py index a51bfe6f..f2251c0f 100644 --- a/src/spatialdata_plot/pl/render.py +++ b/src/spatialdata_plot/pl/render.py @@ -80,14 +80,14 @@ def _render_shapes( table = None shapes = sdata_filt[element] else: - element_dict, joined_table = join_spatialelement_table(sdata, spatial_element_names=element, table_name=table_name, - how="inner") + element_dict, joined_table = join_spatialelement_table( + sdata, spatial_element_names=element, table_name=table_name, how="inner" + ) sdata_filt[element] = shapes = element_dict[element] sdata_filt[table_name] = joined_table _, region_key, _ = get_table_keys(sdata[table_name]) table = sdata_filt[table_name][sdata[table_name].obs[region_key].isin([element])] - if ( col_for_color is not None and table_name is not None From 0c107c7b41e649234de4ae7ab01a2217ebd25889 Mon Sep 17 00:00:00 2001 From: Wouter-Michiel Vierdag Date: Sun, 22 Dec 2024 22:54:17 +0100 Subject: [PATCH 5/9] update random shuffling test plot --- ...th_annotation_despite_random_shuffling.png | Bin 20445 -> 20443 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/_images/Shapes_can_plot_with_annotation_despite_random_shuffling.png b/tests/_images/Shapes_can_plot_with_annotation_despite_random_shuffling.png index c36b0b9c7704adc08fe968a77cfbba0276d438aa..ac33e2694437827e018ced648778e044a1d37dbd 100644 GIT binary patch literal 20443 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 From c0f24facb0437589d10437d7460e762cc1edbb36 Mon Sep 17 00:00:00 2001 From: Wouter-Michiel Vierdag Date: Sun, 22 Dec 2024 23:30:23 +0100 Subject: [PATCH 6/9] fix remainder tests --- src/spatialdata_plot/pl/render.py | 5 ++--- ..._queried_shapes_elements_by_annotation.png | Bin 23627 -> 23982 bytes ...th_annotation_despite_random_shuffling.png | Bin 15361 -> 15699 bytes 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/spatialdata_plot/pl/render.py b/src/spatialdata_plot/pl/render.py index f2251c0f..83a77fd3 100644 --- a/src/spatialdata_plot/pl/render.py +++ b/src/spatialdata_plot/pl/render.py @@ -84,9 +84,8 @@ def _render_shapes( sdata, spatial_element_names=element, table_name=table_name, how="inner" ) sdata_filt[element] = shapes = element_dict[element] - sdata_filt[table_name] = joined_table - _, region_key, _ = get_table_keys(sdata[table_name]) - table = sdata_filt[table_name][sdata[table_name].obs[region_key].isin([element])] + joined_table.uns["spatialdata_attrs"]["region"] = joined_table.obs[joined_table.uns["spatialdata_attrs"]["region_key"]].unique().tolist() + sdata_filt[table_name] = table = joined_table if ( col_for_color is not None diff --git a/tests/_images/Shapes_can_color_two_queried_shapes_elements_by_annotation.png b/tests/_images/Shapes_can_color_two_queried_shapes_elements_by_annotation.png index 3733eff1ae12297bf59e6cdc60d6502c72681a08..fd8ddc59a90801b529c198120257e48d6f54d8eb 100644 GIT binary patch literal 23982 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 N(mAWAQL1JY@?TT$DU<*J literal 23627 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 Lq@h@>U>5KnUTUVE diff --git a/tests/_images/Shapes_can_plot_queried_with_annotation_despite_random_shuffling.png b/tests/_images/Shapes_can_plot_queried_with_annotation_despite_random_shuffling.png index df0f43d04c1efad61e9c6f51e3486a1258b52ca8..41205c1523c40aa2c74e9a9f41edd5caca9f20b0 100644 GIT binary patch literal 15699 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 literal 15361 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 Date: Sun, 22 Dec 2024 22:30:45 +0000 Subject: [PATCH 7/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/spatialdata_plot/pl/render.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/spatialdata_plot/pl/render.py b/src/spatialdata_plot/pl/render.py index 83a77fd3..08b2094c 100644 --- a/src/spatialdata_plot/pl/render.py +++ b/src/spatialdata_plot/pl/render.py @@ -84,7 +84,9 @@ def _render_shapes( sdata, spatial_element_names=element, table_name=table_name, how="inner" ) sdata_filt[element] = shapes = element_dict[element] - joined_table.uns["spatialdata_attrs"]["region"] = joined_table.obs[joined_table.uns["spatialdata_attrs"]["region_key"]].unique().tolist() + joined_table.uns["spatialdata_attrs"]["region"] = ( + joined_table.obs[joined_table.uns["spatialdata_attrs"]["region_key"]].unique().tolist() + ) sdata_filt[table_name] = table = joined_table if ( From b5fd1acacaa08024493c3392594222293a77b1fa Mon Sep 17 00:00:00 2001 From: Wouter-Michiel Vierdag Date: Sun, 22 Dec 2024 23:39:53 +0100 Subject: [PATCH 8/9] add test --- .../Shapes_can_do_non_matching_table.png | Bin 0 -> 22495 bytes tests/pl/test_render_shapes.py | 10 ++++++++++ 2 files changed, 10 insertions(+) create mode 100644 tests/_images/Shapes_can_do_non_matching_table.png diff --git a/tests/_images/Shapes_can_do_non_matching_table.png b/tests/_images/Shapes_can_do_non_matching_table.png new file mode 100644 index 0000000000000000000000000000000000000000..6f6f621483f04a3594993777f38ae23d78f4dd8a GIT binary patch literal 22495 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 Date: Sun, 22 Dec 2024 22:40:20 +0000 Subject: [PATCH 9/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/pl/test_render_shapes.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/pl/test_render_shapes.py b/tests/pl/test_render_shapes.py index 46a62894..dcc24fac 100644 --- a/tests/pl/test_render_shapes.py +++ b/tests/pl/test_render_shapes.py @@ -455,4 +455,3 @@ def test_plot_can_do_non_matching_table(self, sdata_blobs: SpatialData): sdata_blobs["new_table"] = table_shapes sdata_blobs.pl.render_shapes("blobs_circles", color="instance_id").pl.show() -