scverse / scverse/spatialdata-io
Xenium: use physical units instead of pixel units as references
Nobody has claimed this yet.
- 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:
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():
It seems that spatialdata transform the physical coordinate for some reason, which can be seen from the following snapshot:
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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