Skip to content

Releases: kirchhausenlab/spatialdino

v0.2.0 — Documentation

21 Mar 04:37

Choose a tag to compare

What's New in v0.2.0

Added

  • Comprehensive Google-style docstrings for all 20 scripts (data, train, inference, post-processing)
  • docs/scripts.md — full script reference with function signatures, descriptions, and CLI interfaces

Changed

  • README updated with version badge, project structure overview, post-processing section, and documentation links
  • Segmentation section in README updated from "Work in progress" to reference actual scripts

Fixed

  • Undefined logger in scripts/data/calculate_global_stats.py

Dependencies

  • Merged 5 Dependabot PRs: actions/checkout 4→6, setup-uv 4→7, uv-build, react, react-router-dom

Full Changelog: v0.1.0...v0.2.0

v0.1.0 — Initial Productionized Release

21 Mar 04:15

Choose a tag to compare

What's New

This release marks the first productionized version of SpatialDINO, a self-supervised 3D Vision Transformer for segmentation and tracking in crowded cellular environments.

Core Model

  • Self-supervised 3D Vision Transformer (ViT-S/8, ViT-B/8) with DINOv2-style joint-embedding training
  • Memory-efficient attention via xFormers for scalable multi-GPU training
  • Multi-crop training with DINO + iBOT losses and Sinkhorn-Knopp centering
  • U-Net decoder for semantic segmentation from ViT patch tokens
  • LiFT (Learned image Feature Transform) for feature upsampling
  • SinDer: singular defect direction analysis for model interpretability

Inference & Applications

  • Streaming inference engine with Triton kernels for arbitrarily large 3D volumes
  • Voronoi-Otsu segmentation and probability map post-processing
  • Object tracking pipeline for 4D time-lapse data
  • Web GUI (FastAPI + React) for interactive inference and visualization
  • AWS S3 integration for public dataset and model access

Infrastructure & Tooling

  • CI/CD pipeline via GitHub Actions: Ruff lint + format, mypy type check, pytest
  • Dependabot for automated dependency updates (pip, npm, GitHub Actions)
  • Comprehensive ruff.toml with ML-appropriate lint rules (E, W, F, I, N, UP, B, A, C4, SIM, TCH, RUF)
  • mypy configuration in pyproject.toml with third-party library overrides
  • CHANGELOG.md in Keep a Changelog format
  • Model architecture documentation (docs/models.md) covering all 15+ neural network modules

Bug Fixes

  • Fixed undefined name make_webdataset_lift in src/spatialdino/models/lift/utils/utils.py (was a missed rename)
  • Fixed raise without from in xFormers import error handlers (attention, block, swiglu_ffn)
  • Removed unused variable assignments across multiple modules

Full Changelog: https://github.com/kirchhausenlab/spatialdino/commits/v0.1.0