calibrain.DataGenerator#

class calibrain.DataGenerator(solver, solver_param_grid, data_param_grid, noise_param_grid, ERP_config, source_simulator, leadfield_builder, sensor_simulator, save_posterior_stats=True, posterior_dir=None, random_state=42, logger=None)[source]#

Methods

run([nruns, fig_path, n_jobs, run_offset, ...])

Run data generation by iterating over combinations of solver and data parameters.

__init__(solver, solver_param_grid, data_param_grid, noise_param_grid, ERP_config, source_simulator, leadfield_builder, sensor_simulator, save_posterior_stats=True, posterior_dir=None, random_state=42, logger=None)[source]#

Initialize the DataGenerator class.

Parameters:
  • solver (callable) – The solver function (e.g., gamma_map_sflex or BMN).

  • solver_param_grid (dict) – Grid of solver hyperparameters (e.g. noise_type, init_gamma).

  • data_param_grid (dict) – Grid of data generation hyperparameters.

  • noise_param_grid (dict) – Grid of noise-related hyperparameters.

  • ERP_config (dict) – Configuration for ERP simulation.

  • source_simulator (SourceSimulator) – Instance of SourceSimulator for generating source data.

  • leadfield_builder (LeadfieldBuilder) – Instance of LeadfieldBuilder for generating leadfields.

  • sensor_simulator (SensorSimulator) – Instance of SensorSimulator for generating data.

  • save_posterior_stats (bool, optional) – If True, persist per-run posterior summaries for later aggregation.

  • posterior_dir (str or Path, optional) – Directory where posterior summary files should be stored. Defaults to the per-run experiment directory when omitted.

  • random_state (int, optional) – Random seed for reproducibility.

  • logger (logging.Logger, optional) – Logger instance for logging messages.

run(nruns=2, fig_path='results/figures', n_jobs=1, run_offset=0, global_total_runs=None)[source]#

Run data generation by iterating over combinations of solver and data parameters.

Parameters:
  • nruns (int) – Number of seeds to evaluate for each parameter combination.

  • fig_path (str) – Base directory where per-run visualizations will be saved.

  • n_jobs (int) – Number of parallel workers to use. 1 (default) keeps the sequential behaviour.

  • run_offset (int) – Number of experiments completed prior to this generator call. Used for global progress tracking when multiple estimators are run sequentially.

  • global_total_runs (int, optional) – Total number of experiments planned across estimators. If provided, the logger also reports this aggregate figure.

Returns:

DataFrame containing the results for each parameter combination.

Return type:

pd.DataFrame