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 | 282 | for x in xrange(size_tmp_list): |
| 283 | 283 | |
| 284 | 284 | tmp1 = tmp_list[x] |
| 285 | - | |
| 286 | - | |
| 287 | 285 | for m in xrange(len(tmp1.keys())): |
| 288 | 286 | |
| 289 | 287 | key = tmp1.keys()[m] |
| 290 | 288 | information = tmp1[key] |
| 289 | + | |
| 291 | 290 | new_key = (information.patient.name, information.image.orientation_label, |
| 292 | 291 | information.acquisition.serie_number) |
| 293 | - | |
| 294 | - | |
| 292 | + | |
| 295 | 293 | if (new_key in groups_dcm_.keys()): |
| 296 | - groups_dcm_[new_key][0].append(information) | |
| 294 | + groups_dcm_[new_key].append(information) | |
| 297 | 295 | else: |
| 298 | - groups_dcm_[new_key] = [[information]] | |
| 296 | + groups_dcm_[new_key] = [information] | |
| 299 | 297 | |
| 300 | 298 | #the number of previously existing number is |
| 301 | 299 | #greater or equal then the group keeps up, |
| 302 | 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 | 304 | for j in xrange(len(self.groups_dcm.keys())): |
| 308 | 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 | 309 | def __UpdateZSpacing(self): |
| 313 | 310 | """ |
| ... | ... | @@ -315,23 +312,27 @@ class DicomGroups: |
| 315 | 312 | """ |
| 316 | 313 | |
| 317 | 314 | for x in xrange(len(self.groups_dcm.keys())): |
| 318 | - | |
| 315 | + print len(self.groups_dcm.keys()) | |
| 316 | + | |
| 319 | 317 | key = self.groups_dcm.keys()[x] |
| 320 | 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 | 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 | 322 | if (center == 1): |
| 325 | 323 | center = 0 |
| 326 | 324 | |
| 327 | - information = self.groups_dcm[key][0][center] | |
| 325 | + information = self.groups_dcm[key][center] | |
| 328 | 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 | 329 | next_position = information.image.position |
| 332 | 330 | |
| 333 | 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 | 336 | except(IndexError): |
| 336 | 337 | image_orientation_label = None |
| 337 | 338 | |
| ... | ... | @@ -347,6 +348,6 @@ class DicomGroups: |
| 347 | 348 | else: |
| 348 | 349 | spacing = None |
| 349 | 350 | |
| 350 | - for information in self.groups_dcm[key][0]: | |
| 351 | + for information in self.groups_dcm[key]: | |
| 351 | 352 | if information.image.spacing: |
| 352 | 353 | information.image.spacing[2] = spacing | ... | ... |
invesalius/reader/dicom_reader.py
| ... | ... | @@ -45,8 +45,8 @@ def LoadImages(dir_): |
| 45 | 45 | for x in xrange(len(groups.keys())): |
| 46 | 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 | 50 | file = dicom.image.file |
| 51 | 51 | tmp_list.append(file) |
| 52 | 52 | |
| ... | ... | @@ -59,8 +59,8 @@ def LoadImages(dir_): |
| 59 | 59 | return None |
| 60 | 60 | |
| 61 | 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 | 64 | file_list.append(dicom.image.file) |
| 65 | 65 | |
| 66 | 66 | files = file_list | ... | ... |