Commit 586739ecae59f3604b831e67e7636d16fdbbfb16
1 parent
661fb4fe
Exists in
master
and in
68 other branches
ENH: Removed list of list from dicom_grouper
Showing
2 changed files
with
23 additions
and
22 deletions
Show diff stats
invesalius/reader/dicom_grouper.py
| @@ -282,32 +282,29 @@ class DicomGroups: | @@ -282,32 +282,29 @@ class DicomGroups: | ||
| 282 | for x in xrange(size_tmp_list): | 282 | for x in xrange(size_tmp_list): |
| 283 | 283 | ||
| 284 | tmp1 = tmp_list[x] | 284 | tmp1 = tmp_list[x] |
| 285 | - | ||
| 286 | - | ||
| 287 | for m in xrange(len(tmp1.keys())): | 285 | for m in xrange(len(tmp1.keys())): |
| 288 | 286 | ||
| 289 | key = tmp1.keys()[m] | 287 | key = tmp1.keys()[m] |
| 290 | information = tmp1[key] | 288 | information = tmp1[key] |
| 289 | + | ||
| 291 | new_key = (information.patient.name, information.image.orientation_label, | 290 | new_key = (information.patient.name, information.image.orientation_label, |
| 292 | information.acquisition.serie_number) | 291 | information.acquisition.serie_number) |
| 293 | - | ||
| 294 | - | 292 | + |
| 295 | if (new_key in groups_dcm_.keys()): | 293 | if (new_key in groups_dcm_.keys()): |
| 296 | - groups_dcm_[new_key][0].append(information) | 294 | + groups_dcm_[new_key].append(information) |
| 297 | else: | 295 | else: |
| 298 | - groups_dcm_[new_key] = [[information]] | 296 | + groups_dcm_[new_key] = [information] |
| 299 | 297 | ||
| 300 | #the number of previously existing number is | 298 | #the number of previously existing number is |
| 301 | #greater or equal then the group keeps up, | 299 | #greater or equal then the group keeps up, |
| 302 | #but maintains the same group of positions. | 300 | #but maintains the same group of positions. |
| 303 | - if len(self.groups_dcm.keys()) > len(groups_dcm_.keys()): | ||
| 304 | - self.groups_dcm = groups_dcm_ | 301 | + #if len(self.groups_dcm.keys()) > len(groups_dcm_.keys()): |
| 302 | + self.groups_dcm = groups_dcm_ | ||
| 305 | 303 | ||
| 306 | - | ||
| 307 | for j in xrange(len(self.groups_dcm.keys())): | 304 | for j in xrange(len(self.groups_dcm.keys())): |
| 308 | key = self.groups_dcm.keys()[j] | 305 | key = self.groups_dcm.keys()[j] |
| 309 | - self.groups_dcm[key][0].sort(key=lambda x: x.image.number) | ||
| 310 | - | 306 | + self.groups_dcm[key].sort(key=lambda x: x.image.number) |
| 307 | + | ||
| 311 | 308 | ||
| 312 | def __UpdateZSpacing(self): | 309 | def __UpdateZSpacing(self): |
| 313 | """ | 310 | """ |
| @@ -315,23 +312,27 @@ class DicomGroups: | @@ -315,23 +312,27 @@ class DicomGroups: | ||
| 315 | """ | 312 | """ |
| 316 | 313 | ||
| 317 | for x in xrange(len(self.groups_dcm.keys())): | 314 | for x in xrange(len(self.groups_dcm.keys())): |
| 318 | - | 315 | + print len(self.groups_dcm.keys()) |
| 316 | + | ||
| 319 | key = self.groups_dcm.keys()[x] | 317 | key = self.groups_dcm.keys()[x] |
| 320 | information = self.groups_dcm[key][0] | 318 | information = self.groups_dcm[key][0] |
| 321 | - if (len(self.groups_dcm[key][0]) > 1): | 319 | + if (len(self.groups_dcm[key]) > 1): |
| 322 | #Catch a slice of middle and the next to find the spacing. | 320 | #Catch a slice of middle and the next to find the spacing. |
| 323 | - center = len(self.groups_dcm[key][0])/2 | 321 | + center = len(self.groups_dcm[key])/2 |
| 324 | if (center == 1): | 322 | if (center == 1): |
| 325 | center = 0 | 323 | center = 0 |
| 326 | 324 | ||
| 327 | - information = self.groups_dcm[key][0][center] | 325 | + information = self.groups_dcm[key][center] |
| 328 | current_position = information.image.position | 326 | current_position = information.image.position |
| 329 | 327 | ||
| 330 | - information = self.groups_dcm[key][0][center + 1] | 328 | + information = self.groups_dcm[key][center + 1] |
| 331 | next_position = information.image.position | 329 | next_position = information.image.position |
| 332 | 330 | ||
| 333 | try: | 331 | try: |
| 334 | - image_orientation_label = self.groups_dcm.keys()[x][3] | 332 | + information = self.groups_dcm[self.groups_dcm.keys()[x]][3] |
| 333 | + image_orientation_label = information.image.orientation_label | ||
| 334 | + print image_orientation_label | ||
| 335 | + | ||
| 335 | except(IndexError): | 336 | except(IndexError): |
| 336 | image_orientation_label = None | 337 | image_orientation_label = None |
| 337 | 338 | ||
| @@ -347,6 +348,6 @@ class DicomGroups: | @@ -347,6 +348,6 @@ class DicomGroups: | ||
| 347 | else: | 348 | else: |
| 348 | spacing = None | 349 | spacing = None |
| 349 | 350 | ||
| 350 | - for information in self.groups_dcm[key][0]: | 351 | + for information in self.groups_dcm[key]: |
| 351 | if information.image.spacing: | 352 | if information.image.spacing: |
| 352 | information.image.spacing[2] = spacing | 353 | information.image.spacing[2] = spacing |
invesalius/reader/dicom_reader.py
| @@ -45,8 +45,8 @@ def LoadImages(dir_): | @@ -45,8 +45,8 @@ def LoadImages(dir_): | ||
| 45 | for x in xrange(len(groups.keys())): | 45 | for x in xrange(len(groups.keys())): |
| 46 | key = groups.keys()[x] | 46 | key = groups.keys()[x] |
| 47 | 47 | ||
| 48 | - for y in xrange(len(groups[key][0])): | ||
| 49 | - dicom = groups[key][0][y] | 48 | + for y in xrange(len(groups[key])): |
| 49 | + dicom = groups[key][y] | ||
| 50 | file = dicom.image.file | 50 | file = dicom.image.file |
| 51 | tmp_list.append(file) | 51 | tmp_list.append(file) |
| 52 | 52 | ||
| @@ -59,8 +59,8 @@ def LoadImages(dir_): | @@ -59,8 +59,8 @@ def LoadImages(dir_): | ||
| 59 | return None | 59 | return None |
| 60 | 60 | ||
| 61 | file_list = [] | 61 | file_list = [] |
| 62 | - for x in xrange(len(groups[key][0])): | ||
| 63 | - dicom = groups[key][0][x] | 62 | + for x in xrange(len(groups[key])): |
| 63 | + dicom = groups[key][x] | ||
| 64 | file_list.append(dicom.image.file) | 64 | file_list.append(dicom.image.file) |
| 65 | 65 | ||
| 66 | files = file_list | 66 | files = file_list |