PyPlanAnalysis.rbe

Fixed and variable RBE models for proton therapy (McNamara, Wedenberg, Carabe, and a simple linear model).

PyPlanAnalysis.rbe

Variable and fixed RBE models for proton therapy.

All functions accept numpy arrays and return RBE-weighted dose arrays of the same shape.

References

McNamara : McNamara et al., Med Phys 42(2):678-89, 2015 Wedenberg : Wedenberg et al., Acta Oncol 52(3):580-8, 2013 Carabe : Carabe et al., Br J Radiol 85(1011):304-14, 2012

class RBEConfig(models=<factory>, fixed_rbe=1.1)[source]

Bases: object

Configure which RBE models to run.

Parameters:
  • models (list of str) – Any subset of {“mcnamara”, “wedenberg”, “carabe”}. Default: all three.

  • fixed_rbe (float) – Constant RBE value used for the RBE×fixed calculation. Default: 1.1

models: list
fixed_rbe: float = 1.1
rbe_fixed(dose_phys, rbe=1.1)[source]

Return dose_phys * rbe (elementwise).

Return type:

ndarray

Parameters:
  • dose_phys (ndarray)

  • rbe (float)

rbe_linear(dose_phys, let_d, n_fractions, alpha_beta, coeff=0.1)[source]

Linear variable-RBE model: RBE = 1 + coeff * LETd.

Parameters:
  • dose_phys (physical dose array [Gy])

  • let_d (LETd array [keV/µm], same shape as dose_phys)

  • n_fractions (number of fractions (unused by this model, kept for a) – consistent signature with the other RBE models)

  • alpha_beta (α/β ratio [Gy] (unused by this model))

  • coeff (float)

Returns:

np.ndarray [Gy(RBE)]

rbe_mcnamara(dose_phys, let_d, n_fractions, alpha_beta)[source]

McNamara et al. (2015) variable RBE model. Parameters taken from Table I of the original paper.

Return type:

ndarray

Parameters:
  • dose_phys (ndarray)

  • let_d (ndarray)

  • n_fractions (int)

  • alpha_beta (float)

rbe_wedenberg(dose_phys, let_d, n_fractions, alpha_beta)[source]

Wedenberg et al. (2013) variable RBE model.

alpha/alpha_x = 1 + q * LETd / (alpha/beta)_x with q = 0.434 beta = beta_x (constant)

Return type:

ndarray

Parameters:
  • dose_phys (ndarray)

  • let_d (ndarray)

  • n_fractions (int)

  • alpha_beta (float)

rbe_carabe(dose_phys, let_d, n_fractions, alpha_beta)[source]

Carabe et al. (2012) variable RBE model.

p=0.843, r=0.154, s=1.09, t=0.006

Return type:

ndarray

Parameters:
  • dose_phys (ndarray)

  • let_d (ndarray)

  • n_fractions (int)

  • alpha_beta (float)

compute_rbe_dose(dose_phys, let_d, n_fractions, alpha_beta, model)[source]

Compute variable RBE-weighted dose for a single model.

Parameters:
  • dose_phys (physical dose array [Gy])

  • let_d (LETd array [keV/µm], same shape as dose_phys)

  • alpha_beta (α/β ratio [Gy] for this structure)

  • model (one of "mcnamara", "wedenberg", "carabe")

  • n_fractions (int)

Return type:

ndarray

Returns:

rbe_dose (np.ndarray [Gy(RBE)])