Skip to content

Commit 846c763

Browse files
kalidkeclaude
andcommitted
Rename config structs: *Params -> *Config
Breaking change: Renamed simulation config types for consistency: - StaticSMLMParams -> StaticSMLMConfig - DiffusionSMLMParams -> DiffusionSMLMConfig Updated all source files, tests, and documentation. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 12c9618 commit 846c763

22 files changed

+114
-114
lines changed

CLAUDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ AbstractLabeling → FixedLabeling, PoissonLabeling, BinomialLabeling
6363
Molecule GenericFluor
6464

6565
# Simulation params
66-
SMLMSimParams StaticSMLMParams, DiffusionSMLMParams
66+
SMLMSimParams StaticSMLMConfig, DiffusionSMLMConfig
6767
```
6868

6969
### Key Files by Function
@@ -81,8 +81,8 @@ SMLMSimParams → StaticSMLMParams, DiffusionSMLMParams
8181
### Dispatch Pattern
8282

8383
The `simulate()` function dispatches on parameter type:
84-
- `simulate(params::StaticSMLMParams; ...)` → static simulation (returns 3-tuple)
85-
- `simulate(params::DiffusionSMLMParams; ...)` → diffusion simulation (returns BasicSMLD)
84+
- `simulate(params::StaticSMLMConfig; ...)` → static simulation (returns 3-tuple)
85+
- `simulate(params::DiffusionSMLMConfig; ...)` → diffusion simulation (returns BasicSMLD)
8686

8787
## Code Style
8888

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ using SMLMSim
3535

3636
# Define a camera and simulation parameters
3737
camera = IdealCamera(128, 128, 0.1) # 128×128 pixels, 100nm pixels
38-
params = StaticSMLMParams(density=1.0, σ_psf=0.13) # Density 1/μm², PSF 130nm
38+
params = StaticSMLMConfig(density=1.0, σ_psf=0.13) # Density 1/μm², PSF 130nm
3939

4040
# Run simulation for an 8-molecule ring pattern
4141
smld_noisy, info = simulate(
@@ -58,7 +58,7 @@ Simulate molecules diffusing and interacting (e.g., dimerization).
5858
using SMLMSim
5959

6060
# Set diffusion simulation parameters
61-
params = DiffusionSMLMParams(
61+
params = DiffusionSMLMConfig(
6262
density = 0.5, # molecules per μm²
6363
box_size = 10.0, # μm
6464
diff_monomer = 0.1, # μm²/s
@@ -109,7 +109,7 @@ Create camera images from simulation results.
109109
using MicroscopePSFs # Needed for PSF types
110110

111111
# Generate images from diffusion simulation output
112-
# Note: Frame timing is controlled by DiffusionSMLMParams (camera_framerate, camera_exposure)
112+
# Note: Frame timing is controlled by DiffusionSMLMConfig (camera_framerate, camera_exposure)
113113
# Multiple simulation timesteps are automatically integrated during simulate()
114114
psf = GaussianPSF(0.15) # 150nm PSF width
115115
images, img_info = gen_images(smld, psf;
@@ -132,7 +132,7 @@ using MicroscopePSFs
132132
camera_scmos = SCMOSCamera(128, 128, 0.1, 1.6)
133133

134134
# Run static simulation with sCMOS camera
135-
params = StaticSMLMParams(density=1.0, σ_psf=0.13)
135+
params = StaticSMLMConfig(density=1.0, σ_psf=0.13)
136136
smld_noisy, info = simulate(
137137
params,
138138
pattern=Nmer2D(n=8, d=0.1),
@@ -145,7 +145,7 @@ psf = GaussianPSF(0.15)
145145
images_scmos, img_info = gen_images(smld_noisy, psf, bg=10.0, camera_noise=true)
146146

147147
# For diffusion simulations
148-
diff_params = DiffusionSMLMParams(density=0.5, box_size=10.0)
148+
diff_params = DiffusionSMLMConfig(density=0.5, box_size=10.0)
149149
smld_diff, diff_info = simulate(diff_params; camera=camera_scmos, override_count=10)
150150
```
151151

@@ -165,7 +165,7 @@ using MicroscopePSFs
165165

166166
# --- Simulation Setup ---
167167
camera = IdealCamera(128, 128, 0.1) # 128×128 pixels, 100nm pixels
168-
params = StaticSMLMParams(density=1.0, σ_psf=0.13)
168+
params = StaticSMLMConfig(density=1.0, σ_psf=0.13)
169169
smld_noisy, info = simulate(
170170
params,
171171
pattern=Nmer2D(n=6, d=0.2), # Hexamer
@@ -203,7 +203,7 @@ using Statistics
203203
camera_scmos = SCMOSCamera(64, 64, 0.1, 1.6) # 64×64 pixels, 100nm/px, 1.6 e⁻ read noise
204204

205205
# Run diffusion simulation
206-
params = DiffusionSMLMParams(
206+
params = DiffusionSMLMConfig(
207207
density = 1.0, # 1 molecule/μm²
208208
box_size = 6.4, # 6.4×6.4 μm field
209209
diff_monomer = 0.1, # 0.1 μm²/s diffusion

api_overview.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ All simulations use consistent physical units:
2222

2323
- `AbstractSim`: Base type for all simulation types
2424
- `SMLMSimParams`: Base type for simulation parameters
25-
- `StaticSMLMParams`: Parameters for static SMLM simulation
26-
- `DiffusionSMLMParams`: Parameters for diffusion simulation
25+
- `StaticSMLMConfig`: Parameters for static SMLM simulation
26+
- `DiffusionSMLMConfig`: Parameters for diffusion simulation
2727

2828
- `SimInfo`: Metadata and intermediate results from simulation functions
2929
- `ImageInfo`: Metadata from image generation functions
@@ -50,12 +50,12 @@ All simulations use consistent physical units:
5050

5151
## Essential Types
5252

53-
### StaticSMLMParams
53+
### StaticSMLMConfig
5454

5555
Parameters for static SMLM simulation with fixed molecular patterns.
5656

5757
```julia
58-
Base.@kwdef mutable struct StaticSMLMParams <: SMLMSimParams
58+
Base.@kwdef mutable struct StaticSMLMConfig <: SMLMSimParams
5959
density::Float64 = 1.0 # density in particles per square micron
6060
σ_psf::Float64 = 0.13 # PSF width in microns
6161
minphotons::Int = 50 # minimum photons for detection
@@ -67,12 +67,12 @@ Base.@kwdef mutable struct StaticSMLMParams <: SMLMSimParams
6767
end
6868
```
6969

70-
### DiffusionSMLMParams
70+
### DiffusionSMLMConfig
7171

7272
Parameters for diffusion-based SMLM simulation using Smoluchowski dynamics.
7373

7474
```julia
75-
Base.@kwdef mutable struct DiffusionSMLMParams <: SMLMSimParams
75+
Base.@kwdef mutable struct DiffusionSMLMConfig <: SMLMSimParams
7676
density::Float64 = 1.0 # number density (molecules/μm²)
7777
box_size::Float64 = 10.0 # simulation box size (μm)
7878
diff_monomer::Float64 = 0.1 # monomer diffusion coefficient (μm²/s)
@@ -222,21 +222,21 @@ end
222222

223223
```julia
224224
# Static SMLM with default parameters
225-
params_static = StaticSMLMParams()
225+
params_static = StaticSMLMConfig()
226226

227227
# Custom parameters for static simulation
228-
params_static = StaticSMLMParams(
228+
params_static = StaticSMLMConfig(
229229
density = 2.0, # 2 patterns per μm²
230230
σ_psf = 0.15, # 150nm PSF width
231231
nframes = 2000, # 2000 frames
232232
framerate = 20.0 # 20 fps
233233
)
234234

235235
# Diffusion simulation with default parameters
236-
params_diff = DiffusionSMLMParams()
236+
params_diff = DiffusionSMLMConfig()
237237

238238
# Custom parameters for diffusion simulation
239-
params_diff = DiffusionSMLMParams(
239+
params_diff = DiffusionSMLMConfig(
240240
density = 0.5, # molecules per μm²
241241
box_size = 15.0, # 15μm box size
242242
diff_monomer = 0.2, # 0.2 μm²/s diffusion coefficient
@@ -338,7 +338,7 @@ All `simulate()` methods return a tuple: `(primary_output, info)`.
338338
```julia
339339
# Static SMLM simulation
340340
# First create simulation parameters
341-
params = StaticSMLMParams()
341+
params = StaticSMLMConfig()
342342

343343
# Then run simulation - returns (smld_noisy, SimInfo)
344344
smld_noisy, info = simulate(
@@ -363,7 +363,7 @@ smld_noisy, info = simulate(
363363

364364
# Diffusion simulation
365365
# First create simulation parameters
366-
params_diff = DiffusionSMLMParams()
366+
params_diff = DiffusionSMLMConfig()
367367

368368
# Then run simulation - returns (smld, SimInfo)
369369
smld, info = simulate(
@@ -498,7 +498,7 @@ single_frame, info = gen_image(
498498
# Example usage of diffusion analysis functions
499499

500500
# First, run a diffusion simulation
501-
params = DiffusionSMLMParams()
501+
params = DiffusionSMLMConfig()
502502
smld, info = simulate(params)
503503

504504
# Extract dimers from diffusion simulation
@@ -523,7 +523,7 @@ state_history = track_state_changes(smld)
523523
# Example usage of track utilities
524524

525525
# First, run a simulation
526-
params = StaticSMLMParams()
526+
params = StaticSMLMConfig()
527527
smld_noisy, info = simulate(params)
528528

529529
# Specify a track ID to extract
@@ -630,7 +630,7 @@ x, y, z, pattern_ids = uniform3D(density, pattern3d, field_x, field_y, zrange=[-
630630

631631
```julia
632632
# 1. Define parameters
633-
params = StaticSMLMParams(
633+
params = StaticSMLMConfig(
634634
density = 1.0,
635635
σ_psf = 0.13,
636636
nframes = 1000
@@ -674,7 +674,7 @@ images, img_info = gen_images(smld_model, psf;
674674

675675
```julia
676676
# 1. Define parameters
677-
params = DiffusionSMLMParams(
677+
params = DiffusionSMLMConfig(
678678
density = 0.5, # molecules per μm²
679679
box_size = 10.0, # μm
680680
diff_monomer = 0.1, # μm²/s
@@ -714,7 +714,7 @@ using MicroscopePSFs
714714

715715
# Define a camera and simulation parameters
716716
camera = IdealCamera(128, 128, 0.1) # 128×128 pixels, 100nm pixels
717-
params = StaticSMLMParams(density=1.0, σ_psf=0.13, nframes=1000)
717+
params = StaticSMLMConfig(density=1.0, σ_psf=0.13, nframes=1000)
718718

719719
# Run simulation for an 8-molecule ring pattern
720720
smld_noisy, info = simulate(
@@ -748,7 +748,7 @@ using SMLMSim
748748
using MicroscopePSFs
749749

750750
# Set diffusion simulation parameters
751-
params = DiffusionSMLMParams(
751+
params = DiffusionSMLMConfig(
752752
density = 0.5, # molecules per μm²
753753
box_size = 10.0, # μm
754754
diff_monomer = 0.1, # μm²/s
@@ -823,7 +823,7 @@ end
823823

824824
# Create camera and parameters
825825
camera = IdealCamera(128, 128, 0.1)
826-
params = StaticSMLMParams(
826+
params = StaticSMLMConfig(
827827
density = 0.5,
828828
σ_psf = 0.13,
829829
nframes = 2000,

docs/src/core/noise.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ Note that the axial (z) uncertainty is typically 2-3× larger than the lateral (
5151

5252
## Uncertainty in Static Simulations
5353

54-
The `StaticSMLMParams` includes a parameter `σ_psf` that controls the PSF width used for uncertainty calculations:
54+
The `StaticSMLMConfig` includes a parameter `σ_psf` that controls the PSF width used for uncertainty calculations:
5555

5656
```julia
5757
# Create simulation parameters with specific PSF width
58-
params = StaticSMLMParams(
58+
params = StaticSMLMConfig(
5959
σ_psf=0.15, # 150nm PSF width
6060
ρ=1.0, # 1 pattern per μm²
6161
nframes=1000

docs/src/diffusion/examples.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ using CairoMakie
2626
using MicroscopePSFs
2727
2828
# Set up simulation parameters
29-
params = DiffusionSMLMParams(
29+
params = DiffusionSMLMConfig(
3030
density = 2.0, # molecules per μm²
3131
box_size = 10.0, # μm
3232
diff_monomer = 0.1, # μm²/s
@@ -111,7 +111,7 @@ using MicroscopePSFs
111111
using CairoMakie
112112
113113
# Set up diffusion parameters with high temporal resolution
114-
params = DiffusionSMLMParams(
114+
params = DiffusionSMLMConfig(
115115
density = 1.0, # molecules per μm²
116116
box_size = 10.0, # μm
117117
diff_monomer = 0.2, # μm²/s (moderate diffusion)
@@ -176,15 +176,15 @@ using SMLMSim
176176
using CairoMakie
177177
178178
# Set up simulations with different dissociation rates
179-
params_stable = DiffusionSMLMParams(
179+
params_stable = DiffusionSMLMConfig(
180180
density = 1.0, # molecules per μm²
181181
diff_monomer = 0.1, # μm²/s
182182
diff_dimer = 0.05, # μm²/s
183183
k_off = 0.05, # s⁻¹ (stable dimers)
184184
t_max = 20.0 # s
185185
)
186186
187-
params_unstable = DiffusionSMLMParams(
187+
params_unstable = DiffusionSMLMConfig(
188188
density = 1.0, # molecules per μm²
189189
diff_monomer = 0.1, # μm²/s
190190
diff_dimer = 0.05, # μm²/s
@@ -234,7 +234,7 @@ using CairoMakie
234234
using MicroscopePSFs
235235
236236
# Set simulation parameters
237-
params = DiffusionSMLMParams(
237+
params = DiffusionSMLMConfig(
238238
density = 0.3, # molecules per μm²
239239
box_size = 10.0, # μm
240240
diff_monomer = 0.1, # μm²/s
@@ -317,7 +317,7 @@ using SMLMSim
317317
using CairoMakie
318318
319319
# Set up a minimal simulation with just two particles
320-
params = DiffusionSMLMParams(
320+
params = DiffusionSMLMConfig(
321321
box_size = 1.0, # 1 μm box for close interactions
322322
diff_monomer = 0.1, # μm²/s
323323
diff_dimer = 0.05, # μm²/s

docs/src/diffusion/overview.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ All simulation parameters use consistent physical units:
4343

4444
### Running a Basic Simulation
4545

46-
The main interface for running diffusion simulations is the `simulate` function with `DiffusionSMLMParams`:
46+
The main interface for running diffusion simulations is the `simulate` function with `DiffusionSMLMConfig`:
4747

4848
```julia
4949
using SMLMSim
5050

5151
# Set simulation parameters
52-
params = DiffusionSMLMParams(
52+
params = DiffusionSMLMConfig(
5353
density = 0.5, # molecules per μm²
5454
box_size = 10.0, # μm
5555
diff_monomer = 0.1, # μm²/s
@@ -69,11 +69,11 @@ The `smld` output is a `BasicSMLD` structure containing all emitters across all
6969

7070
## Simulation Parameters
7171

72-
The `DiffusionSMLMParams` structure allows you to customize various aspects of the simulation:
72+
The `DiffusionSMLMConfig` structure allows you to customize various aspects of the simulation:
7373

7474
```julia
7575
# More complex simulation
76-
params = DiffusionSMLMParams(
76+
params = DiffusionSMLMConfig(
7777
density = 2.0, # Higher density
7878
box_size = 20.0, # Larger area
7979
diff_monomer = 0.2, # Faster monomer diffusion

docs/src/images.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ using MicroscopePSFs
3232

3333
# Create or load an SMLD object
3434
# (This could be from either static or diffusion simulation)
35-
params = StaticSMLMParams(density=1.0, σ_psf=0.13, nframes=1000)
35+
params = StaticSMLMConfig(density=1.0, σ_psf=0.13, nframes=1000)
3636
camera = IdealCamera(128, 128, 0.1) # 128×128 pixels, 100nm pixels
3737
pattern = Nmer2D(n=6, d=0.2) # Hexamer with 200nm diameter
3838
molecule = GenericFluor(1e4, [-50.0 50.0; 1e-2 -1e-2]) # Blinking model
@@ -132,7 +132,7 @@ using MicroscopePSFs
132132
camera_scmos = SCMOSCamera(128, 128, 0.1, 1.6) # 1.6 e⁻ RMS read noise
133133

134134
# Run simulation with sCMOS camera
135-
params = StaticSMLMParams(density=1.0, σ_psf=0.13)
135+
params = StaticSMLMConfig(density=1.0, σ_psf=0.13)
136136
smld_true, smld_model, smld_noisy = simulate(
137137
params,
138138
pattern=Nmer2D(n=8, d=0.1),

docs/src/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ smld_true, smld_model, smld_noisy = simulate(
7272

7373
```julia
7474
# Set diffusion simulation parameters
75-
params = DiffusionSMLMParams(
75+
params = DiffusionSMLMConfig(
7676
density = 0.5, # molecules per μm²
7777
box_size = 10.0, # μm
7878
diff_monomer = 0.1, # μm²/s

docs/src/static/examples.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ using CairoMakie
1818
camera = IdealCamera(128, 64, 0.1) # 128×64 pixels, 100nm pixels
1919
2020
# Create simulation parameters
21-
params = StaticSMLMParams(
21+
params = StaticSMLMConfig(
2222
density = 1.0, # patterns per μm²
2323
σ_psf = 0.13, # PSF width in μm
2424
)
@@ -73,7 +73,7 @@ using CairoMakie
7373
camera = IdealCamera(128, 128, 0.1) # 128×128 pixels, 100nm pixels
7474
7575
# Create 3D simulation parameters
76-
params = StaticSMLMParams(
76+
params = StaticSMLMConfig(
7777
density = 0.5, # emitters per μm²
7878
σ_psf = 0.13, # PSF width in μm
7979
ndims = 3, # 3D simulation
@@ -129,7 +129,7 @@ using CairoMakie
129129
camera = IdealCamera(128, 128, 0.1) # 128×128 pixels, 100nm pixels
130130
131131
# Create simulation parameters
132-
params = StaticSMLMParams(
132+
params = StaticSMLMConfig(
133133
density = 2.0, # patterns per μm²
134134
σ_psf = 0.13, # 130nm PSF width
135135
nframes = 100, # 100 frames
@@ -247,7 +247,7 @@ camera = IdealCamera(64, 64, 0.1)
247247
grid = JitteredGrid2D()
248248
249249
# Create simulation parameters
250-
params = StaticSMLMParams(
250+
params = StaticSMLMConfig(
251251
density = 0.2, # Patterns per μm²
252252
nframes = 1000 # Number of frames
253253
)

0 commit comments

Comments
 (0)