def get_metadata(filename): try: pf = nimsutil.pfile.PFile(filename) except nimsutil.pfile.PFileError: md = None else: md = Metadata() md.datatype = u"GE PFile" md.exam_no = pf.exam_no md.series_no = pf.series_no md.acq_no = pf.acq_no md.exam_uid = nimsutil.pack_dicom_uid(pf.exam_uid) md.series_uid = nimsutil.pack_dicom_uid(pf.series_uid) md.psd_name = unicode(pf.psd_name) md.physio_flag = pf.physio_flag md.series_desc = nimsutil.clean_string(pf.series_desc) md.timestamp = pf.timestamp md.duration = pf.duration all_groups = [rg.id for rg in ResearchGroup.query.all()] md.subj_code, md.subj_fn, md.subj_ln, md.subj_dob = nimsutil.parse_subject(pf.patient_name, pf.patient_dob) md.group_name, md.exp_name = nimsutil.parse_patient_id(pf.patient_id, ResearchGroup.get_all_ids()) return md
def get_metadata(filename): try: dcm = nimsutil.dicomutil.DicomFile(filename) except nimsutil.dicomutil.DicomError: md = None else: md = Metadata() md.datatype = u"Dicom Files" md.exam_no = dcm.exam_no md.series_no = dcm.series_no md.acq_no = dcm.acq_no md.exam_uid = nimsutil.pack_dicom_uid(dcm.exam_uid) md.series_uid = nimsutil.pack_dicom_uid(dcm.series_uid) md.psd_name = unicode(dcm.psd_name) md.physio_flag = dcm.physio_flag md.series_desc = nimsutil.clean_string(dcm.series_desc) md.timestamp = dcm.timestamp md.duration = dcm.duration md.subj_code, md.subj_fn, md.subj_ln, md.subj_dob = nimsutil.parse_subject( dcm.patient_name, dcm.patient_dob ) md.group_name, md.exp_name = nimsutil.parse_patient_id(dcm.patient_id, ResearchGroup.get_all_ids()) return md