pymkm.sftable.compute¶
Computation of survival fraction (SF) curves from microdosimetric input.
This module defines the method SFTable.compute()
, which calculates SF
values over a dose grid based on results from an MKTable.
Supported models include:
MKM (classic)
SMK (stochastic)
OSMK 2021/2023 (stochastic with oxygen correction)
The method supports optional interpolation, recomputation, and model switching.
- pymkm.sftable.compute.compute(self: SFTable, *, ion: str | int, energy: float | None = None, let: float | None = None, force_recompute: bool | None = True, model: Literal['classic', 'stochastic'] | None = None, apply_oxygen_effect: bool = False) None [source]¶
Compute survival fraction curve(s) based on microdosimetric inputs.
This function stores the results in
self.table
as a list of result dictionaries.- Parameters:
ion (Union[str, int]) – Ion name, symbol, or atomic number.
energy (Optional[float]) – Kinetic energy per nucleon [MeV/u]. Interpolated if not provided.
let (Optional[float]) – Linear energy transfer [MeV/cm]. Interpolated if not provided.
force_recompute (Optional[bool]) – If True, recomputes results even if cached data exist.
model (Literal["classic", "stochastic"], optional) – Microdosimetric model to use: “classic” or “stochastic”.
apply_oxygen_effect (Optional[bool]) – Whether to apply OSMK model. Ignored if model != “stochastic”.
- Returns:
None. Results are stored in
self.table
.- Raises:
ValueError – If inputs are inconsistent, or if required parameters are missing.