Commit d160d17fc03911711195e5db4735d3cb4cbe5309

Authored by tatiana
1 parent bc3ba9d1

FIX: #68 DICOM enconding == None

Showing 1 changed file with 15 additions and 8 deletions   Show diff stats
invesalius/reader/dicom.py
... ... @@ -1137,8 +1137,13 @@ class Parser():
1137 1137 data = self.vtkgdcm_reader.GetMedicalImageProperties()\
1138 1138 .GetPatientName()
1139 1139 if (data):
1140   - # Returns a unicode decoded in the own dicom encoding
1141   - return data.strip().decode(self.GetEncoding())
  1140 + name = data.strip()
  1141 + encoding = self.GetEncoding()
  1142 + if encoding != None:
  1143 + # Returns a unicode decoded in the own dicom encoding
  1144 + return name.decode(encoding)
  1145 + else:
  1146 + return name.strip()
1142 1147 return ""
1143 1148  
1144 1149 def GetPatientID(self):
... ... @@ -1152,8 +1157,12 @@ class Parser():
1152 1157 data = self.vtkgdcm_reader.GetMedicalImageProperties()\
1153 1158 .GetPatientID()
1154 1159 if (data):
1155   - # Returns a unicode decoded in the own dicom encoding
1156   - return data.decode(self.GetEncoding())
  1160 + encoding = self.GetEncoding()
  1161 + if encoding != None:
  1162 + # Returns a unicode decoded in the own dicom encoding
  1163 + return data.decode(self.GetEncoding())
  1164 + else:
  1165 + return data
1157 1166 return ""
1158 1167  
1159 1168  
... ... @@ -1496,13 +1505,11 @@ class Parser():
1496 1505 Return the dicom encoding
1497 1506 DICOM standard tag (0x0008, 0x0005) was used.
1498 1507 """
1499   - if self.encoding:
1500   - return self.encoding
1501 1508 tag = gdcm.Tag(0x0008, 0x0005)
1502 1509 ds = self.gdcm_reader.GetFile().GetDataSet()
1503 1510 if ds.FindDataElement(tag):
1504   - self.encoding = str(ds.GetDataElement(tag).GetValue())
1505   - return self.encoding
  1511 + encoding = str(ds.GetDataElement(tag).GetValue())
  1512 + return encoding
1506 1513  
1507 1514  
1508 1515 class DicomWriter:
... ...