- Renamed
embed_wsi_patches
toinfer_wsi_patches
infer_wsi_patches
now accepts also callables- Improves tile gathering speed and decreases overall computation of tile-wise inference
- Xenium reader now adds channel names, and support more recent versions (#68)
- Renamed
sopa.embedding
intosopa.patches
, and moved internal files - Don't recompute
to_multiscale
if the right scales are already used for Xenium Explorer image writing
- New tutorial on Xenium Explorer interoperability
- Fix polygon selection when no channel is provided
- Fix CosMX reader for proteins
- Fix FOV column issue for CosMX data (#65)
- Check the columns of CosMX data to see if the correct export module was used
- Ensure categorical variables are used for patches clustering
- Can overlay a custom segmentation (merge boundaries)
- Xenium Explorer selection(s) can be added as shapes in a SpatialData object
- Optionnal OpenSlide backend for WSI data
- New
sopa.io.aicsimageio
reader for special formats (#58)
- Rename
Aggregator.update_table
toAggregator.compute_table
- CosMX reader with image stitching (experimental)
- Default
min_transcripts
set in snakemake configs - Minimum number of transcripts per patch set to 4000 (#41)
- Config files refactoring (configs added or renamed)
- Readers refactoring
- Section with error during report are not displayed (instead of throwing an error)
- Support multiple tables
- Spatial elements not saved when data is not backed
Hotfix: resolve issues related to spatialdata>=1.0.0
- Improvements in the CLI and API tutorials
- Sequential segmentation now requires
patchify
to be run independently - Dependency
spatialdata>=0.1.1
- Kwargs can be provided to Cellpose model init
set_transformation
issue for image alignment- Import issue #37 #39
- Spatial join between shapes (
from sdata.spatial import sjoin
) - H&E tutorial (basic usage)
- New backend for the MERSCOPE reader (requires
rioxarray
, currently experimental, should use less RAM)
- Using
MultiscaleSpatialImage
by default for multiplex imaging technologies
- Issue in report creation when channel names are integers
- Faster image writing for the Xenium Explorer (about x5 speedup)
- Cellpose default model set to
"cyto3"
(new cellpose version) - Cell GeoDataFrame index consistent with
obs_names
- Support for python 3.9 to 3.11 (we still recommend
python==3.10
) - Support WSI analysis: reader, tissue segmentation, patch embedding (tutorials coming soon)
- Supporting multiple region-of-interest queries
- Can load a custom cellpose model using the
pretrained_model
/model_type
argument
- Missing transcript count in cells due to concurrent writing processes (#20)
- Explorer images should have a higher contrast (not clipping values anymore)
pixelsize
argument has been renamed topixel_size
(the snakemake pipeline is only deprecating it for now)
- The
phenocycler
reader can now also read.tif
files (not just.qptiff
) - Added missing legend in the HTML report under the "Channels" section (#15)
- The cell area is also stored in the table (in
.obs["area"]
)
- The
uniform
toy dataset now has two coordinate systems (better test case) - Faster table conversion to the Xenium Explorer
- Tight patching more stable with epsilon constant
- When geometries are
GeometryCollection
, convert them back to Polygons (#11) - Give
min_area
parameter to the right Baysor function in snakemake
- API tutorial
sopa.spatial
tutorial- Docstrings for the snakemake pipeline utils
- Show right micron scale in the Xenium Explorer
sopa.stats
is now calledsopa.spatial
- Tutorial on CLI usage
- Tutorial on image alignment with the Xenium Explorer
- Multi-step segmentation (#8)
- Tutorial for multi-step segmentation and custom segmentation
- Improved installation guide
- CLI issue (missing file) when used without Snakemake
- Use
.parquet
instead of.zarr.zip
format to store intermediate boundary polygons
- First official release
- Preprint at https://www.biorxiv.org/content/10.1101/2023.12.22.571863v1