Commit 9cf1b5c4cce49cb82a38f86a57ce405066686edc
1 parent
a5da43e3
Exists in
master
and in
6 other branches
ENH: Removing duplicated dicom reading in preview
Showing
2 changed files
with
20 additions
and
10 deletions
Show diff stats
invesalius/gui/dicom_preview_panel.py
@@ -202,9 +202,9 @@ class SingleImagePreview(wx.Panel): | @@ -202,9 +202,9 @@ class SingleImagePreview(wx.Panel): | ||
202 | self.text_acquisition.SetValue(value) | 202 | self.text_acquisition.SetValue(value) |
203 | 203 | ||
204 | # READ FILE | 204 | # READ FILE |
205 | - filename = dicom.image.file | ||
206 | - reader = vtkgdcm.vtkGDCMImageReader() | ||
207 | - reader.SetFileName(filename) | 205 | + #filename = dicom.image.file |
206 | + #reader = vtkgdcm.vtkGDCMImageReader() | ||
207 | + #reader.SetFileName(filename) | ||
208 | 208 | ||
209 | # ADJUST CONTRAST | 209 | # ADJUST CONTRAST |
210 | window_level = dicom.image.level | 210 | window_level = dicom.image.level |
@@ -214,7 +214,7 @@ class SingleImagePreview(wx.Panel): | @@ -214,7 +214,7 @@ class SingleImagePreview(wx.Panel): | ||
214 | print window_level | 214 | print window_level |
215 | print window_width | 215 | print window_width |
216 | colorer = vtk.vtkImageMapToWindowLevelColors() | 216 | colorer = vtk.vtkImageMapToWindowLevelColors() |
217 | - colorer.SetInput(reader.GetOutput()) | 217 | + colorer.SetInput(dicom.image.imagedata) |
218 | colorer.SetWindow(float(window_width)) | 218 | colorer.SetWindow(float(window_width)) |
219 | colorer.SetLevel(float(window_level)) | 219 | colorer.SetLevel(float(window_level)) |
220 | 220 | ||
@@ -223,6 +223,9 @@ class SingleImagePreview(wx.Panel): | @@ -223,6 +223,9 @@ class SingleImagePreview(wx.Panel): | ||
223 | self.renderer.ResetCamera() | 223 | self.renderer.ResetCamera() |
224 | self.interactor.Render() | 224 | self.interactor.Render() |
225 | 225 | ||
226 | + def __del__(self): | ||
227 | + print "---------> morri" | ||
228 | + | ||
226 | 229 | ||
227 | 230 | ||
228 | myEVT_SELECT = wx.NewEventType() | 231 | myEVT_SELECT = wx.NewEventType() |
@@ -412,9 +415,11 @@ class Preview(wx.Panel): | @@ -412,9 +415,11 @@ class Preview(wx.Panel): | ||
412 | 415 | ||
413 | self.ID = image_file[5] | 416 | self.ID = image_file[5] |
414 | 417 | ||
415 | - image_reader = vtkgdcm.vtkGDCMImageReader() | ||
416 | - image_reader.SetFileName(image_file[0]) | ||
417 | - image = image_reader.GetOutput() | 418 | + #image_reader = vtkgdcm.vtkGDCMImageReader() |
419 | + #image_reader.SetFileName(image_file[0]) | ||
420 | + #image = image_reader.GetOutput() | ||
421 | + | ||
422 | + image = image_file[0] | ||
418 | 423 | ||
419 | scale = image.GetScalarRange() | 424 | scale = image.GetScalarRange() |
420 | 425 | ||
@@ -595,7 +600,7 @@ class DicomPreviewSeries(wx.Panel): | @@ -595,7 +600,7 @@ class DicomPreviewSeries(wx.Panel): | ||
595 | self.group_list = group_list | 600 | self.group_list = group_list |
596 | n = 0 | 601 | n = 0 |
597 | for group in group_list: | 602 | for group in group_list: |
598 | - info = (group.dicom.image.file, | 603 | + info = (group.dicom.image.imagedata, |
599 | float(group.dicom.image.window), | 604 | float(group.dicom.image.window), |
600 | float(group.dicom.image.level), | 605 | float(group.dicom.image.level), |
601 | group.title, | 606 | group.title, |
@@ -699,6 +704,7 @@ class DicomPreview(wx.Panel): | @@ -699,6 +704,7 @@ class DicomPreview(wx.Panel): | ||
699 | self.Bind(wx.EVT_SCROLL, self.OnScroll) | 704 | self.Bind(wx.EVT_SCROLL, self.OnScroll) |
700 | 705 | ||
701 | def SetDicomDirectory(self, directory): | 706 | def SetDicomDirectory(self, directory): |
707 | + print "Setting Dicom Directory", directory | ||
702 | self.directory = directory | 708 | self.directory = directory |
703 | self.series = dicom_reader.GetSeries(directory)[0] | 709 | self.series = dicom_reader.GetSeries(directory)[0] |
704 | 710 | ||
@@ -715,7 +721,7 @@ class DicomPreview(wx.Panel): | @@ -715,7 +721,7 @@ class DicomPreview(wx.Panel): | ||
715 | dicom_files = group.GetHandSortedList() | 721 | dicom_files = group.GetHandSortedList() |
716 | n = 0 | 722 | n = 0 |
717 | for dicom in dicom_files: | 723 | for dicom in dicom_files: |
718 | - info = (dicom.image.file, | 724 | + info = (dicom.image.imagedata, |
719 | dicom.image.window, | 725 | dicom.image.window, |
720 | dicom.image.level, | 726 | dicom.image.level, |
721 | "Image %d" % (dicom.image.number), | 727 | "Image %d" % (dicom.image.number), |
@@ -740,7 +746,7 @@ class DicomPreview(wx.Panel): | @@ -740,7 +746,7 @@ class DicomPreview(wx.Panel): | ||
740 | dicom_files = group.GetHandSortedList() | 746 | dicom_files = group.GetHandSortedList() |
741 | n = 0 | 747 | n = 0 |
742 | for dicom in dicom_files: | 748 | for dicom in dicom_files: |
743 | - info = (dicom.image.file, | 749 | + info = (dicom.image.imagedata, |
744 | dicom.image.window, | 750 | dicom.image.window, |
745 | dicom.image.level, | 751 | dicom.image.level, |
746 | "Image %d" % (dicom.image.number), | 752 | "Image %d" % (dicom.image.number), |
invesalius/reader/dicom.py
@@ -207,6 +207,9 @@ class Parser(): | @@ -207,6 +207,9 @@ class Parser(): | ||
207 | 207 | ||
208 | return False | 208 | return False |
209 | 209 | ||
210 | + def GetImageData(self): | ||
211 | + return self.vtkgdcm_reader.GetOutput() | ||
212 | + | ||
210 | def GetImageWindowLevel(self, preset=WL_PRESET, multiple=WL_MULT): | 213 | def GetImageWindowLevel(self, preset=WL_PRESET, multiple=WL_MULT): |
211 | """ | 214 | """ |
212 | Return image window center / level (related to brightness). | 215 | Return image window center / level (related to brightness). |
@@ -1820,6 +1823,7 @@ class Image(object): | @@ -1820,6 +1823,7 @@ class Image(object): | ||
1820 | self.time = parser.GetImageTime() | 1823 | self.time = parser.GetImageTime() |
1821 | self.type = parser.GetImageType() | 1824 | self.type = parser.GetImageType() |
1822 | self.size = (parser.GetDimensionX(), parser.GetDimensionY()) | 1825 | self.size = (parser.GetDimensionX(), parser.GetDimensionY()) |
1826 | + self.imagedata = parser.GetImageData() | ||
1823 | 1827 | ||
1824 | if (parser.GetImageThickness()): | 1828 | if (parser.GetImageThickness()): |
1825 | try: | 1829 | try: |