scverse / scverse/spatialdata-io
Feature request: lazy parsing of the pyramidal OME-TIFF morphology focus in Xenium
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 103
- Forks
- 65
- Avg merge
- 1h 8m
- Merged PRs (30d)
- 3
Description
See context:
Saving and reloading is the general recommendation for
SpatialDataobjects coming fromspatialdata-io. Nevertheless there is more to say here. In the case ofXenium >= 2.x.xand themorphology_focusimage, we could actually take advantage of the pyramidal OME-TIFF format and construct the multiscale image directly from each scale and chunk (instead of lazily loading the large image and downscaling to a custom chunk size). This is currently not done as thespatialdata.models.Image2DModel.parse()method does not accept aDataTreeobject, but only aDataArray. If we extend this we can then also add this feature tospatialdata-io. Saving and reloading the object would still be preferable, but it would not be necessary for the case you reported.
Originally posted by @LucaMarconato in #1161
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 with spatialdata.models.Image2DModel.parse() and inspect how it currently handles DataArray inputs. Then trace the Xenium morphology_focus path in spatialdata-io and the pyramidal OME-TIFF loading entry point. Done means DataTree input is supported and morphology_focus can be constructed lazily from its scales and chunks without requiring save-and-reload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100