123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- function [PatientPositionCODE] = dicomrt_getPatientPosition(study)
- % dicomrt_getPatientPosition(study)
- %
- % Get Patient Position
- % Return a number (CODE) which correspond to one of the supported cases
- %
- % Patient Position codes:
- %
- % Head First Supine (HFS) - CODE=1
- % Feet First Supine (FFS) - CODE=2
- % Head First Prone (HFP) - CODE=3
- % Feet First Prone (FFP) - CODE=4
- %
- % Example:
- %
- % [B]=dicomrt_getPatientPosition(A)
- %
- % if patient position is HFS, dicomrt_getPatientPosition returns "1" in B.
- %
- % See also: dicomrt_loaddose, dicomrt_ctcreate, dicomrt_createwphantom
- %
- % Copyright (C) 2002 Emiliano Spezi (emiliano.spezi@physics.org)
- if iscell(study) == 1 % this is a rtplan warmed for MC export: Patient Position already assigned
- if size(study,2) > 2
- CODE=study{1,2}(9);
- else % this is CT data
- study=study{1,1};
- end
- end
- if isstruct(study) == 1
- if strcmpi(study.Modality,'RTPLAN')
- try
- PatientPosition=getfield(study,'PatientSetupSequence','Item_1','PatientPosition');
- catch
- PatientPosition=input('dicomrt_getPatientPosition: Please specify Patient Position: HFS(default),FFS,HFP,FFP: ','s');
- if isempty(PatientPosition)==1
- PatientPosition='HFS';
- end
- end
- elseif strcmpi(study.Modality,'CT')
- PatientPosition=getfield(study,'PatientPosition');
- else
- error('dicomrt_getPatientPosition: could not retrieve PatientPosition field. Exit now')
- 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
|