123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- function [totalMCdose,totalMCerror] = dicomrt_addmcdose(MCdose,MCerror)
- error(nargchk(1,2,nargin))
- if nargin==1
- [study_temp,type_dose,label]=dicomrt_checkinput(MCdose,1);
- MCdose=dicomrt_varfilter(study_temp);
- else
- [study_temp,type_dose,label]=dicomrt_checkinput(MCdose,1);
- [studye_temp,type_dose,label]=dicomrt_checkinput(MCerror,1);
- MCdose=dicomrt_varfilter(study_temp);
- MCerror=dicomrt_varfilter(studye_temp);
- end
- if nargin==2 & (iscell(MCdose)~=1 | iscell(MCerror)~=1)
- error('dicomrt_addmcdose: Dose or error matrices do not have the expected format (i.e. cell). Exit now!')
- elseif iscell(MCdose)~=1
- error('dicomrt_addmcdose: Dose or error matrices do not have the expected format (i.e. cell). Exit now!')
- end
- if nargin == 2
- for i=1:size(MCdose,1);
- if iscell(MCdose{i,2})==1
- for j=1:size(MCdose{i,2},2);
-
-
- if i==1 & j==1
- totalMCdose=MCdose{i,2}{j};
- totalMCerror_abs=MCerror{i,2}{j}.*MCdose{i,2}{j};
- else
- totalMCdose=totalMCdose+MCdose{i,2}{j};
- totalMCerror_abs=totalMCerror_abs+MCerror{i,2}{j}.*MCdose{i,2}{j};
- end
- end
- else
- if i==1
- totalMCdose=MCdose{i,2};
- totalMCerror_abs=MCerror{i,2}.*MCdose{i,2};
- else
- totalMCdose=totalMCdose+MCdose{i,2};
- totalMCerror_abs=totalMCerror_abs+MCerror{i,2}.*MCdose{i,2};
- end
- end
- end
-
- totalMCerror=totalMCerror_abs./totalMCdose;
- elseif nargin == 1
- for i=1:size(MCdose,1);
- if iscell(MCdose{i,2})==1
- for j=1:size(MCdose{i,2},2);
-
-
- if i==1 & j==1
- totalMCdose=MCdose{i,2}{j};
- else
- totalMCdose=totalMCdose+MCdose{i,2}{j};
- end
- end
- else
- if i==1
- totalMCdose=MCdose{i,2};
- else
- totalMCdose=totalMCdose+MCdose{i,2};
- end
- end
- end
- end
- if nargin == 1
- totalMCdose=dicomrt_restorevarformat(study_temp,totalMCdose);
- else
- totalMCdose=dicomrt_restorevarformat(study_temp,totalMCdose);
- totalMCerror=dicomrt_restorevarformat(studye_temp,totalMCerror);
- end
|