spatialdata icon indicating copy to clipboard operation
spatialdata copied to clipboard

Tutorial Technology Visium HD fails due to coordinate system

Open pcm32 opened this issue 10 months ago • 1 comments

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!

pcm32 avatar Feb 27 '25 11:02 pcm32

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

LucaMarconato avatar Feb 27 '25 16:02 LucaMarconato

Completed in https://github.com/scverse/spatialdata/issues/889

LucaMarconato avatar Apr 21 '25 18:04 LucaMarconato