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
StoppingPowerTableStoppingPowerTable.DEFAULT_TARGETStoppingPowerTable.REQUIRED_DICT_KEYSStoppingPowerTable.REQUIRED_HEADER_KEYSStoppingPowerTable.energy_gridStoppingPowerTable.from_dict()StoppingPowerTable.from_txt()StoppingPowerTable.get_lookup_table()StoppingPowerTable.interpolate()StoppingPowerTable.ion_nameStoppingPowerTable.plot()StoppingPowerTable.resample()StoppingPowerTable.stopping_powerStoppingPowerTable.to_dict()
StoppingPowerTableSetStoppingPowerTableSet.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
MKTableMKTableParametersMKTableParameters.KMKTableParameters.RmaxMKTableParameters.apply_oxygen_effectMKTableParameters.base_points_bMKTableParameters.base_points_rMKTableParameters.beta0MKTableParameters.core_radius_typeMKTableParameters.domain_radiusMKTableParameters.f_rd_maxMKTableParameters.f_z0_maxMKTableParameters.from_dict()MKTableParameters.model_nameMKTableParameters.nucleus_radiusMKTableParameters.pO2MKTableParameters.use_stochastic_modelMKTableParameters.z0
- Submodules
- pymkm.physics
- pymkm.sftable
- Models supported
- Modules
- Usage
SFTableSFTableParametersSFTableParameters.KSFTableParameters.RmSFTableParameters.RmaxSFTableParameters.alpha0SFTableParameters.alphaLSFTableParameters.alphaSSFTableParameters.beta0SFTableParameters.dose_gridSFTableParameters.f_rd_maxSFTableParameters.f_z0_maxSFTableParameters.from_dict()SFTableParameters.gammaSFTableParameters.mktableSFTableParameters.pO2SFTableParameters.zR
- Submodules
- pymkm.utils