Tutorial Technology Visium HD fails due to coordinate system
Describe the bug
On a fresh spatiadata installation, running https://spatialdata.scverse.org/en/latest/tutorials/notebooks/notebooks/examples/technology_visium_hd.html fails at the "Plotting gene expression data" / "Plotting the vector geometries" step with:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
File <timed exec>:5
File ~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1008, in PlotAccessor.show(self, coordinate_systems, legend_fontsize, legend_fontweight, legend_loc, legend_fontoutline, na_in_legend, colorbar, wspace, hspace, ncols, frameon, figsize, dpi, fig, title, share_extent, pad_extent, ax, return_ax, save)
[1005]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1005) ax.set_title(t)
[1006]:~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1006) ax.set_aspect("equal")
-> [1008]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1008) extent = get_extent(
[1009]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1009) sdata,
[1010]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1010) coordinate_system=cs,
[1011]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1011) has_images=has_images and wants_images,
[1012]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1012) has_labels=has_labels and wants_labels,
[1013]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1013) has_points=has_points and wants_points,
[1014]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1014) has_shapes=has_shapes and wants_shapes,
[1015]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1015) elements=wanted_elements,
[1016]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1016) )
[1017]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1017) cs_x_min, cs_x_max = extent["x"]
[1018]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata_plot/pl/basic.py:1018) cs_y_min, cs_y_max = extent["y"]
File ~/miniconda3_arm/envs/spatial_data/lib/python3.11/functools.py:909, in singledispatch.<locals>.wrapper(*args, **kw)
[905]~/miniconda3_arm/envs/spatial_data/lib/python3.11/functools.py:905) if not args:
[906]~/miniconda3_arm/envs/spatial_data/lib/python3.11/functools.py:906) raise TypeError(f'{funcname} requires at least '
[907]~/miniconda3_arm/envs/spatial_data/lib/python3.11/functools.py:907) '1 positional argument')
--> [909]~/miniconda3_arm/envs/spatial_data/lib/python3.11/functools.py:909) return dispatch(args[0].__class__)(*args, **kw)
File ~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:234, in _(e, coordinate_system, exact, has_images, has_labels, has_points, has_shapes, elements)
[228]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:228) raise ValueError(
[229]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:229) f"The SpatialData object does not contain any element in the "
[230]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:230) f" coordinate system {coordinate_system!r}, "
[231]~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:231) f"please pass a different coordinate system with the argument 'coordinate_system'."
[232](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:232) )
[233](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:233) if len(new_min_coordinates_dict) == 0:
--> [234](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:234) raise ValueError(
[235](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:235) f"The SpatialData object does not contain any element in the coordinate system {coordinate_system!r}, "
[236](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:236) "please pass a different coordinate system with the argument 'coordinate_system'."
[237](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:237) )
[238](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:238) axes = list(new_min_coordinates_dict.keys())
[239](~/miniconda3_arm/envs/spatial_data/lib/python3.11/site-packages/spatialdata/_core/data_extent.py:239) new_min_coordinates = np.array([min(new_min_coordinates_dict[ax]) for ax in axes])
ValueError: The SpatialData object does not contain any element in the coordinate system 'global', please pass a different coordinate system with the argument 'coordinate_system'.
To Reproduce Steps to reproduce the behavior:
Run the notebook with the data mentioned in the notebook.
Expected behavior
Notebook cell to show what is showing in the tutorial.
Desktop (optional):
- OS: macOS
Thanks!
Hi, we need to make sure that the links from the docs point to the stable version of the docs and not latest (which we fix only before making a release).
In your case please check this notebook here: https://spatialdata.scverse.org/en/stable/tutorials/notebooks/notebooks/examples/technology_visium_hd.html
I will remove the links pointing to latest soon https://github.com/scverse/spatialdata/issues/889
Completed in https://github.com/scverse/spatialdata/issues/889