Source code for pyRadPlan.optimization._fluence_optimization
import numpy as np
from pyRadPlan.ct import CT, validate_ct
from pyRadPlan.cst import StructureSet, validate_cst
from pyRadPlan.plan import Plan, validate_pln
from pyRadPlan.dij import Dij, validate_dij
from pyRadPlan.stf import SteeringInformation, validate_stf
from .problems import get_problem_from_pln
[docs]
def fluence_optimization(
ct: CT, cst: StructureSet, stf: SteeringInformation, dij: Dij, pln: Plan
) -> np.ndarray:
"""
Trigger fluence optimization using the configuration stored in the pln object.
Parameters
----------
ct : CT
CT object.
cst : StructureSet
StructureSet object.
stf : SteeringInformation
SteeringInformation object.
dij : Dij
Dij object.
pln : Plan
Plan object.
Returns
-------
np.ndarray
The optimized fluence map.
"""
_ct = validate_ct(ct)
_cst = validate_cst(cst)
_stf = validate_stf(stf)
_dij = validate_dij(dij)
_pln = validate_pln(pln)
planning_prob = get_problem_from_pln(_pln)
x, _result_info = planning_prob.solve(_ct, _cst, _stf, _dij)
return x