Skip to content

Releases: gustaveroussy/sopa

v2.2.2

20 Mar 10:16

Choose a tag to compare

Added

  • Added CI for MacOS and Windows by @alihamraoui in #391
  • Add support for local StarDist models by @alihamraoui in #392
  • Add scene and timepoint support to bioio reader by @alihamraoui in #395
  • Add tiffslide>=3.0.0 (which supports zarr v3) in the wsi extra, and use as a default backend for sopa.io.wsi

Changed

  • Aggregation refactoring by @alihamraoui in #401. Channel aggregation now returns an AnnData object. Can choose not to drop cells in sopa.aggregate.

Fixed

  • Fixed ome-zarr issue when writing to disk #400

New Contributors

Full Changelog: v2.2.1...v2.2.2

v2.2.0

24 Feb 09:31

Choose a tag to compare

[2.2.0] - 2026-02-24

This release unpins zarr, allowing for upgrading to the newer SpatialData version.

Everything should be backward compatible, except for some updates in the sopa.io.wsi reader (more details below).

Changed

  • Moved to zarr>=3.0.0.

Fixed

  • Fixed 'No module named "pkg_resources"' (#387) due to installing newer SpatialData version.

Added

  • Python 3.14 should now be supported. More tests will be performed to ensure stability.
  • Faster import sopa (more lazy loaded packages).
  • Add spatial plot colored by cell annotation in the Sopa report (if any cell type or leiden)

Breaking changes

  • Drop support for python==3.10. Sopa now depends on python>=3.11.
  • sopa.io.wsi now uses openslide as a default backend, and uses wsi as a default image name (see all function arguments in the docs).
  • Removed deprecated sopa.io.wsi_autoscale

v2.1.11

18 Dec 17:15

Choose a tag to compare

[2.1.11] - 2025-12-18

Added

  • Use the new stardist version to remove numpy pinning (now, all extras can use numpy>=2.0.0).
  • gene-column argument is now optional in Baysor and Comseg configs (inferred by default)

Fixed

  • Also ensure shapes transformation is always 2D when the transformation is extracted from images
  • Xenium v4 users: the Explorer should now open the correct new-format image
  • Use the right gene column in comseg when no config is provided (i.e., inferred by Sopa).

Changed

  • Remove support for the Xenium Explorer <4.0.0, please update it if not already done.
  • Remove deprecated sopa crop command line

v2.1.10

05 Dec 10:13

Choose a tag to compare

[2.1.10] - 2025-12-05

Added

  • proseg support for Visium HD data (see the related tutorial).
  • Bypass spatial join when using only one patch to speed-up make_transcript_patches (#362)

Fixed

  • Update attrs on disk when updating the latest Sopa boundaries (#363)
  • Ensure shapes transformation is always 2D (#359)

v2.1.9

14 Nov 15:22

Choose a tag to compare

[2.1.9] - 2025-11-14

Fixed

  • Fix assign_transcript_to_cell when the GeoDataFrame index name is already a column name (#346)
  • Xenium v4 aggregation issue due to the presence of / in the channel names (#353)
  • Ensure low-quality transcripts are not counted during aggregation (#349)

Changed

  • Building Docker images using python 3.12 instead of python 3.10
  • Lower the default tolerance during vectorization for more precise shapes (#340)

Added

  • Setting sopa.settings.simplification_tolerance to change the default shapely tolerance. For instance, set it to 0.1 for low simplification, or 0 for no simplification (#340)
  • Add an argument to load cells_boundaries and cells_table in sopa.io.merscope (False by default) (#346)
  • Do not overwrite the prior shape key in the transcript dataframe (useful if running multiple times make_transcript_patches) (#354)

v2.1.8

04 Nov 16:55

Choose a tag to compare

Hot fix: pin pyarrow<22.0.0
Was fixed in scverse/spatialdata#1002 but we can't use the latest spatialdata version until we support zarr v3 (#347)

v2.1.7

04 Nov 15:35

Choose a tag to compare

[2.1.7] - 2025-10-04

Added

  • Pin zarr<3.0.0 until we fully support it (see #347 for progress on this)
  • WSI reader improvements: add slideio backend and faster embedding inference when not saving on disk @stergioc (#218)
  • Argument to choose whether to run HVG in scanpy_preprocess (False by default)

Fixed

  • Ensure the H&E embeddings are deterministic: using timm for resnet, and ensure always in eval mode (#218)

Minor

  • CI improvements (#348)

v2.1.5

11 Oct 10:23

Choose a tag to compare

[2.1.5] - 2025-10-11

Added

  • Use the default proseg presets if infer_presets = True (default) and if not yet provided in the command_line_suffix
  • Exclude the CosMX control genes from the transcript patches and the aggregation
  • Added optional only_excluded argument in count_transcripts to count the genes that are normally excluded from the counts (#329)

Fixed

  • Ensure that cell expansion with no overlap preserves a polygon output (#318)
  • Fixed proseg usage on CosMx data (#323)
  • Don't perform segmentation on extremely small patches @Marius1311 (#282)
  • Fixed incorrect prior cell ID assignment to float dtype instead of int in the CosMx reader when fov is not None (#335)
  • Do not save the cache column in the transcript patches to allow moving the .zarr directory before segmentation

Broken changes

  • The CosMX reader now stores the transcript coordinates in microns instead of pixels, so Baysor/Comseg config needs to be adjusted (#323)

v2.1.4

29 Sep 09:30

Choose a tag to compare

[2.1.4] - 2025-09-29

Added

  • Visium HD: also store the spatial coordinates of the bins in microns (not just in pixels)
  • Added an --overwrite option to the sopa convert command line (#306)
  • Support python==3.13
  • Add roi_key in image/transcript patches to decide which shapes to use for the region of interest (#309)
  • Optional command line sopa scanpy-preprocess for basic preprocessing (see Snakemake config example)

Fixed

  • Use csr matrices instead of coo in transcript and bins aggregation to support anndata>=0.12.0 (#305)
  • Fix ValueError due to forward slash in morphology marker name @professor-sagittarius (#311)

v2.1.3

29 Aug 08:42

Choose a tag to compare

[2.1.3] - 2025-08-29

Added

  • Add support for the new proseg version >=3.0.0
  • Added sopa-comseg Docker image for ComSeg support in nf-core/sopa
  • Can read CosMx polygons and cell labels (#285)

Fixed

  • Overwrite the scale parameter when running baysor and providing both config and scale parameters (#294)
  • Avoid losing prior cell 0 in prior assignment when unassigned_value != 0
  • Fixed stardist dependencies, as it still doesn't support numpy>=2.0.0
  • Fixed FOV shift in some CosMx versions (#286)