Skip to content

Commit 541683a

Browse files
authored
Merge pull request #756 from yarikoptic/fix_emptydate
Handle cases where dates/times in DICOM are empty strings, not Nones (e.g. after some anonymization)
2 parents 7caff37 + b3cfd73 commit 541683a

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

heudiconv/dicoms.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -526,18 +526,18 @@ def get_datetime_from_dcm(dcm_data: dcm.FileDataset) -> Optional[datetime.dateti
526526
3. SeriesDate & SeriesTime (0008,0021); (0008,0031)
527527
528528
"""
529-
acq_date = dcm_data.get("AcquisitionDate")
530-
acq_time = dcm_data.get("AcquisitionTime")
531-
if not (acq_date is None or acq_time is None):
529+
acq_date = dcm_data.get("AcquisitionDate", "").strip()
530+
acq_time = dcm_data.get("AcquisitionTime", "").strip()
531+
if acq_date and acq_time:
532532
return strptime_micr(acq_date + acq_time, "%Y%m%d%H%M%S[.%f]")
533533

534-
acq_dt = dcm_data.get("AcquisitionDateTime")
535-
if acq_dt is not None:
534+
acq_dt = dcm_data.get("AcquisitionDateTime", "").strip()
535+
if acq_dt:
536536
return strptime_micr(acq_dt, "%Y%m%d%H%M%S[.%f]")
537537

538-
series_date = dcm_data.get("SeriesDate")
539-
series_time = dcm_data.get("SeriesTime")
540-
if not (series_date is None or series_time is None):
538+
series_date = dcm_data.get("SeriesDate", "").strip()
539+
series_time = dcm_data.get("SeriesTime", "").strip()
540+
if series_date and series_time:
541541
return strptime_micr(series_date + series_time, "%Y%m%d%H%M%S[.%f]")
542542
return None
543543

0 commit comments

Comments
 (0)