Commit 93044664a95e9cd5c0deaf3c13aef0988735d1ef
1 parent
af3889aa
Exists in
master
and in
68 other branches
ADD: Window and level text in the 2D
Showing
1 changed file
with
24 additions
and
4 deletions
Show diff stats
invesalius/data/viewer_slice.py
| ... | ... | @@ -28,6 +28,7 @@ import data.slice_ as sl |
| 28 | 28 | import constants as const |
| 29 | 29 | import project |
| 30 | 30 | import cursor_actors as ca |
| 31 | +import data.vtk_utils as vtku | |
| 31 | 32 | |
| 32 | 33 | from slice_data import SliceData |
| 33 | 34 | |
| ... | ... | @@ -47,7 +48,7 @@ class Viewer(wx.Panel): |
| 47 | 48 | self.slice_data_list = [] |
| 48 | 49 | # The layout from slice_data, the first is number of cols, the second |
| 49 | 50 | # is the number of rows |
| 50 | - self.layout = (2, 2) | |
| 51 | + self.layout = (1, 1) | |
| 51 | 52 | |
| 52 | 53 | self.__init_gui() |
| 53 | 54 | |
| ... | ... | @@ -59,6 +60,7 @@ class Viewer(wx.Panel): |
| 59 | 60 | self._brush_cursor_colour = const.BRUSH_COLOUR |
| 60 | 61 | self._brush_cursor_type = const.DEFAULT_BRUSH_OP |
| 61 | 62 | self.cursor = None |
| 63 | + self.text = None | |
| 62 | 64 | # VTK pipeline and actors |
| 63 | 65 | #self.__config_interactor() |
| 64 | 66 | self.pick = vtk.vtkCellPicker() |
| ... | ... | @@ -197,6 +199,7 @@ class Viewer(wx.Panel): |
| 197 | 199 | self.append_mode('WINDOWLEVEL') |
| 198 | 200 | self.mouse_pressed = 0 |
| 199 | 201 | self.interactor.SetCursor(wx.StockCursor(wx.CURSOR_SIZING)) |
| 202 | + self.interactor.Render() | |
| 200 | 203 | |
| 201 | 204 | def ChangeSliceMode(self, pubsub_evt): |
| 202 | 205 | self.append_mode('CHANGESLICE') |
| ... | ... | @@ -218,10 +221,11 @@ class Viewer(wx.Panel): |
| 218 | 221 | ps.Publisher().sendMessage('Bright and contrast adjustment image', |
| 219 | 222 | (proj.window, proj.level)) |
| 220 | 223 | |
| 224 | + ps.Publisher().sendMessage('Update window and level text',\ | |
| 225 | + "WL: %d WW: %d"%(proj.level, proj.window)) | |
| 221 | 226 | self.interactor.Render() |
| 222 | 227 | |
| 223 | 228 | |
| 224 | - | |
| 225 | 229 | def OnWindowLevelClick(self, evt, obj): |
| 226 | 230 | proj = project.Project() |
| 227 | 231 | self.acum_achange_window, self.acum_achange_level = (proj.window, proj.level) |
| ... | ... | @@ -303,6 +307,21 @@ class Viewer(wx.Panel): |
| 303 | 307 | slice_data.cursor.Show(0) |
| 304 | 308 | self.interactor.Render() |
| 305 | 309 | |
| 310 | + def UpdateText(self, pubsub_evt): | |
| 311 | + if (self.text): | |
| 312 | + self.text.SetValue(pubsub_evt.data) | |
| 313 | + self.interactor.Render() | |
| 314 | + | |
| 315 | + def EnableText(self): | |
| 316 | + if not (self.text): | |
| 317 | + text = self.text = vtku.Text() | |
| 318 | + self.ren.AddActor(text.actor) | |
| 319 | + proj = project.Project() | |
| 320 | + | |
| 321 | + ps.Publisher().sendMessage('Update window and level text',\ | |
| 322 | + "WL: %d WW: %d"%(proj.level, proj.window)) | |
| 323 | + | |
| 324 | + | |
| 306 | 325 | def Reposition(self, slice_data): |
| 307 | 326 | """ |
| 308 | 327 | Based on code of method Zoom in the |
| ... | ... | @@ -610,12 +629,12 @@ class Viewer(wx.Panel): |
| 610 | 629 | 'Set Zoom Select Mode') |
| 611 | 630 | ps.Publisher().subscribe(self.ZoomSelectMode, |
| 612 | 631 | 'Set Zoom Select Mode') |
| 613 | - | |
| 614 | 632 | ps.Publisher().subscribe(self.ChangeSliceMode, |
| 615 | 633 | 'Set Change Slice Mode') |
| 616 | - | |
| 617 | 634 | ps.Publisher().subscribe(self.WindowLevelMode, |
| 618 | 635 | 'Bright and contrast adjustment') |
| 636 | + ps.Publisher().subscribe(self.UpdateText,\ | |
| 637 | + 'Update window and level text') | |
| 619 | 638 | |
| 620 | 639 | def ChangeBrushOperation(self, pubsub_evt): |
| 621 | 640 | print pubsub_evt.data |
| ... | ... | @@ -705,6 +724,7 @@ class Viewer(wx.Panel): |
| 705 | 724 | |
| 706 | 725 | actor_bound = actor.GetBounds() |
| 707 | 726 | |
| 727 | + self.EnableText() | |
| 708 | 728 | # Insert cursor |
| 709 | 729 | self.append_mode('EDITOR') |
| 710 | 730 | ... | ... |