matRad function that computes all isodse contours (along each dose cube dimension) call isoDoseContours = matRad_computeIsoDoseContours(doseCube,isoLevels) input doseCube 3D array containing the dose cube isoLevels iso dose levels (same units as doseCube) output isoDoseContours cell array containing the isolines along each dim References - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function isoDoseContours = matRad_computeIsoDoseContours(doseCube,isoLevels) 0002 % matRad function that computes all isodse contours 0003 % (along each dose cube dimension) 0004 % 0005 % call 0006 % isoDoseContours = matRad_computeIsoDoseContours(doseCube,isoLevels) 0007 % 0008 % input 0009 % doseCube 3D array containing the dose cube 0010 % isoLevels iso dose levels (same units as doseCube) 0011 % 0012 % output 0013 % isoDoseContours cell array containing the isolines along each dim 0014 % 0015 % References 0016 % - 0017 % 0018 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0019 % 0020 % Copyright 2015 the matRad development team. 0021 % 0022 % This file is part of the matRad project. It is subject to the license 0023 % terms in the LICENSE file found in the top-level directory of this 0024 % distribution and at https://github.com/e0404/matRad/LICENSES.txt. No part 0025 % of the matRad project, including this file, may be copied, modified, 0026 % propagated, or distributed except according to the terms contained in the 0027 % LICENSE file. 0028 % 0029 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0030 0031 dim = size(doseCube); 0032 isoDoseContours = cell(max(dim(:)),3); 0033 0034 minLevel = min(isoLevels(:)); 0035 0036 for slice = 1:dim(1) 0037 if any(any(doseCube(slice,:,:) >= minLevel)) 0038 isoDoseContours{slice,1} = contourc(squeeze(doseCube(slice,:,:)),isoLevels); 0039 end 0040 end 0041 for slice = 1:dim(2) 0042 if any(any(doseCube(:,slice,:) >= minLevel)) 0043 isoDoseContours{slice,2} = contourc(squeeze(doseCube(:,slice,:)),isoLevels); 0044 end 0045 end 0046 for slice = 1:dim(3) 0047 if any(any(doseCube(:,:,slice) >= minLevel)) 0048 isoDoseContours{slice,3} = contourc(squeeze(doseCube(:,:,slice)),isoLevels); 0049 end 0050 end 0051 0052 end 0053