projections

Projections handle the forward calculation and chain derivative of quantities during optimization.

class matRad_BackProjection

Bases: handle

matRad_BackProjection superclass for all backprojection algorithms used within matRad optimzation processes


Copyright 2019-2026 the matRad development team.

This file is part of the matRad project. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at https://github.com/e0404/matRad/LICENSE.md. No part of the matRad project, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.


Property Summary
wCache
wGradCache

different cache for optimal performance (if multiple evaluations of objective but not gradient are required)

wGradCacheProb
d
wGrad
wGradProb
dExp
dOmegaV
dij

reference to matRad dij struct (to enable local changes)

scenarios = 1

Scenario indices to evaluate (used for 4D & robust/stochastic optimization)

scenarioProb = 1

Probability associated with scenario (for stochastic optimization)

nominalCtScenarios = 1

nominal ct scenario (no shift, no range error) indices to evaluate (used for 4D & robust/stochastic optimization, when at least one cst structure does not have robustness)

Method Summary
compute(dij, w)
computeGradient(dij, doseGrad, w)
computeGradientProb(dij, doseGrad, vOmegaGrad, w)
GetResult()
GetResultProb()
GetGradient()
GetGradientProb()
computeResult(dij, w)
computeResultProb(dij, w)
projectGradient(dij, doseGrad, w)
projectGradientProb(dij, dExpGrad, dOmegaVgrad, w)
computeSingleScenario(dij, scen, w)
projectSingleScenarioGradient(dij, doseGrad, scen, w)
computeSingleScenarioProb(dij, scen, w)

warning(‘’);

projectSingleScenarioGradientProb(dij, dExpGrad, dOmegaVgrad, scen, w)

warning(‘’);

static setBiologicalDosePrescriptions(optiFunc, alphaX, betaX)

Does nothing in a usual normal setting but return the original optiFunc

class matRad_DoseProjection

Bases: matRad_BackProjection

matRad_DoseProjection class to compute physical dose during optimization


Copyright 2019-2026 the matRad development team.

This file is part of the matRad project. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at https://github.com/e0404/matRad/LICENSE.md. No part of the matRad project, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.


Method Summary
computeSingleScenario(~, dij, scen, w)
computeSingleScenarioProb(~, dij, scen, w)
projectSingleScenarioGradient(~, dij, doseGrad, scen, ~)
projectSingleScenarioGradientProb(~, dij, dExpGrad, dOmegaVgrad, scen, ~)
class matRad_VariableRBEProjection

Bases: matRad_EffectProjection

matRad_VariableRBEProjection class for RBE-weighted dose optimization


Copyright 2019-2026 the matRad development team.

This file is part of the matRad project. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at https://github.com/e0404/matRad/LICENSE.md. No part of the matRad project, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.


Method Summary
computeSingleScenario(dij, scen, w)
projectSingleScenarioGradient(dij, doseGrad, scen, w)

While the dose cache should be up to date here, we ask for a computation (will skip if weights are equal to cache)

computeSingleScenarioProb(~, dij, scen, w)
projectSingleScenarioGradientProb(dij, dExpGrad, dOmegaVgrad, scen, ~)
static setBiologicalDosePrescriptions(optiFunc, ~, ~)

Do nothing here to overwrite the behavior of the Effect projection, since we have unit GyRBE here

class matRad_EffectProjection

Bases: matRad_BackProjection

matRad_EffectProjection class for effect-based optimization


Copyright 2019-2026 the matRad development team.

This file is part of the matRad project. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at https://github.com/e0404/matRad/LICENSE.md. No part of the matRad project, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.


Method Summary
computeSingleScenario(~, dij, scen, w)
projectSingleScenarioGradient(~, dij, doseGrad, scen, w)
computeSingleScenarioProb(~, dij, scen, w)
projectSingleScenarioGradientProb(~, dij, dExpGrad, dOmegaVgrad, scen, ~)
static setBiologicalDosePrescriptions(optiFunc, alphaX, betaX)
class matRad_BEDProjection

Bases: matRad_EffectProjection

matRad_BEDProjection class for BED-based optimization


Copyright 2019-2026 the matRad development team.

This file is part of the matRad project. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at https://github.com/e0404/matRad/LICENSE.md. No part of the matRad project, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.


Method Summary
computeSingleScenario(dij, scen, w)

Get corresponding ct scenario

projectSingleScenarioGradient(dij, doseGrad, scen, w)

Get corresponding ct scenario

static setBiologicalDosePrescriptions(optiFunc, alphaX, betaX)
class matRad_ConstantRBEProjection

Bases: matRad_BackProjection

matRad_BackProjection for optimization based on RBExDose


Copyright 2019-2026 the matRad development team.

This file is part of the matRad project. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at https://github.com/e0404/matRad/LICENSE.md. No part of the matRad project, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.


Method Summary
computeSingleScenario(~, dij, scen, w)
computeSingleScenarioProb(~, dij, scen, w)
projectSingleScenarioGradient(~, dij, doseGrad, scen, ~)
projectSingleScenarioGradientProb(~, dij, dExpGrad, dOmegaVgrad, scen, ~)