Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Cosmx reader: CellOverlay is skipped

Aperta
#313 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
python
Ambito
data

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di scverse/spatialdata-io

Tutte le issue di scverse/spatialdata-io

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.