Commit d17cea011eab997bebc73761fa16e037e483db26
1 parent
dbecc12e
Exists in
watershed_improvements_bkp
Created a class to store watershed configs
Showing
1 changed file
with
15 additions
and
2 deletions
Show diff stats
invesalius/data/styles.py
| ... | ... | @@ -34,6 +34,8 @@ from scipy.misc import imsave |
| 34 | 34 | from skimage.morphology import watershed |
| 35 | 35 | from skimage import filter |
| 36 | 36 | |
| 37 | +import utils | |
| 38 | + | |
| 37 | 39 | ORIENTATIONS = { |
| 38 | 40 | "AXIAL": const.AXIAL, |
| 39 | 41 | "CORONAL": const.CORONAL, |
| ... | ... | @@ -734,6 +736,16 @@ class EditorInteractorStyle(DefaultInteractorStyle): |
| 734 | 736 | return x, y, z |
| 735 | 737 | |
| 736 | 738 | |
| 739 | +class WatershedConfig(object): | |
| 740 | + __metaclass__= utils.Singleton | |
| 741 | + def __init__(self): | |
| 742 | + self.operation = BRUSH_FOREGROUND | |
| 743 | + Publisher.subscribe(self.set_operation, 'Set watershed operation') | |
| 744 | + | |
| 745 | + def set_operation(self, pubsub_evt): | |
| 746 | + self.operation = WATERSHED_OPERATIONS[pubsub_evt.data] | |
| 747 | + | |
| 748 | + | |
| 737 | 749 | class WaterShedInteractorStyle(DefaultInteractorStyle): |
| 738 | 750 | def __init__(self, viewer): |
| 739 | 751 | DefaultInteractorStyle.__init__(self, viewer) |
| ... | ... | @@ -745,6 +757,7 @@ class WaterShedInteractorStyle(DefaultInteractorStyle): |
| 745 | 757 | self.operation = BRUSH_FOREGROUND |
| 746 | 758 | |
| 747 | 759 | self.mg_size = 3 |
| 760 | + self.config = WatershedConfig() | |
| 748 | 761 | |
| 749 | 762 | self.picker = vtk.vtkWorldPointPicker() |
| 750 | 763 | |
| ... | ... | @@ -869,7 +882,7 @@ class WaterShedInteractorStyle(DefaultInteractorStyle): |
| 869 | 882 | if position < 0: |
| 870 | 883 | position = viewer.calculate_matrix_position(coord) |
| 871 | 884 | |
| 872 | - operation = self.operation | |
| 885 | + operation = self.config.operation | |
| 873 | 886 | |
| 874 | 887 | if operation == BRUSH_FOREGROUND: |
| 875 | 888 | if iren.GetControlKey(): |
| ... | ... | @@ -937,7 +950,7 @@ class WaterShedInteractorStyle(DefaultInteractorStyle): |
| 937 | 950 | if position < 0: |
| 938 | 951 | position = viewer.calculate_matrix_position(coord) |
| 939 | 952 | |
| 940 | - operation = self.operation | |
| 953 | + operation = self.config.operation | |
| 941 | 954 | |
| 942 | 955 | if operation == BRUSH_FOREGROUND: |
| 943 | 956 | if iren.GetControlKey(): | ... | ... |