Commit 73a81e6b6012d163beedc1c4304981b1a9c80c11
1 parent
5583d277
Exists in
master
and in
2 other branches
Some changes to make invesalius run as a mac app
Showing
14 changed files
with
5 additions
and
36 deletions
Show diff stats
invesalius/control.py
@@ -630,4 +630,4 @@ class Controller(): | @@ -630,4 +630,4 @@ class Controller(): | ||
630 | 630 | ||
631 | def ShowBooleanOpDialog(self, pubsub_evt): | 631 | def ShowBooleanOpDialog(self, pubsub_evt): |
632 | dlg = dialogs.MaskBooleanDialog(prj.Project().mask_dict) | 632 | dlg = dialogs.MaskBooleanDialog(prj.Project().mask_dict) |
633 | - dlg.ShowModal() | 633 | + dlg.Show() |
invesalius/data/cursor_actors.py
@@ -312,8 +312,6 @@ class CursorCircle(CursorBase): | @@ -312,8 +312,6 @@ class CursorCircle(CursorBase): | ||
312 | 312 | ||
313 | y,x = numpy.ogrid[yi:yf, xi:xf] | 313 | y,x = numpy.ogrid[yi:yf, xi:xf] |
314 | 314 | ||
315 | - print "AREA", x | ||
316 | - | ||
317 | index = (y*sy)**2 + (x*sx)**2 <= r**2 | 315 | index = (y*sy)**2 + (x*sx)**2 <= r**2 |
318 | self.points = index | 316 | self.points = index |
319 | 317 |
invesalius/data/slice_.py
@@ -370,7 +370,6 @@ class Slice(object): | @@ -370,7 +370,6 @@ class Slice(object): | ||
370 | # "if" is necessary because wx events are calling this before any mask | 370 | # "if" is necessary because wx events are calling this before any mask |
371 | # has been created | 371 | # has been created |
372 | print "__show_mask" | 372 | print "__show_mask" |
373 | - print "self.current_mask", self.current_mask | ||
374 | if self.current_mask: | 373 | if self.current_mask: |
375 | index, value = pubsub_evt.data | 374 | index, value = pubsub_evt.data |
376 | self.ShowMask(index, value) | 375 | self.ShowMask(index, value) |
@@ -805,7 +804,6 @@ class Slice(object): | @@ -805,7 +804,6 @@ class Slice(object): | ||
805 | """ | 804 | """ |
806 | self.current_mask.was_edited = False | 805 | self.current_mask.was_edited = False |
807 | thresh_min, thresh_max = threshold_range | 806 | thresh_min, thresh_max = threshold_range |
808 | - print "Threshold" | ||
809 | 807 | ||
810 | if self.current_mask.index == index: | 808 | if self.current_mask.index == index: |
811 | # TODO: find out a better way to do threshold | 809 | # TODO: find out a better way to do threshold |
@@ -817,7 +815,6 @@ class Slice(object): | @@ -817,7 +815,6 @@ class Slice(object): | ||
817 | m[m == 1] = 255 | 815 | m[m == 1] = 255 |
818 | self.current_mask.matrix[n+1, 1:, 1:] = m | 816 | self.current_mask.matrix[n+1, 1:, 1:] = m |
819 | else: | 817 | else: |
820 | - print "Only one slice" | ||
821 | slice_ = self.buffer_slices[orientation].image | 818 | slice_ = self.buffer_slices[orientation].image |
822 | self.buffer_slices[orientation].mask = (255 * ((slice_ >= thresh_min) & (slice_ <= thresh_max))).astype('uint8') | 819 | self.buffer_slices[orientation].mask = (255 * ((slice_ >= thresh_min) & (slice_ <= thresh_max))).astype('uint8') |
823 | 820 | ||
@@ -873,7 +870,6 @@ class Slice(object): | @@ -873,7 +870,6 @@ class Slice(object): | ||
873 | #--------------------------------------------------------------------------- | 870 | #--------------------------------------------------------------------------- |
874 | 871 | ||
875 | def CreateSurfaceFromIndex(self, pubsub_evt): | 872 | def CreateSurfaceFromIndex(self, pubsub_evt): |
876 | - print pubsub_evt.data | ||
877 | surface_parameters = pubsub_evt.data | 873 | surface_parameters = pubsub_evt.data |
878 | 874 | ||
879 | proj = Project() | 875 | proj = Project() |
@@ -1112,7 +1108,6 @@ class Slice(object): | @@ -1112,7 +1108,6 @@ class Slice(object): | ||
1112 | else: | 1108 | else: |
1113 | thresh_min, thresh_max = self.current_mask.threshold_range | 1109 | thresh_min, thresh_max = self.current_mask.threshold_range |
1114 | 1110 | ||
1115 | - print ">>>> THreshold", thresh_min, thresh_max | ||
1116 | m = (((slice_matrix >= thresh_min) & (slice_matrix <= thresh_max)) * 255) | 1111 | m = (((slice_matrix >= thresh_min) & (slice_matrix <= thresh_max)) * 255) |
1117 | m[mask == 1] = 1 | 1112 | m[mask == 1] = 1 |
1118 | m[mask == 2] = 2 | 1113 | m[mask == 2] = 2 |
@@ -1380,8 +1375,6 @@ class Slice(object): | @@ -1380,8 +1375,6 @@ class Slice(object): | ||
1380 | for buffer_ in self.buffer_slices.values(): | 1375 | for buffer_ in self.buffer_slices.values(): |
1381 | buffer_.discard_buffer() | 1376 | buffer_.discard_buffer() |
1382 | 1377 | ||
1383 | - print type(self.matrix) | ||
1384 | - | ||
1385 | def OnExportMask(self, pubsub_evt): | 1378 | def OnExportMask(self, pubsub_evt): |
1386 | pass | 1379 | pass |
1387 | ##imagedata = self.current_mask.imagedata | 1380 | ##imagedata = self.current_mask.imagedata |
invesalius/data/styles.py
@@ -1381,9 +1381,6 @@ class WaterShedInteractorStyle(DefaultInteractorStyle): | @@ -1381,9 +1381,6 @@ class WaterShedInteractorStyle(DefaultInteractorStyle): | ||
1381 | ##tmp_image = ndimage.morphological_gradient((image - image.min()).astype('uint16'), self.config.mg_size) | 1381 | ##tmp_image = ndimage.morphological_gradient((image - image.min()).astype('uint16'), self.config.mg_size) |
1382 | #tmp_mask = watershed_ift(tmp_image, markers.astype('int8'), bstruct) | 1382 | #tmp_mask = watershed_ift(tmp_image, markers.astype('int8'), bstruct) |
1383 | 1383 | ||
1384 | - print "mask.max >>>", tmp_mask.max() | ||
1385 | - print "mask.min >>>", tmp_mask.min() | ||
1386 | - | ||
1387 | if self.viewer.overwrite_mask: | 1384 | if self.viewer.overwrite_mask: |
1388 | mask[:] = 0 | 1385 | mask[:] = 0 |
1389 | mask[tmp_mask == 1] = 253 | 1386 | mask[tmp_mask == 1] = 253 |
invesalius/data/viewer_slice.py
@@ -1228,7 +1228,6 @@ class Viewer(wx.Panel): | @@ -1228,7 +1228,6 @@ class Viewer(wx.Panel): | ||
1228 | "Inserting actors" | 1228 | "Inserting actors" |
1229 | actors, n = pubsub_evt.data | 1229 | actors, n = pubsub_evt.data |
1230 | pos = self.scroll.GetThumbPosition() | 1230 | pos = self.scroll.GetThumbPosition() |
1231 | - print actors | ||
1232 | #try: | 1231 | #try: |
1233 | #renderer = self.renderers_by_slice_number[n] | 1232 | #renderer = self.renderers_by_slice_number[n] |
1234 | #for actor in actors: | 1233 | #for actor in actors: |
invesalius/gui/data_notebook.py
@@ -433,7 +433,6 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -433,7 +433,6 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
433 | self.SetItemImage(key, 0) | 433 | self.SetItemImage(key, 0) |
434 | 434 | ||
435 | def __hide_current_mask(self, pubsub_evt): | 435 | def __hide_current_mask(self, pubsub_evt): |
436 | - print self.mask_list_index.keys() | ||
437 | self.SetItemImage(self.current_index, 0) | 436 | self.SetItemImage(self.current_index, 0) |
438 | 437 | ||
439 | def __init_columns(self): | 438 | def __init_columns(self): |
invesalius/gui/default_viewers.py
@@ -457,7 +457,6 @@ class VolumeToolPanel(wx.Panel): | @@ -457,7 +457,6 @@ class VolumeToolPanel(wx.Panel): | ||
457 | self.id_cutplane = None | 457 | self.id_cutplane = None |
458 | submenu = wx.Menu() | 458 | submenu = wx.Menu() |
459 | for name in const.RAYCASTING_TOOLS: | 459 | for name in const.RAYCASTING_TOOLS: |
460 | - print name | ||
461 | id = wx.NewId() | 460 | id = wx.NewId() |
462 | if not(self.id_cutplane): | 461 | if not(self.id_cutplane): |
463 | self.id_cutplane = id | 462 | self.id_cutplane = id |
invesalius/gui/dialogs.py
@@ -1489,7 +1489,10 @@ class WatershedOptionsDialog(wx.Dialog): | @@ -1489,7 +1489,10 @@ class WatershedOptionsDialog(wx.Dialog): | ||
1489 | 1489 | ||
1490 | class MaskBooleanDialog(wx.Dialog): | 1490 | class MaskBooleanDialog(wx.Dialog): |
1491 | def __init__(self, masks): | 1491 | def __init__(self, masks): |
1492 | - wx.Dialog.__init__(self, wx.GetApp().GetTopWindow(), -1, _(u"Boolean operations")) | 1492 | + pre = wx.PreDialog() |
1493 | + pre.Create(wx.GetApp().GetTopWindow(), -1, _(u"Boolean operations"), style=wx.DEFAULT_DIALOG_STYLE|wx.FRAME_FLOAT_ON_PARENT|wx.STAY_ON_TOP) | ||
1494 | + self.PostCreate(pre) | ||
1495 | + | ||
1493 | self._init_gui(masks) | 1496 | self._init_gui(masks) |
1494 | self.CenterOnScreen() | 1497 | self.CenterOnScreen() |
1495 | 1498 |
invesalius/gui/frame.py
@@ -475,7 +475,6 @@ class Frame(wx.Frame): | @@ -475,7 +475,6 @@ class Frame(wx.Frame): | ||
475 | Publisher.sendMessage('Show import directory dialog') | 475 | Publisher.sendMessage('Show import directory dialog') |
476 | 476 | ||
477 | def ShowRetrieveDicomPanel(self): | 477 | def ShowRetrieveDicomPanel(self): |
478 | - print "teste.............." | ||
479 | Publisher.sendMessage('Show retrieve dicom panel') | 478 | Publisher.sendMessage('Show retrieve dicom panel') |
480 | 479 | ||
481 | def ShowOpenProject(self): | 480 | def ShowOpenProject(self): |
@@ -506,15 +505,12 @@ class Frame(wx.Frame): | @@ -506,15 +505,12 @@ class Frame(wx.Frame): | ||
506 | Publisher.sendMessage('Reload actual slice') | 505 | Publisher.sendMessage('Reload actual slice') |
507 | 506 | ||
508 | def OnUndo(self): | 507 | def OnUndo(self): |
509 | - print "Undo" | ||
510 | Publisher.sendMessage('Undo edition') | 508 | Publisher.sendMessage('Undo edition') |
511 | 509 | ||
512 | def OnRedo(self): | 510 | def OnRedo(self): |
513 | - print "Redo" | ||
514 | Publisher.sendMessage('Redo edition') | 511 | Publisher.sendMessage('Redo edition') |
515 | 512 | ||
516 | def OnMaskBoolean(self): | 513 | def OnMaskBoolean(self): |
517 | - print "Mask boolean" | ||
518 | Publisher.sendMessage('Show boolean dialog') | 514 | Publisher.sendMessage('Show boolean dialog') |
519 | 515 | ||
520 | def OnCleanMask(self): | 516 | def OnCleanMask(self): |
@@ -1376,7 +1372,6 @@ class SliceToolBar(AuiToolBar): | @@ -1376,7 +1372,6 @@ class SliceToolBar(AuiToolBar): | ||
1376 | for item in self.enable_items: | 1372 | for item in self.enable_items: |
1377 | state = self.GetToolToggled(item) | 1373 | state = self.GetToolToggled(item) |
1378 | if state and (item != id): | 1374 | if state and (item != id): |
1379 | - print ">>>>", item | ||
1380 | self.ToggleTool(item, False) | 1375 | self.ToggleTool(item, False) |
1381 | #self.ToggleTool(const.SLICE_STATE_SCROLL, self.GetToolToggled(const.SLICE_STATE_CROSS)) | 1376 | #self.ToggleTool(const.SLICE_STATE_SCROLL, self.GetToolToggled(const.SLICE_STATE_CROSS)) |
1382 | #self.Update() | 1377 | #self.Update() |
@@ -1691,11 +1686,9 @@ class HistoryToolBar(AuiToolBar): | @@ -1691,11 +1686,9 @@ class HistoryToolBar(AuiToolBar): | ||
1691 | self.SetToolNormalBitmap(ID_LAYOUT,self.BMP_WITH_MENU) | 1686 | self.SetToolNormalBitmap(ID_LAYOUT,self.BMP_WITH_MENU) |
1692 | 1687 | ||
1693 | def OnUndo(self, event): | 1688 | def OnUndo(self, event): |
1694 | - print "Undo" | ||
1695 | Publisher.sendMessage('Undo edition') | 1689 | Publisher.sendMessage('Undo edition') |
1696 | 1690 | ||
1697 | def OnRedo(self, event): | 1691 | def OnRedo(self, event): |
1698 | - print "Redo" | ||
1699 | Publisher.sendMessage('Redo edition') | 1692 | Publisher.sendMessage('Redo edition') |
1700 | 1693 | ||
1701 | def OnToggle(self, event): | 1694 | def OnToggle(self, event): |
invesalius/gui/task_exporter.py
@@ -257,7 +257,6 @@ class InnerTaskPanel(wx.Panel): | @@ -257,7 +257,6 @@ class InnerTaskPanel(wx.Panel): | ||
257 | menu.Bind(wx.EVT_MENU, self.OnMenuPicture) | 257 | menu.Bind(wx.EVT_MENU, self.OnMenuPicture) |
258 | 258 | ||
259 | def OnMenuPicture(self, evt): | 259 | def OnMenuPicture(self, evt): |
260 | - print "OnMenuPicture" | ||
261 | id = evt.GetId() | 260 | id = evt.GetId() |
262 | value = dlg.ExportPicture(self.id_to_name[id]) | 261 | value = dlg.ExportPicture(self.id_to_name[id]) |
263 | if value: | 262 | if value: |
@@ -273,7 +272,6 @@ class InnerTaskPanel(wx.Panel): | @@ -273,7 +272,6 @@ class InnerTaskPanel(wx.Panel): | ||
273 | 272 | ||
274 | def OnLinkExportMask(self, evt=None): | 273 | def OnLinkExportMask(self, evt=None): |
275 | project = proj.Project() | 274 | project = proj.Project() |
276 | - print "OnLinkEportMask" | ||
277 | if sys.platform == 'win32': | 275 | if sys.platform == 'win32': |
278 | project_name = project.name | 276 | project_name = project.name |
279 | else: | 277 | else: |
@@ -290,7 +288,6 @@ class InnerTaskPanel(wx.Panel): | @@ -290,7 +288,6 @@ class InnerTaskPanel(wx.Panel): | ||
290 | 288 | ||
291 | if dlg.ShowModal() == wx.ID_OK: | 289 | if dlg.ShowModal() == wx.ID_OK: |
292 | filename = dlg.GetPath() | 290 | filename = dlg.GetPath() |
293 | - print "filename", filename | ||
294 | extension = "vti" | 291 | extension = "vti" |
295 | if sys.platform != 'win32': | 292 | if sys.platform != 'win32': |
296 | if filename.split(".")[-1] != extension: | 293 | if filename.split(".")[-1] != extension: |
invesalius/gui/task_slice.py
@@ -305,7 +305,6 @@ class InnerFoldPanel(wx.Panel): | @@ -305,7 +305,6 @@ class InnerFoldPanel(wx.Panel): | ||
305 | self.__bind_pubsub_evt() | 305 | self.__bind_pubsub_evt() |
306 | 306 | ||
307 | def __calc_best_size(self, panel): | 307 | def __calc_best_size(self, panel): |
308 | - print "Best size", self.GetSize() | ||
309 | parent = panel.GetParent() | 308 | parent = panel.GetParent() |
310 | q = panel.Reparent(self) | 309 | q = panel.Reparent(self) |
311 | 310 | ||
@@ -335,8 +334,6 @@ class InnerFoldPanel(wx.Panel): | @@ -335,8 +334,6 @@ class InnerFoldPanel(wx.Panel): | ||
335 | #if self.last_size is None or self.last_size.GetHeight() < size.GetHeight(): | 334 | #if self.last_size is None or self.last_size.GetHeight() < size.GetHeight(): |
336 | #self.SetInitialSize(size) | 335 | #self.SetInitialSize(size) |
337 | 336 | ||
338 | - print "Best size", size, self.GetSize(), self.GetClientSize(), q | ||
339 | - | ||
340 | def __bind_evt(self): | 337 | def __bind_evt(self): |
341 | self.fold_panel.Bind(fpb.EVT_CAPTIONBAR, self.OnFoldPressCaption) | 338 | self.fold_panel.Bind(fpb.EVT_CAPTIONBAR, self.OnFoldPressCaption) |
342 | 339 | ||
@@ -494,7 +491,6 @@ class MaskProperties(wx.Panel): | @@ -494,7 +491,6 @@ class MaskProperties(wx.Panel): | ||
494 | self.combo_thresh.Delete(i) | 491 | self.combo_thresh.Delete(i) |
495 | 492 | ||
496 | def OnRemoveMasks(self, pubsub_evt): | 493 | def OnRemoveMasks(self, pubsub_evt): |
497 | - print "OnRemoveMasks" | ||
498 | list_index = pubsub_evt.data | 494 | list_index = pubsub_evt.data |
499 | for i in list_index: | 495 | for i in list_index: |
500 | self.combo_mask_name.Delete(i) | 496 | self.combo_mask_name.Delete(i) |
invesalius/gui/task_surface.py
@@ -512,7 +512,6 @@ class SurfaceProperties(wx.Panel): | @@ -512,7 +512,6 @@ class SurfaceProperties(wx.Panel): | ||
512 | name = pubsub_evt.data[1] | 512 | name = pubsub_evt.data[1] |
513 | colour = [value*255 for value in pubsub_evt.data[2]] | 513 | colour = [value*255 for value in pubsub_evt.data[2]] |
514 | i = 0 | 514 | i = 0 |
515 | - print name, index, self.surface_list | ||
516 | try: | 515 | try: |
517 | i = self.surface_list.index([name, index]) | 516 | i = self.surface_list.index([name, index]) |
518 | overwrite = True | 517 | overwrite = True |
invesalius/gui/widgets/gradient.py
@@ -475,7 +475,6 @@ class GradientCtrl(wx.Panel): | @@ -475,7 +475,6 @@ class GradientCtrl(wx.Panel): | ||
475 | def ChangeMinValue(self, e): | 475 | def ChangeMinValue(self, e): |
476 | # Why do I need to change slide min value if it has been changed for | 476 | # Why do I need to change slide min value if it has been changed for |
477 | # the user? | 477 | # the user? |
478 | - print "ChangeMinValue", self.slided | ||
479 | if not self.slided: | 478 | if not self.slided: |
480 | self.gradient_slider.SetMinValue(int(self.spin_min.GetValue())) | 479 | self.gradient_slider.SetMinValue(int(self.spin_min.GetValue())) |
481 | self._GenerateEvent(myEVT_THRESHOLD_CHANGE) | 480 | self._GenerateEvent(myEVT_THRESHOLD_CHANGE) |
@@ -496,10 +495,8 @@ class GradientCtrl(wx.Panel): | @@ -496,10 +495,8 @@ class GradientCtrl(wx.Panel): | ||
496 | def _GenerateEvent(self, event): | 495 | def _GenerateEvent(self, event): |
497 | if event == myEVT_THRESHOLD_CHANGING: | 496 | if event == myEVT_THRESHOLD_CHANGING: |
498 | self.changed = True | 497 | self.changed = True |
499 | - print 'changing' | ||
500 | elif event == myEVT_THRESHOLD_CHANGED : | 498 | elif event == myEVT_THRESHOLD_CHANGED : |
501 | self.changed = False | 499 | self.changed = False |
502 | - print 'changed' | ||
503 | 500 | ||
504 | evt = SliderEvent(event, self.GetId(), self.min_range, | 501 | evt = SliderEvent(event, self.GetId(), self.min_range, |
505 | self.max_range, self.minimun, self.maximun) | 502 | self.max_range, self.minimun, self.maximun) |
invesalius/gui/widgets/slice_menu.py
@@ -258,7 +258,6 @@ class SliceMenu(wx.Menu): | @@ -258,7 +258,6 @@ class SliceMenu(wx.Menu): | ||
258 | Publisher.sendMessage('Update slice viewer') | 258 | Publisher.sendMessage('Update slice viewer') |
259 | 259 | ||
260 | elif key in PROJECTIONS_ID: | 260 | elif key in PROJECTIONS_ID: |
261 | - print 'Key', key | ||
262 | pid = PROJECTIONS_ID[key] | 261 | pid = PROJECTIONS_ID[key] |
263 | Publisher.sendMessage('Set projection type', pid) | 262 | Publisher.sendMessage('Set projection type', pid) |
264 | Publisher.sendMessage('Reload actual slice') | 263 | Publisher.sendMessage('Reload actual slice') |