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/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 fc89c93..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, ) @@ -501,18 +502,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 diff --git a/tests/test_sweeps.py b/tests/test_sweeps.py index 8c3c05e..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,2), - defect=(0,1,2), + labelling_efficiency=(0,1,1), + defect=[0,0.5], defect_small_cluster=[300,], defect_large_cluster=[600,], #exp_time=[0.001, 0.01,],