1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- function [moutput,type,label,PatientPositionCODE]=dicomrt_checkinput(minput,force)
- error(nargchk(1,2,nargin))
- if nargin==1
- force=0;
- end
- if iscell(minput) == 1 & size(minput,1) == 3
- try
- header=minput{1,1}{1};
- catch
- header=minput{1,1};
- end
- modality=header.Modality;
- if isequal(modality,'CT')
- type='ct';
- label='CT units [Houns]';
- PatientPositionCODE=dicomrt_getPatientPosition(header);
- moutput=minput;
- elseif isequal(modality,'RTSTRUCT')
- type='voi';
- label='VOI';
- PatientPositionCODE=-1;
- moutput=minput;
- elseif isequal(modality,'RTPLAN')
- RTPLabel=header.RTPlanLabel;
- if strfind(RTPLabel,'-MCDOSE');
-
- if iscell(minput{2,1}) == 1
- disp('Input variable is a MC dose containing segments contribution. Adding segment''s dose');
- totaldose=dicomrt_addmcdose(minput{2,1});
- moutput=minput;
- moutput{2,1}=totaldose;
- else
- moutput=minput;
- end
- type='mc';
- label='MC dose map [Gy]';
- PatientPositionCODE=dicomrt_getPatientPosition(header);
- elseif strfind(RTPLabel,'-DDIFF');
-
- moutput=minput;
- type='ddiff';
- label='Dose difference';
- PatientPositionCODE=dicomrt_getPatientPosition(header);
- elseif strfind(RTPLabel,'-DRATIO');
-
- moutput=minput;
- type='dratio';
- label='Dose ratio';
- PatientPositionCODE=dicomrt_getPatientPosition(header);
- else
-
- moutput=minput;
- type='RTPLAN';
- label='RTPLAN dose map [Gy]';
- PatientPositionCODE=dicomrt_getPatientPosition(header);
- end
- end
- elseif isnumeric(minput)==1
- moutput=minput;
- type='other';
- label=[inputname(1),' matrix'];
- if force==0
- warning('dicomrt_checkinput: The input variable is a 3D matrix. Unable to determine Patient Position.');
- PatientPosition=input('dicomrt_checkinput: Please specify Patient Position: HFS(default),FFS,HFP,FFP: ','s');
- if isempty(PatientPosition)==1
- PatientPosition='HFS';
- end
-
- if strcmpi(PatientPosition, 'HFS')
- PatientPositionCODE = 1;
- elseif strcmpi(PatientPosition, 'FFS')
- PatientPositionCODE = 2;
- elseif strcmpi(PatientPosition, 'HFP')
- PatientPositionCODE = 3;
- elseif strcmpi(PatientPosition, 'FFP')
- PatientPositionCODE = 4;
- end
- end
- else
- error('dicomrt_checkinput: Input matrix does not have a supported format. Exit now !');
- end
|