pymkm¶
pyMKM: Microdosimetric modeling toolkit for ion beam radiotherapy.
pyMKM provides tools to compute microdosimetric and radiobiological quantities based on ion-specific LET data and linear-quadratic (LQ) survival models. It supports:
Radial dose modeling using Scholz-Kraft and Kiefer-Chatterjee formalisms
Specific energy and saturation-corrected z̄ calculations
Microdosimetric Kinetic Model (MKM), Stochastic MKM (SMK), and OSMK 2021/2023
Pre-bundled stopping power datasets (MSTAR, Geant4, FLUKA)
Survival fraction table generation and visualization
Full support for oxygen-effect modeling
Main subpackages¶
pymkm.io
: Data loading and parsing of stopping power tables.pymkm.data
: Bundled LET datasets and element metadata.pymkm.physics
: Core models for track structure and specific energy.pymkm.mktable
: LET-to-z̄ computation for MKM/SMK/OSMK tables.pymkm.sftable
: LQ model application and survival fraction calculations.pymkm.biology
: Oxygen-effect models and radiobiological corrections.pymkm.utils
: Utilities for interpolation, geometry, and parallelism.
pyMKM is intended for researchers and clinicians working in particle therapy, microdosimetry, and radiobiology modeling.
Subpackages¶
- pymkm.biology
- pymkm.data
- pymkm.io
- Modules
StoppingPowerTable
StoppingPowerTable.DEFAULT_TARGET
StoppingPowerTable.REQUIRED_DICT_KEYS
StoppingPowerTable.REQUIRED_HEADER_KEYS
StoppingPowerTable.energy_grid
StoppingPowerTable.from_dict()
StoppingPowerTable.from_txt()
StoppingPowerTable.get_lookup_table()
StoppingPowerTable.interpolate()
StoppingPowerTable.ion_name
StoppingPowerTable.plot()
StoppingPowerTable.resample()
StoppingPowerTable.stopping_power
StoppingPowerTable.to_dict()
StoppingPowerTableSet
StoppingPowerTableSet.add()
StoppingPowerTableSet.filter_by_ions()
StoppingPowerTableSet.from_default_source()
StoppingPowerTableSet.from_dict()
StoppingPowerTableSet.from_directory()
StoppingPowerTableSet.from_json()
StoppingPowerTableSet.get()
StoppingPowerTableSet.get_available_ions()
StoppingPowerTableSet.get_common_energy_range()
StoppingPowerTableSet.get_energy_grid()
StoppingPowerTableSet.get_stopping_power()
StoppingPowerTableSet.interpolate_all()
StoppingPowerTableSet.items()
StoppingPowerTableSet.keys()
StoppingPowerTableSet.load()
StoppingPowerTableSet.plot()
StoppingPowerTableSet.remove()
StoppingPowerTableSet.resample_all()
StoppingPowerTableSet.save()
StoppingPowerTableSet.to_dict()
StoppingPowerTableSet.to_json()
StoppingPowerTableSet.values()
- Submodules
- pymkm.mktable
- Modules
- Usage
MKTable
MKTableParameters
MKTableParameters.K
MKTableParameters.Rmax
MKTableParameters.apply_oxygen_effect
MKTableParameters.base_points_b
MKTableParameters.base_points_r
MKTableParameters.beta0
MKTableParameters.core_radius_type
MKTableParameters.domain_radius
MKTableParameters.f_rd_max
MKTableParameters.f_z0_max
MKTableParameters.from_dict()
MKTableParameters.model_name
MKTableParameters.nucleus_radius
MKTableParameters.pO2
MKTableParameters.use_stochastic_model
MKTableParameters.z0
- Submodules
- pymkm.physics
- pymkm.sftable
- Models supported
- Modules
- Usage
SFTable
SFTableParameters
SFTableParameters.K
SFTableParameters.Rm
SFTableParameters.Rmax
SFTableParameters.alpha0
SFTableParameters.alphaL
SFTableParameters.alphaS
SFTableParameters.beta0
SFTableParameters.dose_grid
SFTableParameters.f_rd_max
SFTableParameters.f_z0_max
SFTableParameters.from_dict()
SFTableParameters.gamma
SFTableParameters.mktable
SFTableParameters.pO2
SFTableParameters.zR
- Submodules
- pymkm.utils