Commit 208b8ff64786cac29acc6748db48ad94b2b70e6f

Authored by tfmoraes
1 parent 298863b6

ENH: Coloring the slice number based on slice orientation

invesalius/data/slice_data.py
@@ -18,20 +18,25 @@ @@ -18,20 +18,25 @@
18 #-------------------------------------------------------------------------- 18 #--------------------------------------------------------------------------
19 import vtk 19 import vtk
20 20
  21 +import constants as const
  22 +
21 class SliceData(object): 23 class SliceData(object):
22 def __init__(self): 24 def __init__(self):
23 - self.renderer = None  
24 self.actor = None 25 self.actor = None
25 - self.number = 0  
26 self.cursor = None 26 self.cursor = None
  27 + self.number = 0
  28 + self.orientation = 'AXIAL'
  29 + self.renderer = None
27 self.__create_text() 30 self.__create_text()
28 31
29 def __create_text(self): 32 def __create_text(self):
  33 + colour = const.ORIENTATION_COLOUR[self.orientation]
30 text_property = vtk.vtkTextProperty() 34 text_property = vtk.vtkTextProperty()
  35 + text_property.SetColor(colour)
31 text_property.SetFontSize(16) 36 text_property.SetFontSize(16)
32 text_property.SetFontFamilyToTimes() 37 text_property.SetFontFamilyToTimes()
33 text_property.BoldOn() 38 text_property.BoldOn()
34 - #text_property.SetColor(colour) 39 + self.text_property = text_property
35 40
36 text_actor = vtk.vtkTextActor() 41 text_actor = vtk.vtkTextActor()
37 text_actor.SetInput("%d" % self.number) 42 text_actor.SetInput("%d" % self.number)
@@ -49,6 +54,12 @@ class SliceData(object): @@ -49,6 +54,12 @@ class SliceData(object):
49 self.renderer.AddActor(cursor.actor) 54 self.renderer.AddActor(cursor.actor)
50 self.cursor = cursor 55 self.cursor = cursor
51 56
  57 + def SetOrientation(self, orientation):
  58 + self.orientation = orientation
  59 + colour = const.ORIENTATION_COLOUR[self.orientation]
  60 + self.text_property.SetColor(colour)
  61 + self.text_actor.GetTextProperty().ShallowCopy(self.text_property)
  62 +
52 def Hide(self): 63 def Hide(self):
53 self.renderer.RemoveActor(self.actor) 64 self.renderer.RemoveActor(self.actor)
54 self.renderer.RemoveActor(self.text_actor) 65 self.renderer.RemoveActor(self.text_actor)
invesalius/data/viewer_slice.py
@@ -1021,6 +1021,7 @@ class Viewer(wx.Panel): @@ -1021,6 +1021,7 @@ class Viewer(wx.Panel):
1021 actor = vtk.vtkImageActor() 1021 actor = vtk.vtkImageActor()
1022 actor.SetInput(imagedata) 1022 actor.SetInput(imagedata)
1023 slice_data = SliceData() 1023 slice_data = SliceData()
  1024 + slice_data.SetOrientation(self.orientation)
1024 slice_data.renderer = renderer 1025 slice_data.renderer = renderer
1025 slice_data.actor = actor 1026 slice_data.actor = actor
1026 renderer.AddActor(actor) 1027 renderer.AddActor(actor)