@@ -139,7 +139,7 @@ def _copy(
139
139
140
140
def render_shapes (
141
141
self ,
142
- element : str | None = None ,
142
+ elements : str | list [ str ] | None = None ,
143
143
color : str | None = None ,
144
144
groups : str | Sequence [str ] | None = None ,
145
145
size : float = 1.0 ,
@@ -161,8 +161,8 @@ def render_shapes(
161
161
162
162
Parameters
163
163
----------
164
- element
165
- The name of the shapes element to render. If `None`, the first
164
+ elements
165
+ The name of the shapes element(s) to render. If `None`, all
166
166
shapes element in the `SpatialData` object will be used.
167
167
color
168
168
Key for annotations in :attr:`anndata.AnnData.obs` or variables/genes.
@@ -209,7 +209,7 @@ def render_shapes(
209
209
)
210
210
outline_params = _set_outline (size , outline , outline_width , outline_color )
211
211
sdata .plotting_tree [f"{ n_steps + 1 } _render_shapes" ] = ShapesRenderParams (
212
- element = element ,
212
+ elements = elements ,
213
213
color = color ,
214
214
groups = groups ,
215
215
outline_params = outline_params ,
@@ -226,7 +226,7 @@ def render_shapes(
226
226
227
227
def render_points (
228
228
self ,
229
- element : str | None = None ,
229
+ elements : str | list [ str ] | None = None ,
230
230
color : str | None = None ,
231
231
groups : str | Sequence [str ] | None = None ,
232
232
size : float = 1.0 ,
@@ -242,8 +242,8 @@ def render_points(
242
242
243
243
Parameters
244
244
----------
245
- element
246
- The name of the points element to render. If `None`, the first
245
+ elements
246
+ The name of the points element(s) to render. If `None`, all
247
247
shapes element in the `SpatialData` object will be used.
248
248
color
249
249
Key for annotations in :attr:`anndata.AnnData.obs` or variables/genes.
@@ -279,7 +279,7 @@ def render_points(
279
279
** kwargs ,
280
280
)
281
281
sdata .plotting_tree [f"{ n_steps + 1 } _render_points" ] = PointsRenderParams (
282
- element = element ,
282
+ elements = elements ,
283
283
color = color ,
284
284
groups = groups ,
285
285
cmap_params = cmap_params ,
@@ -293,7 +293,7 @@ def render_points(
293
293
294
294
def render_images (
295
295
self ,
296
- element : str | None = None ,
296
+ elements : str | list [ str ] | None = None ,
297
297
channel : list [str ] | list [int ] | int | str | None = None ,
298
298
cmap : Colormap | str | None = None ,
299
299
norm : Optional [Normalize ] = None ,
@@ -307,9 +307,9 @@ def render_images(
307
307
308
308
Parameters
309
309
----------
310
- element
311
- The name of the image element to render. If `None`, the first
312
- shapes element in the `SpatialData` object will be used.
310
+ elements
311
+ The name of the image element(s) to render. If `None`, all
312
+ shapes elements in the `SpatialData` object will be used.
313
313
channel
314
314
To select which channel to plot (all by default).
315
315
cmap
@@ -338,7 +338,7 @@ def render_images(
338
338
** kwargs ,
339
339
)
340
340
sdata .plotting_tree [f"{ n_steps + 1 } _render_images" ] = ImageRenderParams (
341
- element = element ,
341
+ elements = elements ,
342
342
channel = channel ,
343
343
cmap_params = cmap_params ,
344
344
palette = palette ,
@@ -349,7 +349,7 @@ def render_images(
349
349
350
350
def render_labels (
351
351
self ,
352
- element : str | None = None ,
352
+ elements : str | list [ str ] | None = None ,
353
353
color : str | None = None ,
354
354
groups : str | Sequence [str ] | None = None ,
355
355
contour_px : int = 3 ,
@@ -369,9 +369,9 @@ def render_labels(
369
369
370
370
Parameters
371
371
----------
372
- element
373
- The name of the labels element to render. If `None`, the first
374
- labels element in the `SpatialData` object will be used.
372
+ elements
373
+ The name of the labels element(s) to render. If `None`, all
374
+ labels elements in the `SpatialData` object will be used.
375
375
color
376
376
Key for annotations in :attr:`anndata.AnnData.obs` or variables/genes.
377
377
groups
@@ -420,7 +420,7 @@ def render_labels(
420
420
** kwargs ,
421
421
)
422
422
sdata .plotting_tree [f"{ n_steps + 1 } _render_labels" ] = LabelsRenderParams (
423
- element = element ,
423
+ elements = elements ,
424
424
color = color ,
425
425
groups = groups ,
426
426
contour_px = contour_px ,
@@ -523,6 +523,15 @@ def show(
523
523
# Simplicstic solution: If the images are multiscale, just use the first
524
524
sdata = _multiscale_to_image (sdata )
525
525
526
+ # handle coordinate system
527
+ coordinate_systems = sdata .coordinate_systems if coordinate_systems is None else coordinate_systems
528
+ if isinstance (coordinate_systems , str ):
529
+ coordinate_systems = [coordinate_systems ]
530
+
531
+ for cs in coordinate_systems :
532
+ if cs not in sdata .coordinate_systems :
533
+ raise ValueError (f"Unknown coordinate system '{ cs } ', valid choices are: { sdata .coordinate_systems } " )
534
+
526
535
extent = _get_extent (
527
536
sdata = sdata ,
528
537
has_images = "render_images" in render_cmds ,
@@ -532,11 +541,6 @@ def show(
532
541
coordinate_systems = coordinate_systems ,
533
542
)
534
543
535
- # handle coordinate system
536
- coordinate_systems = sdata .coordinate_systems if coordinate_systems is None else coordinate_systems
537
- if isinstance (coordinate_systems , str ):
538
- coordinate_systems = [coordinate_systems ]
539
-
540
544
# Use extent to filter out coordinate system without the relevant elements
541
545
valid_cs = []
542
546
for cs in coordinate_systems :
@@ -546,13 +550,18 @@ def show(
546
550
logg .info (f"Dropping coordinate system '{ cs } ' since it doesn't have relevant elements." )
547
551
coordinate_systems = valid_cs
548
552
553
+ # print(coordinate_systems)
554
+ # cs_mapping = _get_coordinate_system_mapping(sdata)
555
+ # print(cs_mapping)
556
+
549
557
# check that coordinate system and elements to be rendered match
550
- for cmd , params in render_cmds .items ():
551
- if params .element is not None and len ([params .element ]) != len (coordinate_systems ):
552
- raise ValueError (
553
- f"Number of coordinate systems ({ len (coordinate_systems )} ) does not match number of elements "
554
- f"({ len (params .element )} ) in command { cmd } ."
555
- )
558
+ # for cmd, params in render_cmds.items():
559
+ # if params.elements is not None and len([params.elements]) != len(coordinate_systems):
560
+ # print(params.elements)
561
+ # raise ValueError(
562
+ # f"Number of coordinate systems ({len(coordinate_systems)}) does not match number of elements "
563
+ # f"({len(params.elements)}) in command {cmd}."
564
+ # )
556
565
557
566
# set up canvas
558
567
fig_params , scalebar_params = _prepare_params_plot (
0 commit comments