Releases: JuliaSMLM/SMLMRender.jl
Releases · JuliaSMLM/SMLMRender.jl
v0.4.2
SMLMRender v0.4.2
v0.4.2 - 2026-03-10
Changes
- Add
compose()utility for image layer compositing with blend modes - Two blend modes:
:additive(sum, clamp to [0,1]) and:replace(later non-black pixels overwrite) - Decouples compositing from rendering — enables mixed-strategy overlays (e.g., Gaussian background + Circle overlay)
- Updated documentation: api_overview.md, docs/src/api.md, docs/src/examples.md
Breaking Changes
- None
Released via PR #17
Merged pull requests:
Closed issues:
v0.4.1
SMLMRender v0.4.1
What's Changed
- Allocation-free colormap LUT with inline interpolation (replaces abstract ColorScheme dispatch)
- Fused clip+normalize+colormap single-pass operations in intensity color mapping
- Pre-sized non-zero buffers in clip_at_percentile (eliminates filter(vec(...)) allocations)
- Pre-built LUT hoisted out of per-emitter loops across all strategy renderers
- Type assertions to eliminate Union type instabilities in strategy accessor methods
- Removed accidental BenchmarkTools runtime dependency
Merged pull requests:
v0.4.0
SMLMRender v0.4.0
v0.4.0
New Features
- ScaleBar.jl integration:
scalebar,scalebar_length,scalebar_position,scalebar_colorkwargs on allrender()paths scalebar_length_umfield inRenderInforeports auto-calculated or explicit scalebar length- Fix per-channel
clip_percentilein overlay render path - New dependency: ScaleBar v0.1
Breaking changes
- No breaking API changes. All new fields have defaults. Existing code works unchanged. Minor version bump for new dependency and struct fields.
Merged pull requests:
v0.3.1
SMLMRender v0.3.1
v0.3.1
Bug Fixes
- Fix histogram RGB overflow: field, categorical, and manual renders produced RGB values >1.0 in dense pixels
- Fix manual histogram dynamic range: replace max_count normalization with percentile clipping
Enhancements
- Widen
RenderConfig.clip_percentiletoUnion{Float64, Nothing}— passnothingfor saturate mode (no normalization, classic overlay behavior) - Wire
clip_percentilethroughrender_overlay()andrender(smlds::Vector; ...)for end-to-end control (defaults tonothingfor overlays)
Released via PR #13
Merged pull requests:
v0.3.0
SMLMRender v0.3.0
Breaking changes
- CircleRender/EllipseRender default radius_factor changed from 2.0 to 1.0
- Field-based Gaussian brightness uses linear clip+normalize instead of gamma correction
New features
- Wire clip_percentile from RenderConfig through field/categorical Gaussian rendering
- Re-export SMLMData via Reexport.jl
- Add rendering gallery to docs
Other changes
- Rewrite README with conceptual overview, Config-first API, Unicode field names
- Replace SMLMSim-based doc examples with self-contained Siemens star test pattern
- Convert all doc examples to (img, info) tuple pattern with RenderConfig
Merged pull requests:
v0.2.0
SMLMRender v0.2.0
Breaking changes
render()now returns(image, info)tuple instead of bare image orRenderResult2D- New
RenderConfig <: AbstractSMLMConfigreplaces kwargs-only interface:render(smld, config::RenderConfig) - RenderConfig has 14 flat fields (strategy, pixel_size, zoom, roi, colormap, etc.)
- kwargs form
render(smld; kwargs...)still works, kwargs match RenderConfig fields exactly RenderInfo <: AbstractSMLMInfoprovides timing, backend, emitter counts, output metadata- Requires SMLMData 0.7.0 (AbstractSMLMConfig/AbstractSMLMInfo)
Other changes
- Ellipse rendering support (from feature/ellipse-render branch)
- All Config/Info types inherit from SMLMData abstract types
Merged pull requests:
v0.1.0
SMLMRender v0.1.0
SMLMRender.jl v0.1.0 - Initial Release
Initial public release of SMLMRender.jl, a Julia package for rendering single-molecule localization microscopy (SMLM) data into publication-quality images.
Core Features
Three Rendering Strategies:
HistogramRender: Fast binned histograms with field-based color mappingGaussianRender: Smooth blob rendering weighted by localization precisionCircleRender: Precision-aware circle rendering for quality visualization
Advanced Color Mapping:
- Intensity-based color mapping with customizable colormaps
- Field-based color mapping (z-depth, photon count, frame number, precision)
- Intensity-weighted field colors for enhanced visualization
- Colorbar export for publication figures
Multi-Channel Support:
- Render multiple channels as overlays
- Automatic color assignment or custom colors per channel
Documentation:
- Complete Documenter.jl documentation with executable examples
- Comprehensive API reference
- Visual examples for all rendering strategies and colormaps
Package Quality
- 100% docstring coverage for all exported functions
- Full test suite
- Production-ready documentation (98/100 quality score)