Skip to content

Add covariance fields to Emitter2DFit and Emitter3DFit (v0.6.0)#35

Merged
kalidke merged 2 commits intomainfrom
feature/sigma-xy-covariance
Jan 30, 2026
Merged

Add covariance fields to Emitter2DFit and Emitter3DFit (v0.6.0)#35
kalidke merged 2 commits intomainfrom
feature/sigma-xy-covariance

Conversation

@kalidke
Copy link
Member

@kalidke kalidke commented Jan 26, 2026

Summary

  • Add σ_xy field to Emitter2DFit for x-y covariance (microns²)
  • Add σ_xy, σ_xz, σ_yz fields to Emitter3DFit for full 3D covariance
  • Convenience constructors preserve backward compatibility (covariance fields are optional kwargs defaulting to zero)

Breaking Changes

⚠️ This release contains breaking changes

  • Emitter2DFit struct: New σ_xy field inserted between σ_y and σ_photons

    • Before: Emitter2DFit{T}(x, y, photons, bg, σ_x, σ_y, σ_photons, σ_bg, frame, ...)
    • After: Emitter2DFit{T}(x, y, photons, bg, σ_x, σ_y, σ_xy, σ_photons, σ_bg, frame, ...)
    • Migration: Use keyword constructor which is backward compatible:
      Emitter2DFit{T}(x, y, photons, bg, σ_x, σ_y, σ_photons, σ_bg; σ_xy=0.0, frame=1, ...)
  • Emitter3DFit struct: New σ_xy, σ_xz, σ_yz fields added

    • Migration: Use keyword constructor with optional covariance kwargs

Ecosystem Testing

All JuliaSMLM packages tested successfully with 0.6:

  • SMLMSim: 252 tests pass
  • SMLMBoxer: 54 tests pass
  • GaussMLE: 207 tests pass
  • SMLMDriftCorrection: 13 tests pass
  • SMLMFrameConnection: already on 0.6
  • SMLMRender: tests pass
  • MicroscopePSFs: 315 tests pass
  • SMLMBaGoL: full covariance likelihood implemented
  • SMLMAnalysis: full pipeline runs

🤖 Generated with Claude Code

kalidke and others added 2 commits January 25, 2026 19:38
- Emitter2DFit: add σ_xy for 2D uncertainty ellipse rotation
- Emitter3DFit: add σ_xy, σ_xz, σ_yz for full 3D covariance matrix
- All covariance fields default to zero(T) in convenience constructors
- Show methods display covariances only when non-zero
- Bump version to 0.6.0 (breaking: struct field order changed)

Enables proper uncertainty visualization for astigmatic PSFs and
tilted/rotated localization uncertainties from CRLB.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add σ_xy field to Emitter2DFit struct definitions
- Add σ_xy, σ_xz, σ_yz fields to Emitter3DFit struct definitions
- Update constructor examples to show covariance parameters

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@kalidke kalidke merged commit 51d80bf into main Jan 30, 2026
6 checks passed
@kalidke kalidke deleted the feature/sigma-xy-covariance branch January 30, 2026 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant