Repository navigation
Releases: JurgenKriel/SMINT
Releases · JurgenKriel/SMINT
Release list
SMINT 2.0.0
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-alignmentcommand line:st-sm,centroid,pretransform,columns, plus--submitand--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-gpuruns 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
multiroundfollowed by snapping.x_transformed/y_transformedhold the refined positions, and*_smoothholds the transform-only ones. Use--no-refine/refine=Falsefor the old behaviour. smint-alignment centroiddetects the centroid columns automatically, so--source-colsis only needed for unusual names.run_lddmm_alignment(init_from_landmarks=True)is the default.python -m smint.segmentation.distributed_segis replaced bysmint-segment-distributed.st_align_wrapperand thesmint-segmentationconsole script were removed (see the changelog for their replacements).- Python 3.10 or newer is required.