Commit f3bf427920feac1e8264c46aa7ece08300fef0dc
1 parent
2b4b1746
Exists in
master
and in
68 other branches
FIX: Error getting date from dicom (case \_other\DICOM Dornelas\)
Showing
1 changed file
with
15 additions
and
9 deletions
Show diff stats
invesalius/reader/dicom.py
... | ... | @@ -17,6 +17,7 @@ |
17 | 17 | # PARTICULAR. Consulte a Licenca Publica Geral GNU para obter mais |
18 | 18 | # detalhes. |
19 | 19 | #--------------------------------------------------------------------- |
20 | +from numpy.lib import type_check | |
20 | 21 | |
21 | 22 | # In DICOM file format, if multiple values are present for the |
22 | 23 | # "Window Center" (Level) and "Window Width", both attributes |
... | ... | @@ -1438,16 +1439,21 @@ class Parser(): |
1438 | 1439 | def __format_date(self, value): |
1439 | 1440 | |
1440 | 1441 | sp1 = value.split(".") |
1441 | - if (len(sp1) > 1): | |
1442 | - if (len(sp1[0]) <= 2): | |
1443 | - data = time.strptime(value, "%D.%M.%Y") | |
1442 | + try: | |
1443 | + | |
1444 | + if (len(sp1) > 1): | |
1445 | + if (len(sp1[0]) <= 2): | |
1446 | + data = time.strptime(value, "%D.%M.%Y") | |
1447 | + else: | |
1448 | + data = time.strptime(value, "%Y.%M.%d") | |
1449 | + elif(len(value.split("//")) > 1): | |
1450 | + data = time.strptime(value, "%D/%M/%Y") | |
1444 | 1451 | else: |
1445 | - data = time.strptime(value, "%Y.%M.%d") | |
1446 | - elif(len(value.split("//")) > 1): | |
1447 | - data = time.strptime(value, "%D/%M/%Y") | |
1448 | - else: | |
1449 | - data = time.strptime(value, "%Y%M%d") | |
1450 | - return time.strftime("%d/%M/%Y",data) | |
1452 | + data = time.strptime(value, "%Y%M%d") | |
1453 | + return time.strftime("%d/%M/%Y",data) | |
1454 | + | |
1455 | + except(ValueError): | |
1456 | + return "" | |
1451 | 1457 | |
1452 | 1458 | def GetAcquisitionTime(self): |
1453 | 1459 | """ | ... | ... |