Skip to content

Commit 19bc083

Browse files
authored
get_extent now deals with multiscale images/labels (#135)
1 parent d577db7 commit 19bc083

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

src/spatialdata_plot/pl/utils.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@
3939
from spatialdata import transform
4040
from spatialdata._logging import logger as logging
4141
from spatialdata._types import ArrayLike
42-
from spatialdata.models import (
43-
Image2DModel,
44-
)
42+
from spatialdata.models import Image2DModel, Labels2DModel
4543
from spatialdata.transformations import get_transformation
4644

4745
from spatialdata_plot.pp.utils import _get_coordinate_system_mapping
@@ -279,19 +277,21 @@ def _get_extent_after_transformations(element: Any, cs_name: str) -> Sequence[in
279277
for images_key in sdata.images:
280278
for e_id in element_ids:
281279
if images_key == e_id:
282-
if not isinstance(sdata.images[e_id], msi.multiscale_spatial_image.MultiscaleSpatialImage):
280+
if isinstance(sdata.images[e_id], spatial_image.SpatialImage):
283281
extent[cs_name][e_id] = _get_extent_after_transformations(sdata.images[e_id], cs_name)
284282
else:
285-
pass
283+
img = Image2DModel.parse(sdata.images[e_id]["scale0"].ds.to_array().squeeze(axis=0))
284+
extent[cs_name][e_id] = _get_extent_after_transformations(img, cs_name)
286285

287286
if has_labels and cs_contents.query(f"cs == '{cs_name}'")["has_labels"][0]:
288287
for labels_key in sdata.labels:
289288
for e_id in element_ids:
290289
if labels_key == e_id:
291-
if not isinstance(sdata.labels[e_id], msi.multiscale_spatial_image.MultiscaleSpatialImage):
290+
if isinstance(sdata.labels[e_id], spatial_image.SpatialImage):
292291
extent[cs_name][e_id] = _get_extent_after_transformations(sdata.labels[e_id], cs_name)
293292
else:
294-
pass
293+
label = Labels2DModel.parse(sdata.labels[e_id]["scale0"].ds.to_array().squeeze(axis=0))
294+
extent[cs_name][e_id] = _get_extent_after_transformations(label, cs_name)
295295

296296
if has_shapes and cs_contents.query(f"cs == '{cs_name}'")["has_shapes"][0]:
297297
for shapes_key in sdata.shapes:

0 commit comments

Comments
 (0)