forked from eric11210/matRad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
matRad_calcLQParameter.m
60 lines (52 loc) · 2 KB
/
matRad_calcLQParameter.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function [vAlpha, vBeta] = matRad_calcLQParameter(vRadDepths,mTissueClass,baseData)
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% matRad inverse planning wrapper function
%
% call
% [vAlpha, vBeta] = matRad_calcLQParameter(vRadDepths,mTissueClass,baseData)
%
% input
% vRadDepths: radiological depths of voxels
% mTissueClass: tissue classes of voxels
% baseData: biological base data
%
% output
% vAlpha: alpha values for voxels interpolated from base data
% vBeta: beta values for voxels interpolated from base data
%
% References
% -
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Copyright 2015, Mark Bangert, on behalf of the matRad development team
%
%
% This file is part of matRad.
%
% matrad is free software: you can redistribute it and/or modify it under
% the terms of the GNU General Public License as published by the Free
% Software Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% matRad is distributed in the hope that it will be useful, but WITHOUT ANY
% WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
% FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
% details.
%
% You should have received a copy of the GNU General Public License in the
% file license.txt along with matRad. If not, see
% <http://www.gnu.org/licenses/>.
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vAlpha = NaN*ones(numel(vRadDepths),1);
vBeta = NaN*ones(numel(vRadDepths),1);
numOfTissueClass = size(baseData(1).alpha,2);
% range shift
depths = baseData.depths + baseData.offset;
for i = 1:numOfTissueClass
vAlpha(mTissueClass==i) = interp1(depths,baseData.alpha(:,i),vRadDepths(mTissueClass==i),'linear');
vBeta(mTissueClass==i) = interp1(depths,baseData.beta(:,i), vRadDepths(mTissueClass==i),'linear');
end