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_sflexorBMN).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