scverse / scverse/spatialdata-io

Xenium: use physical units instead of pixel units as references

Open
#198 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

xenium
Dominant language
Python
Stars
103
Forks
65
Avg merge
1h 8m
Merged PRs (30d)
3

Description

Hi,
I find the coordinate differs a lot between 10xXenium analyzer and spatialdata. This is figures from 10xXenium analyzer:
image
And this is from spatialdata (the same dataset as above, generated by sdata.pl.render_images("morphology_focus").pl.render_shapes("cell_circles").pl.show():
image

It seems that spatialdata transform the physical coordinate for some reason, which can be seen from the following snapshot:
image
We believe that the physical coordinate (μm, micron) is more biological relevant, because we can see the physical size of the sample and the physical location of genes/cells in the sample. It's especially useful when comparing samples among different datasets because the physical coordinate represents the true size of the sample. So why does spatialdata make the transformation and how to show physical coordinates ?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the coordinate discrepancy with the Xenium dataset and the reported sdata.pl.render_images("morphology_focus").pl.render_shapes("cell_circles").pl.show() calls. Trace how Xenium physical coordinates are transformed, then verify that rendered locations and coordinate displays preserve meaningful micron-based positions comparable to the 10x Xenium analyzer.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, data-visualization
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.