Commit e95a97e6a528dc9c03fb39713b51239eed862fa2

Authored by Paulo Henrique Junqueira Amorim
1 parent 31c79184

ENH: Optimize time of importation

Showing 1 changed file with 18 additions and 24 deletions   Show diff stats
invesalius/reader/dicom_reader.py
... ... @@ -158,11 +158,13 @@ def GetImageOrientationLabel(filename):
158 158 else:
159 159 return ""
160 160  
  161 +grouper = dicom_grouper.DicomPatientGrouper()
161 162  
162 163 def GetDicomGroups(directory, recursive=True, gui=True):
163 164 """
164 165 Return all full paths to DICOM files inside given directory.
165 166 """
  167 +
166 168 nfiles = 0
167 169 # Find total number of files
168 170 if recursive:
... ... @@ -255,37 +257,29 @@ def GetDicomGroups(directory, recursive=True, gui=True):
255 257 data_dict['invesalius'] = {'orientation_label' : GetImageOrientationLabel(filename)}
256 258  
257 259 # -------------------------------------------------------------
258   -
259   - dict_file[os.path.abspath(filename)] = data_dict
  260 + filepath = os.path.abspath(filename)
  261 + dict_file[filepath] = data_dict
  262 +
  263 + if (data_dict['0002']['0002'] != "1.2.840.10008.1.3.10"): #DICOMDIR
  264 + parser = dicom.Parser()
  265 + parser.SetDataImage(dict_file[filepath], filepath)
  266 +
  267 + dcm = dicom.Dicom()
  268 + dcm.SetParser(parser)
  269 + grouper.AddFile(dcm)
260 270  
261   - main_dict = dict(
262   - data = dict_file,
263   - labels = tag_labels)
  271 +
  272 + #------- to test -------------------------------------
  273 + #main_dict = dict(
  274 + # data = dict_file,
  275 + # labels = tag_labels)
264 276  
265 277 #plistlib.writePlist(main_dict, ".//teste.plist")
266   -
267   - images = main_dict['data']
268   - grouper = dicom_grouper.DicomPatientGrouper()
269   -
270   - for x in images.keys():
271   - data_image = images[x]
272   -
273   - if (data_image['0002']['0002'] != "1.2.840.10008.1.3.10"): #DICOMDIR
274   - parser = dicom.Parser()
275   - parser.SetDataImage(data_image, x)
276   -
277   - dcm = dicom.Dicom()
278   - dcm.SetParser(parser)
279   - grouper.AddFile(dcm)
280 278  
281 279 grouper.Update()
282 280  
283   -
284   -
285 281 return grouper.GetPatientsGroups()
286   - #print "_____________________________________"
287   - #print dirpath
288   - #nfiles += len(filenames)
  282 +
289 283 else:
290 284 pass
291 285 #dirpath, dirnames, filenames = os.walk(directory)
... ...