From 3e572f0821206a8d0ad64e73bc7fc0f45034eb32 Mon Sep 17 00:00:00 2001 From: Damian Martinez Date: Wed, 14 Jan 2026 17:08:29 +0000 Subject: [PATCH 1/4] generate parameter iterables with stepsize instead of total number of values --- src/vlab4mic/sweep_generator.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/vlab4mic/sweep_generator.py b/src/vlab4mic/sweep_generator.py index fc89c93..a659578 100644 --- a/src/vlab4mic/sweep_generator.py +++ b/src/vlab4mic/sweep_generator.py @@ -501,18 +501,19 @@ def set_parameter_values(self, param_group, param_name, values=None): ] == "int_slider" ): - step = np.ceil((values[1] - values[0]) / values[2]) + #step = np.ceil((values[1] - values[0]) / values[2]) self.params_by_group[param_group][param_name] = ( np.arange( start=values[0], stop=values[1], - step=step, + step=values[2], dtype=int, ) ) else: + num = int((values[1]-values[0]) / values[2]) + 1 param_iterables = np.linspace( - values[0], values[1], values[2] + values[0], values[1], num ) self.params_by_group[param_group][ param_name From 36315c46d4a1da0fdda74e3a2276bbb548e8217c Mon Sep 17 00:00:00 2001 From: Damian Martinez Date: Wed, 14 Jan 2026 23:10:49 +0000 Subject: [PATCH 2/4] Update scripts and tests for parameter values with stepsize --- examples/article_figures/fig3B.py | 4 ++-- examples/parameter_sweep.py | 4 ++-- tests/test_sweeps.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/article_figures/fig3B.py b/examples/article_figures/fig3B.py index 9a858aa..d536f56 100644 --- a/examples/article_figures/fig3B.py +++ b/examples/article_figures/fig3B.py @@ -9,8 +9,8 @@ probe_templates=["NPC_Nup96_Cterminal_direct",], sweep_repetitions=20, # parameters for sweep - labelling_efficiency=(0,1,5), - defect=(0,1,5), + labelling_efficiency=(0,1,0.25), + defect=(0,1,0.25), defect_small_cluster=[300,], defect_large_cluster=[600,], exp_time=[0.001, 0.01,], diff --git a/examples/parameter_sweep.py b/examples/parameter_sweep.py index 1a9fa4f..100dd5c 100644 --- a/examples/parameter_sweep.py +++ b/examples/parameter_sweep.py @@ -6,8 +6,8 @@ probe_templates=["NPC_Nup96_Cterminal_direct",], # Probe template tailored to 7R5K sweep_repetitions=3, # parameters for sweep - labelling_efficiency=(0, 1, 3), # 3 linearly spaced values between 0 and 1 - defect=(0, 1, 3), # 3 linearly spaced values between 0 and 1 + labelling_efficiency=(0, 1, 0.5), # values between 0 and 1 with step of 0.5 + defect=(0, 1, 0.5), # values between 0 and 1 with step of 0.5 defect_small_cluster=[300,], # 1 single value defect_large_cluster=[600,], # 1 single value exp_time=[0.001, 0.01,], # 2 values diff --git a/tests/test_sweeps.py b/tests/test_sweeps.py index 8c3c05e..f3d7470 100644 --- a/tests/test_sweeps.py +++ b/tests/test_sweeps.py @@ -10,8 +10,8 @@ def test_run_parameter_sweep(): probe_templates=["NPC_Nup96_Cterminal_direct",], sweep_repetitions=3, # parameters for sweep - labelling_efficiency=(0,1,2), - defect=(0,1,2), + labelling_efficiency=(0,1,0.5), + defect=(0,1,0.5), defect_small_cluster=[300,], defect_large_cluster=[600,], #exp_time=[0.001, 0.01,], From bb7271a99c958e047676ab1119525e3d61b2def7 Mon Sep 17 00:00:00 2001 From: Damian Martinez Date: Thu, 15 Jan 2026 11:07:50 +0000 Subject: [PATCH 3/4] fixed missing modality update parameters not used for parameter sweep --- src/vlab4mic/analysis/sweep.py | 9 +++++++-- src/vlab4mic/sweep_generator.py | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/vlab4mic/analysis/sweep.py b/src/vlab4mic/analysis/sweep.py index 73d67a5..92b94e8 100644 --- a/src/vlab4mic/analysis/sweep.py +++ b/src/vlab4mic/analysis/sweep.py @@ -151,17 +151,21 @@ def sweep_vasmples( # keep=False, use_self_particle=True, **vsample_pars # ) for rep in range(repetitions): - if relative_positions_exist and relative_positions is not None: + if relative_positions_exist and relative_positions is not None: # keep the same positions experiment.clear_virtual_sample() experiment.set_virtualsample_params( update_mode=True, - particle_positions = relative_positions) + particle_positions = relative_positions, + **vsample_pars) experiment.build( modules=["coordinate_field"], use_self_particle=True, ) else: experiment.clear_virtual_sample() + experiment.set_virtualsample_params( + update_mode=True, + **vsample_pars) experiment.build( modules=["coordinate_field"], use_self_particle=True, @@ -296,6 +300,7 @@ def sweep_modalities_updatemod( mod_n = 0 for modality_name in experiment.selected_mods.keys(): for mod_pars_number, mod_pars in modality_params.items(): + print(f"Modality: {modality_name}, params set: {mod_pars} ") experiment.update_modality(modality_name, **mod_pars) # calculate virtual sample mask per modality vsample_mask_per_mod = experiment.imager.generate_modality_mask(modality=modality_name) diff --git a/src/vlab4mic/sweep_generator.py b/src/vlab4mic/sweep_generator.py index a659578..a57ee40 100644 --- a/src/vlab4mic/sweep_generator.py +++ b/src/vlab4mic/sweep_generator.py @@ -252,6 +252,7 @@ def generate_acquisitions(self): vsample_outputs=self.virtual_samples, vsampl_pars=self.virtual_samples_parameters, modalities=self.modalities, + modality_params=self.modality_parameters, modality_acq_prams=self.acquisition_parameters, ) From 46eb02fab9a74cbd343cdc144ad32e666379468e Mon Sep 17 00:00:00 2001 From: Damian Martinez Date: Thu, 15 Jan 2026 11:39:48 +0000 Subject: [PATCH 4/4] test update for sweep parameter values --- tests/test_sweeps.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_sweeps.py b/tests/test_sweeps.py index f3d7470..d33c354 100644 --- a/tests/test_sweeps.py +++ b/tests/test_sweeps.py @@ -10,8 +10,8 @@ def test_run_parameter_sweep(): probe_templates=["NPC_Nup96_Cterminal_direct",], sweep_repetitions=3, # parameters for sweep - labelling_efficiency=(0,1,0.5), - defect=(0,1,0.5), + labelling_efficiency=(0,1,1), + defect=[0,0.5], defect_small_cluster=[300,], defect_large_cluster=[600,], #exp_time=[0.001, 0.01,],