Cosmx reader: CellOverlay is skipped
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 55/100
Direzione di ricerca
Inizia in cosmx.py intorno alla riga 208 e confronta il modo in cui le cartelle CellComposite vengono individuate e caricate con il caso CellOverlay segnalato. Verifica la gestione proposta dei nomi dei file di overlay, la corrispondenza dei FOV, l’analisi delle immagini e le trasformazioni, quindi conferma che le immagini CellOverlay compaiano nell’oggetto dati spaziali senza saltare file validi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Dear,
First, thank you for creating this package! It's been incredibly helpful in processing my CosMx data.
I wanted to share a quick observation in case it helps anyone else. When downloading raw CosMx data, there are not only CellComposite folders, but also CellOverlay folder. These overlays are part of the standard CosMx workflow, where cells are segmented and the images are included in the download. However, the current CosMx reader doesn’t load these CellOverlay images into the spatial data object.
To address this, I've added a few lines to cosmx.py to enable the reading of these images. While it’s not the cleanest solution, it works for now. Here’s the code snippet I used:
for fname in os.listdir(path / cell_overlay):
if fname.endswith(file_extensions):
fov = str(int(pat.findall(fname)[0]))
if fov in fovs_counts:
aff = affine_transforms_to_global[fov]
im = imread(path / cell_overlay / fname, **imread_kwargs).squeeze()
flipped_im = da.flip(im, axis=0)
parsed_im = Image2DModel.parse(
flipped_im,
transformations={
fov: Identity(),
"global": aff,
"global_only_image": aff,
},
dims=("y", "x", "c"),
rgb=None,
**image_models_kwargs,
)
images[f"{fov}_overlay"] = parsed_im
else:
logger.warning(f"FOV {fov} not found in counts file. Skipping image {fname}.")
To implement this, simply add the code to line 208 in CosMx.py, and it should work.
I’m happy to help further or discuss any potential improvements to this solution.
Kind regards,
Steven
- Lingua principale
- Python
- Stelle
- 103
- Fork
- 65
- Merge medio
- 1h 8m
- PR unite (30g)
- 3
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di scverse/spatialdata-io
-
documentation
Difficoltà 2/5 Mezza giornata Idoneità per principianti 65/100
scverse/spatialdata-io#161 · 13 commenti ·
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
scverse/spatialdata-io#422 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
scverse/spatialdata-io#419 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 48/100
scverse/spatialdata-io#409 · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
scverse/spatialdata-io#408 ·
Tutte le issue di scverse/spatialdata-io
Issue simili
-
needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
openvinotoolkit/openvino_notebooks#3665 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
benchmark-gap
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno