Commit 6929d2c75c8d8d36e03aaefc96bcdb6736305623

Authored by tatiana
1 parent 35f8c809

ENC: New implementation of GetDicomFiles method, created GetSeries method

Showing 1 changed file with 39 additions and 15 deletions   Show diff stats
invesalius/reader/dicom_reader.py
... ... @@ -31,13 +31,7 @@ from data.imagedata_utils import ResampleImage2D
31 31 def LoadImages(dir_):
32 32 # TODO!!! SUPER GAMBIARRA!!! DO THIS BETTER
33 33  
34   - if 0:
35   - fow = vtk.vtkFileOutputWindow()
36   - fow.SetFileName('vtk_output.txt')
37   - ow = vtk.vtkOutputWindow ()
38   - ow.SetInstance (fow)
39   -
40   - dcm_files, acquisition_modality = GetDicomFiles(dir_)
  34 + dcm_files = GetDicomFiles(dir_)
41 35  
42 36 dcm_series = dicom_grouper.DicomGroups()
43 37 dcm_series.SetFileList(dcm_files)
... ... @@ -70,9 +64,6 @@ def LoadImages(dir_):
70 64 file_list.append(dicom.image.file)
71 65  
72 66 files = file_list
73   - print "*********"
74   - print file_list
75   - print "*********"
76 67 spacing = dicom.image.spacing
77 68  
78 69 #Coronal Crash. necessary verify
... ... @@ -128,7 +119,7 @@ def LoadImages(dir_):
128 119  
129 120 return image_data, dicom
130 121  
131   -def GetDicomFiles(path, recursive = False):
  122 +def GetDicomFilesOld(path, recursive = False):
132 123 # TODO!!! SUPER GAMBIARRA!!! DO THIS BETTER
133 124 """
134 125 Separate only files of a DICOM Determined
... ... @@ -136,7 +127,6 @@ def GetDicomFiles(path, recursive = False):
136 127 the directory. (recursive = True)
137 128 """
138 129 result = []
139   - acquisition_modality = None
140 130  
141 131 if (recursive == True):
142 132  
... ... @@ -151,7 +141,6 @@ def GetDicomFiles(path, recursive = False):
151 141 read_dicom = dicom.Parser()
152 142 if(read_dicom.SetFileName(path)):
153 143 if (read_dicom.GetImagePosition()):
154   - acquisition_modality = read_dicom.GetAcquisitionModality()
155 144 result.append(path)
156 145 else:
157 146 files = glob.glob(path + os.sep + "*")
... ... @@ -159,6 +148,41 @@ def GetDicomFiles(path, recursive = False):
159 148 read_dicom = dicom.Parser()
160 149 if (read_dicom.SetFileName(files[x])):
161 150 result.append(files[x])
162   - acquisition_modality = read_dicom.GetAcquisitionModality()
163 151 # TODO!!! SUPER GAMBIARRA!!! DO THIS BETTER
164   - return result, acquisition_modality
  152 + return result
  153 +
  154 +def GetSeries(path):
  155 + """
  156 + Return DICOM group of files inside given directory.
  157 + """
  158 + dcm_files = GetDicomFiles(path)
  159 +
  160 + dcm_series = dicom_grouper.DicomGroups()
  161 + dcm_series.SetFileList(dcm_files)
  162 + dcm_series.Update()
  163 +
  164 + return dcm_series.GetOutput()
  165 +
  166 +def GetDicomFiles(path):
  167 + """
  168 + Return all full paths to DICOM files inside given directory.
  169 + """
  170 + list_paths = os.walk(path)
  171 +
  172 + # Recursivelly, find all files inside this folder
  173 + file_list = []
  174 + for p in list_paths:
  175 + p_file_list = p[-1]
  176 + file_path = p[0]
  177 + for filename in p_file_list:
  178 + file_list.append(str(os.path.join(file_path,filename)))
  179 +
  180 + # Check if given file is in DICOM format
  181 + dicom_files = []
  182 + for file in file_list:
  183 + read_dicom = dicom.Parser()
  184 + if (read_dicom.SetFileName(file)):
  185 + dicom_files.append(file)
  186 +
  187 +
  188 + return dicom_files
... ...