sim
tit.sim ¶
TI/mTI simulation public API.
BaseSimulation ¶
BaseSimulation(config: SimulationConfig, montage: Montage, logger)
Bases: ABC
Abstract base class for TI/mTI simulations.
Subclasses must implement :pyattr:_simulation_mode,
:pyattr:_montage_type_label, :pyattr:_montage_imgs_key,
:meth:_build_session, and :meth:_post_process.
Source code in tit/sim/base.py
run ¶
Execute the full simulation pipeline. Returns a result dict.
Source code in tit/sim/base.py
Montage
dataclass
¶
Montage(name: str, mode: MontageMode, electrode_pairs: list[tuple], eeg_net: str | None = None)
Unified montage: EEG-cap labels or 3-D XYZ coordinates.
parse_intensities ¶
Parse comma-separated intensity string into list of floats.
Source code in tit/sim/config.py
run_simulation ¶
run_simulation(config: SimulationConfig, logger=None, progress_callback: Callable[[int, int, str], None] | None = None) -> list[dict]
Run TI/mTI simulations sequentially. Mode is auto-detected per montage.
Montages are read from config.montages.
Returns list of result dicts: montage_name, montage_type, status, output_mesh.
Source code in tit/sim/utils.py
list_montage_names ¶
mode: 'U' or 'M'. Returns [] for missing nets.
Source code in tit/sim/utils.py
ensure_montage_file ¶
Return path to montage_list.json, creating it with default schema if absent.
Source code in tit/sim/utils.py
upsert_montage ¶
upsert_montage(*, project_dir: str, eeg_net: str, montage_name: str, electrode_pairs: list[list[str]], mode: str) -> None
mode: 'U' → uni_polar_montages, 'M' → multi_polar_montages