Skip to content

Multiscale image visualization #352

@Mr-Milk

Description

@Mr-Milk

Hi! I was testing with visualization of multiscale images. However, I cannot make this simple example work. Any tips?

I'm using the latest 0.5.5 release version.

Example code:

import numpy as np from spatialdata import SpatialData from spatialdata.models import Image2DModel # A sample multiscale image img = np.random.randint(0, 255, size=(3,2000, 2000), dtype=np.uint8) multiscale_image = Image2DModel.parse(img, dims=("c","y","x"), c_coords=("r", "g", "b"), scale_factors=[2,4], chunks=(3,256,256)) sdata = SpatialData(images={"img": multiscale_image}) from napari_spatialdata import Interactive interactive = Interactive(sdata) interactive.run()

The error will occur once I select the 'img' element in napari.

Traceback (most recent call last): File "/.venv/lib/python3.12/site-packages/napari_spatialdata/_sdata_widgets.py", line 145, in run layer = self.sdata_widget.viewer_model.get_sdata_image( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/napari_spatialdata/_viewer.py", line 468, in get_sdata_image rgb_image, rgb = _adjust_channels_order(element=sdata.images[original_name]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/napari_spatialdata/utils/_utils.py", line 262, in _adjust_channels_order new_raster = new_raster.msi.reindex_data_arrays({"c": ["r", "g", "b", "a"][: len(c_coords)]}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/multiscale_spatial_image/multiscale_spatial_image.py", line 188, in reindex_data_arrays return self._dt.map_over_datasets( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/xarray/core/datatree.py", line 1462, in map_over_datasets return map_over_datasets(func, self, *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/xarray/core/datatree_mapping.py", line 103, in map_over_datasets results = func_with_error_context(*node_dataset_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/xarray/core/datatree_mapping.py", line 133, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/multiscale_spatial_image/utils.py", line 22, in _func return func(ds, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.12/site-packages/multiscale_spatial_image/operations/operations.py", line 18, in reindex_data_arrays return ds["image"].reindex(*args, **kwargs).to_dataset() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: DataArray.reindex() takes from 1 to 2 positional arguments but 6 were given Raised whilst mapping function over node with path 'scale0'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions