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.