Julia tools for single-molecule localization microscopy (SMLM).
Composable, high-performance Julia packages spanning the full SMLM workflow —
simulation, localization, post-processing, rendering, and analysis. Packages share a
common data model (SMLMData.jl) and offer
automatic GPU acceleration with CPU fallback. All are registered in the Julia General
registry — install any with Pkg.add("PackageName").
Under active development. The JuliaSMLM ecosystem grows continuously — new packages are added and existing ones refined over time, so expect this list to keep expanding.
| Package | Stage | What it does |
|---|---|---|
| SMLMAnalysis.jl | Pipeline | End-to-end analysis from a single config: detection, fitting, filtering, frame connection, drift correction, and rendering, with provenance tracking. |
| SMLMData.jl | Core | Shared data types: emitters, cameras, SMLD containers. |
| MicroscopePSFs.jl | Core | 2D/3D point-spread-function models and pixel integration. |
| SMLMSim.jl | Simulation | Blinking super-resolution data and diffusion/tracking dynamics. |
| SMLMBoxer.jl | Localization | Particle detection / ROI extraction, GPU + sCMOS weighting. |
| GaussMLE.jl | Localization | Fast maximum-likelihood Gaussian-PSF fitting, GPU-accelerated. |
| SMLMFrameConnection.jl | Post-processing | Link multi-frame blinks into single, higher-precision localizations. |
| SMLMBaGoL.jl | Post-processing | Bayesian Grouping of Localizations (BaGoL): merge an emitter's repeated blinks into single emitters, reaching precision beyond raw localizations. |
| SMLMDriftCorrection.jl | Post-processing | Fiducial-free 2D/3D drift correction via entropy minimization. |
| SMLMRender.jl | Rendering | Render localizations to images (histogram, Gaussian, outline). |
| SMLMView.jl | Rendering | Interactive N-dimensional microscopy viewer (WGLMakie). |
| SMLMClustering.jl | Analysis | Clustering and spatial statistics (DBSCAN, HDBSCAN, Voronoi). |
| ModelContextProtocol.jl | Tooling | Julia implementation of the Model Context Protocol (MCP). |
using Pkg
Pkg.add("SMLMAnalysis") # the full detection → rendering pipeline
Pkg.add(["SMLMData", "SMLMSim", "SMLMRender"]) # or individual building blocksPer-package docs live at https://JuliaSMLM.github.io/<Package>.jl/stable (e.g.
SMLMData). Ecosystem overview and
shared conventions (such as pixel indexing):
JuliaSMLM.github.io/SMLMDocs.jl/dev.
Issues and pull requests are welcome on any repository — each is developed and versioned independently through the Julia General registry.
