matRad_calcPhotonDoseBixel

Purpose ^

matRad photon dose calculation for an individual bixel

Synopsis ^

function dose = matRad_calcPhotonDoseBixel(SAD,m,betas,Interp_kernel1,Interp_kernel2,Interp_kernel3,radDepths,geoDists,isoLatDistsX,isoLatDistsZ)

Description ^

 matRad photon dose calculation for an individual bixel
 
 call
   dose = matRad_calcPhotonDoseBixel(SAD,m,betas,Interp_kernel1,...
                  Interp_kernel2,Interp_kernel3,radDepths,geoDists,...
                  isoLatDistsX,isoLatDistsZ)

 input
   SAD:                source to axis distance
   m:                  absorption in water (part of the dose calc base
                       data)
   betas:              beta parameters for the parameterization of the 
                       three depth dose components
   Interp_kernel1/2/3: kernels for dose calculation
   radDepths:          radiological depths
   geoDists:           geometrical distance from virtual photon source
   isoLatDistsX:       lateral distance in X direction in BEV from central
                       ray at iso center plane
   isoLatDistsZ:       lateral distance in Z direction in BEV from central
                       ray at iso center plane

 output
   dose:               photon dose at specified locations as linear vector

 References
   [1] http://www.ncbi.nlm.nih.gov/pubmed/8497215

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 Copyright 2015 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/LICENSES.txt. 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.

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Cross-reference information ^

This function calls: This function is called by:

Source code ^

0001 function dose = matRad_calcPhotonDoseBixel(SAD,m,betas,Interp_kernel1,...
0002                   Interp_kernel2,Interp_kernel3,radDepths,geoDists,...
0003                   isoLatDistsX,isoLatDistsZ)
0004 % matRad photon dose calculation for an individual bixel
0005 %
0006 % call
0007 %   dose = matRad_calcPhotonDoseBixel(SAD,m,betas,Interp_kernel1,...
0008 %                  Interp_kernel2,Interp_kernel3,radDepths,geoDists,...
0009 %                  isoLatDistsX,isoLatDistsZ)
0010 %
0011 % input
0012 %   SAD:                source to axis distance
0013 %   m:                  absorption in water (part of the dose calc base
0014 %                       data)
0015 %   betas:              beta parameters for the parameterization of the
0016 %                       three depth dose components
0017 %   Interp_kernel1/2/3: kernels for dose calculation
0018 %   radDepths:          radiological depths
0019 %   geoDists:           geometrical distance from virtual photon source
0020 %   isoLatDistsX:       lateral distance in X direction in BEV from central
0021 %                       ray at iso center plane
0022 %   isoLatDistsZ:       lateral distance in Z direction in BEV from central
0023 %                       ray at iso center plane
0024 %
0025 % output
0026 %   dose:               photon dose at specified locations as linear vector
0027 %
0028 % References
0029 %   [1] http://www.ncbi.nlm.nih.gov/pubmed/8497215
0030 %
0031 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0032 %
0033 % Copyright 2015 the matRad development team.
0034 %
0035 % This file is part of the matRad project. It is subject to the license
0036 % terms in the LICENSE file found in the top-level directory of this
0037 % distribution and at https://github.com/e0404/matRad/LICENSES.txt. No part
0038 % of the matRad project, including this file, may be copied, modified,
0039 % propagated, or distributed except according to the terms contained in the
0040 % LICENSE file.
0041 %
0042 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0043 
0044 % Define function_Di
0045 func_Di = @(beta,x) beta/(beta-m) * (exp(-m*x) - exp(-beta*x)); 
0046 
0047 % Calulate lateral distances using grid interpolation.
0048 lat1 = Interp_kernel1(isoLatDistsX,isoLatDistsZ);
0049 lat2 = Interp_kernel2(isoLatDistsX,isoLatDistsZ);
0050 lat3 = Interp_kernel3(isoLatDistsX,isoLatDistsZ);
0051 
0052 % now add everything together (eq 19 w/o inv sq corr -> see below)
0053 dose = lat1 .* func_Di(betas(1),radDepths) + ...
0054        lat2 .* func_Di(betas(2),radDepths) + ...
0055        lat3 .* func_Di(betas(3),radDepths);
0056 
0057 % inverse square correction
0058 dose = dose .* (SAD./geoDists(:)).^2;
0059 
0060 % check if we have valid dose values and adjust numerical instabilities
0061 % from fft convolution
0062 dose(dose < 0 & dose > -1e-14) = 0;
0063 if any(isnan(dose)) || any(dose<0)
0064    error('Error in photon dose calculation.');
0065 end

| Generated by m2html © 2005