diff --git a/invesalius/control.py b/invesalius/control.py index b7a1560..a872290 100755 --- a/invesalius/control.py +++ b/invesalius/control.py @@ -9,7 +9,7 @@ import project as prj import data.imagedata_utils as utils import data.surface as surface import data.volume as volume -import reader.dicom_reader as dicom +import reader.dicom_reader as dcm import reader.analyze_reader as analyze DEFAULT_THRESH_MODE = 0 @@ -45,21 +45,22 @@ class Controller(): dir_ = pubsub_evt.data # Select medical images from directory and generate vtkImageData - output = dicom.LoadImages(dir_) + output = dcm.LoadImages(dir_) proj = prj.Project() proj.name = "Untitled" if output: - imagedata, acquisition_modality, tilt_value, orientation,\ - window, level = output - + #acquisition_modality, tilt_value, orientation,window, level + imagedata, dicom = output + orientation = dicom.image.orientation_label if (orientation == "CORONAL"): orientation = const.CORONAL elif(orientation == "SAGITTAL"): orientation = const.SAGITAL else: orientation = const.AXIAL - + + tilt_value = dicom.acquisition.tilt if (tilt_value): #TODO: Show dialog so user can set not other value tilt_value *= -1 @@ -86,11 +87,11 @@ class Controller(): print "Sorry, but there are no medical images supported on this dir." else: # Create new project - proj.SetAcquisitionModality(acquisition_modality) + proj.SetAcquisitionModality(dicom.acquisition.modality) proj.imagedata = imagedata proj.original_orientation = orientation - proj.window = window = float(window) - proj.level = level = float(level) + proj.window = window = float(dicom.image.window) + proj.level = level = float(dicom.image.level) const.WINDOW_LEVEL['Default'] = (window, level) const.WINDOW_LEVEL['Other'] = (window, level) diff --git a/invesalius/reader/dicom.py b/invesalius/reader/dicom.py index 1f02f5c..844de74 100644 --- a/invesalius/reader/dicom.py +++ b/invesalius/reader/dicom.py @@ -1668,6 +1668,7 @@ class Acquisition(object): self.tilt = parser.GetAcquisitionGantryTilt() self.serie_number = parser.GetImageSeriesNumber() self.id_study = parser.GetStudyID() + self.modality = parser.GetAcquisitionModality() class Image(object): diff --git a/invesalius/reader/dicom_reader.py b/invesalius/reader/dicom_reader.py index 0dfb15e..1424092 100644 --- a/invesalius/reader/dicom_reader.py +++ b/invesalius/reader/dicom_reader.py @@ -69,17 +69,9 @@ def LoadImages(dir_): dicom = groups[key][0][x] file_list.append(dicom.image.file) - information = groups[key][0][x] - - tilt = dicom.acquisition.tilt#groups[key][0][x][11] - spacing = dicom.image.spacing#groups[key][1][14] - #spacing_z = #groups[key][1][30] - orientation = dicom.image.orientation_label#groups[key][0][x][7] - window = dicom.image.window#groups[key][0][x][12] - level = dicom.image.level#groups[key][0][x][13] - files = file_list - print dicom.image.orientation_label + spacing = dicom.image.spacing + #Coronal Crash. necessary verify if (dicom.image.orientation_label <> "CORONAL"): #Organize reversed image @@ -87,6 +79,7 @@ def LoadImages(dir_): sorter.SetComputeZSpacing(True) sorter.SetZSpacingTolerance(1e-10) sorter.Sort(file_list) + #Getting organized image files = sorter.GetFilenames() @@ -130,7 +123,7 @@ def LoadImages(dir_): image_data.Update() - return image_data, acquisition_modality, tilt, orientation, window, level + return image_data, dicom def GetDicomFiles(path, recursive = False): # TODO!!! SUPER GAMBIARRA!!! DO THIS BETTER -- libgit2 0.21.2