Mappingproxy is not defined - spatialdata-io

Hello!

I am trying to load some seqFISH data from Spatial genomics with spatialdata-io. I’ve not used this package before. Am I supposed to have or generate some data from mappingproxy?

I have data which is a test set and renamed to match the names in the API.

880K TestSet_CellCoordinates_1.csv
7.4G TestSet_CellMask_1.tiff
37M TestSet_CxG_1.csv
2.0G TestSet_DAPI_1.ome.tiff
98M TestSet_TranscriptCoordinates_1.csv

I know the DAPI image is a hyperstack of 9 images which increase in resolution from 190 x 160 to 48586 x 40832 and it is 16bit.

I’ve not been able to open the “CellMask” (Segmentation) file and it similarly gigantic and 32bit

here is the import code and the error

In [9]: import spatialdata_io

In [10]: adata = spatialdata_io.seqfish('/home/met/Data/Baldauf/07Aug24', load_images=True, load_table
    ...: s=True, load_point=True, sections=None, imread_kwargs=mappingproxy({}))
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[10], line 1
----> 1 adata = spatialdata_io.seqfish('/home/met/Data/Baldauf/07Aug24', load_images=True, load_tables=True, load_point=True, sections=None, imread_kwargs=mappingproxy({}))

NameError: name 'mappingproxy' is not defined

I loaded the developer versions with pip and git, maybe that was a bad idea?

In [5]: sc.logging.print_header()
scanpy==1.10.2 anndata==0.10.8 umap==0.5.6 numpy==1.26.4 scipy==1.14.0 pandas==2.2.2 scikit-learn==1.5.1 statsmodels==0.14.2 igraph==0.11.6 pynndescent==0.5.13 spatialdata_io==0.1.4squidpy==1.6.1.dev1+g93ee854

Any advice or information that you can give is greatly appreciated!!

Matt

Hey @Matt!

Is the following the exact code you’re trying to execute?

adata = spatialdata_io.seqfish('/home/met/Data/Baldauf/07Aug24', load_images=True, load_tables=True, load_point=True, sections=None, imread_kwargs=mappingproxy({}))

If so, is there a reason you’re explicitly specifying mappingproxy? It’s a basic Python type (types — Dynamic type creation and names for built-in types — Python 3.12.5 documentation) and probably not needed in your use case I think. You could theoretically use it to pass arguments to dask_image.imread.imread which it doesn’t look like you’re trying to do.

Maybe just try running

adata = spatialdata_io.seqfish('/home/met/Data/Baldauf/07Aug24', load_images=True, load_tables=True, load_point=True, sections=None)

does that work?