Skip to content

Releases: JurgenKriel/SMINT

SMINT 2.0.0

Choose a tag to compare

@JurgenKriel JurgenKriel released this 27 Oct 06:46
f42468c

SMINT 2.0.0 is the first release since the Zenodo archive (v.1.0.0, tag smint). SMINT is described in Kriel et al., Cell Reports Methods 6(2), 101306 (2026).

📖 Documentation: https://jurgenkriel.github.io/SMINT/ · full changelog: https://jurgenkriel.github.io/SMINT/changelog/

pip install "git+https://github.com/JurgenKriel/SMINT.git@v2.0.0"

Highlights

Registration

  • Same-section registration, rebuilt. The new default method, multiround, uses displacement voting within tissue blocks, then an affine round and a smooth thin-plate-spline round. Each round is kept only if it improves the alignment. On a real Xenium section, the held-out median distance to the nearest cell fell from 12.4 to 5.4 µm.
  • Snapping refinement. Confidently matched nuclei are placed exactly on their Xenium cells. Nuclei that remain are assigned to free cells and flagged with a neighbour_deviation.
  • Sequential sections: LDDMM starts from your landmarks. Sections with a large offset now converge: in a synthetic test, the median error went from 695 µm to 0.1 µm.
  • A napari plugin and an HPC job runner cover loading data, pre-registration, landmarks and running jobs locally or through SLURM, with a choice of GPU type.
  • smint-alignment command line: st-sm, centroid, pretransform, columns, plus --submit and --watch.

Segmentation

  • Cellpose 3 and Cellpose 4 (Cellpose-SAM) are both supported.
  • Distributed whole-slide segmentation with overlapping tiles on local, SLURM or existing Dask workers. It includes the R stitching ported to Python (merge, trim, remove, then reconciling cells with nuclei). The new command is smint-segment-distributed.
  • run_segmentation.py: model and diameter flags now also apply with --distributed, and --no-gpu runs either mode on the CPU.

Documentation

  • The site has been rebuilt: executed tutorials, concept guides, task guides, a command-line and API reference, a napari guide and a gallery.

Upgrading from 1.0.0

  • Centroid registration defaults to multiround followed by snapping. x_transformed/y_transformed hold the refined positions, and *_smooth holds the transform-only ones. Use --no-refine / refine=False for the old behaviour.
  • smint-alignment centroid detects the centroid columns automatically, so --source-cols is only needed for unusual names.
  • run_lddmm_alignment(init_from_landmarks=True) is the default.
  • python -m smint.segmentation.distributed_seg is replaced by smint-segment-distributed.
  • st_align_wrapper and the smint-segmentation console script were removed (see the changelog for their replacements).
  • Python 3.10 or newer is required.

v.1.0.0

Choose a tag to compare

@JurgenKriel JurgenKriel released this 18 Dec 00:32

SMINT version 1