From c366f68be47487817d850fa671bbb34a45593b2d Mon Sep 17 00:00:00 2001 From: kalidke Date: Fri, 6 Feb 2026 09:40:40 -0700 Subject: [PATCH 1/2] Add AbstractSMLMConfig and AbstractSMLMInfo abstract types Ecosystem-level abstract supertypes for the (Config, Info, Data) tuple pattern used across JuliaSMLM packages. Co-Authored-By: Claude Opus 4.6 --- src/SMLMData.jl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/SMLMData.jl b/src/SMLMData.jl index 414088d..aa743bc 100644 --- a/src/SMLMData.jl +++ b/src/SMLMData.jl @@ -60,6 +60,10 @@ export AbstractSMLD, SMLD, # Deprecated alias for AbstractSMLD + # Ecosystem abstract types (tuple pattern) + AbstractSMLMConfig, + AbstractSMLMInfo, + # Concrete emitter types Emitter2D, Emitter3D, @@ -101,6 +105,23 @@ export load_smite_3d, save_smite +# Ecosystem abstract types for the (Config, Info, Data) tuple pattern +""" + AbstractSMLMConfig + +Abstract supertype for configuration structs in the JuliaSMLM ecosystem. +Subtypes hold algorithm parameters (e.g., fit settings, simulation parameters). +""" +abstract type AbstractSMLMConfig end + +""" + AbstractSMLMInfo + +Abstract supertype for information/results structs in the JuliaSMLM ecosystem. +Subtypes hold computed metadata or diagnostic output from algorithms. +""" +abstract type AbstractSMLMInfo end + # Include all source files include("types/emitters.jl") # Move from current location include("types/cameras.jl") # Move from current location From 93de9797ea40f113053e6ea21adfec448630e387 Mon Sep 17 00:00:00 2001 From: kalidke Date: Fri, 6 Feb 2026 14:10:29 -0700 Subject: [PATCH 2/2] Bump version to v0.7.0 Minor version bump for new AbstractSMLMConfig and AbstractSMLMInfo exports. Co-Authored-By: Claude Opus 4.6 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index ec39530..959d20a 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "SMLMData" uuid = "5488f106-40b8-4660-84c5-84a168990d1b" authors = ["klidke@unm.edu"] -version = "0.6.0" +version = "0.7.0" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"