spatialdata-plot icon indicating copy to clipboard operation
spatialdata-plot copied to clipboard

Clipping warning when plotting images

Open LucaMarconato opened this issue 10 months ago • 2 comments

To reproduce, please run the notebook from this PR, which doesn't require any data (it uses the one from squidpy).

The code cell

fig, axs = plt.subplots(1, 3, figsize=(18, 5))

sdata.pl.render_images().pl.render_shapes(color="array_row").pl.show(ax=axs[0], title="Row")

sdata.pl.render_images().pl.render_shapes(color="array_col").pl.show(ax=axs[1], title="Col")

sdata.pl.render_images().pl.render_shapes(color="mt-Cytb").pl.show(ax=axs[2], title="mt-Cytb")

leads to me to these warnings. Here I would like to report the one on the clipped data range.

Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers). Got range [-0.04347826..1.0].
[/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py:105](http://localhost:8888/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py#line=104): UserWarning: Key `spots` already exists. Overwriting it in-memory.
  self._check_key(key, self.keys(), self._shared_keys)
[/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py:125](http://localhost:8888/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py#line=124): UserWarning: Key `adata` already exists. Overwriting it in-memory.
  self._check_key(key, self.keys(), self._shared_keys)
Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers). Got range [-0.04347826..1.0].
[/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py:105](http://localhost:8888/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py#line=104): UserWarning: Key `spots` already exists. Overwriting it in-memory.
  self._check_key(key, self.keys(), self._shared_keys)
[/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py:125](http://localhost:8888/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py#line=124): UserWarning: Key `adata` already exists. Overwriting it in-memory.
  self._check_key(key, self.keys(), self._shared_keys)
Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers). Got range [-0.04347826..1.0].
[/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py:105](http://localhost:8888/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py#line=104): UserWarning: Key `spots` already exists. Overwriting it in-memory.
  self._check_key(key, self.keys(), self._shared_keys)
[/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py:125](http://localhost:8888/Users/macbook/embl/projects/basel/spatialdata/src/spatialdata/_core/_elements.py#line=124): UserWarning: Key `adata` already exists. Overwriting it in-memory.
  self._check_key(key, self.keys(), self._shared_keys)

@timtreis reported that he cannot reproduce.

LucaMarconato avatar Jan 30 '25 22:01 LucaMarconato

@MeyerBender could reproduce this in spatialproteomics.

This occurs in the first plot here. It should look like the first plot here.

Original comment from Meyer:

  • right at the start, when rendering the image, spatialdata-plot throws this warning: Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers). Got range [0.0..1.4367858515955403]. The images are originally 16-bit integers. I have checked the maximum value of the image, and it is certainly not 1.43… I am not sure if this is an issue with 16-bit support, but in any case the warning seems misleading.

LucaMarconato avatar May 13 '25 22:05 LucaMarconato

related: https://github.com/scverse/spatialdata-plot/pull/451

timtreis avatar May 13 '25 22:05 timtreis