@@ -25,8 +25,8 @@ def __init__(self, parent=None):
25
25
self .axes = None
26
26
self .bg_cache = None
27
27
self .press = []
28
- self .added_patches = []
29
- self .patches = {}
28
+ self .added_templates = []
29
+ self .interactive_templates = {}
30
30
self .canvas = parent .image_tab_widget .active_canvas
31
31
self .image_mode = None
32
32
self .raw_mask_coords = []
@@ -70,24 +70,25 @@ def setup_ui_connections(self):
70
70
self .ui .undo .clicked .connect (self .undo_selection )
71
71
72
72
def update_undo_enable_state (self ):
73
- enabled = bool (self .added_patches )
73
+ enabled = bool (self .added_templates )
74
74
self .ui .undo .setEnabled (enabled )
75
75
76
76
def select_shape (self ):
77
77
self .selection = self .ui .shape .currentText ()
78
- self .patch = None
78
+ self .interactive_template = None
79
79
80
- def create_patch (self ):
80
+ def create_interactive_template (self ):
81
81
kwargs = {
82
82
'fill' : False ,
83
83
'animated' : True ,
84
84
}
85
- self .patch = InteractiveTemplate (self .canvas , self .det )
86
- self .patch .create_polygon ([[0 ,0 ]], ** kwargs )
87
- self .patches .setdefault (self .det , []).append (self .patch )
88
- self .added_patches .append (self .det )
85
+ self .interactive_template = InteractiveTemplate (self .canvas , self .det )
86
+ self .interactive_template .create_polygon ([[0 ,0 ]], ** kwargs )
87
+ self .interactive_templates .setdefault (self .det , []).append (
88
+ self .interactive_template )
89
+ self .added_templates .append (self .det )
89
90
90
- def update_patch (self , event ):
91
+ def update_interactive_template (self , event ):
91
92
x0 , y0 = self .press
92
93
height = event .ydata - y0
93
94
width = event .xdata - x0
@@ -99,24 +100,25 @@ def update_patch(self, event):
99
100
verts = shape .get_patch_transform ().transform (
100
101
shape .get_path ().vertices [:- 1 ])
101
102
verts = add_sample_points (verts , 300 )
102
- self .patch .template .set_xy (verts )
103
- self .patch .center = self .patch .get_midpoint ()
103
+ self .interactive_template .template .set_xy (verts )
104
+ self .interactive_template .center = (
105
+ self .interactive_template .get_midpoint ())
104
106
105
- def discard_patch (self ):
106
- det = self .added_patches .pop ()
107
+ def discard_interactive_template (self ):
108
+ det = self .added_templates .pop ()
107
109
# If not static mode then the raw coords haven't been saved yet
108
- if self .patch .static_mode :
110
+ if self .interactive_template .static_mode :
109
111
self .raw_mask_coords .pop ()
110
- self .patches [det ].pop ().template .remove ()
112
+ self .interactive_templates [det ].pop ().template .remove ()
111
113
112
114
def undo_selection (self ):
113
- if not self .added_patches :
115
+ if not self .added_templates :
114
116
return
115
117
116
- self .discard_patch ()
118
+ self .discard_interactive_template ()
117
119
self .canvas .draw_idle ()
118
120
self .update_undo_enable_state ()
119
- self .patch .static_mode = True
121
+ self .interactive_template .static_mode = True
120
122
121
123
def axes_entered (self , event ):
122
124
self .image_mode = self .canvas .mode
@@ -180,21 +182,22 @@ def button_pressed(self, event):
180
182
print ('Masking must be done in raw or polar view' )
181
183
return
182
184
183
- if event .button == 3 and self .patch :
184
- self .patch .static_mode = True
185
+ if event .button == 3 and self .interactive_template :
186
+ self .interactive_template .static_mode = True
185
187
186
188
if not self .axes :
187
189
return
188
190
189
191
if event .button == 1 :
190
- if self .patch and not self .patch .static_mode :
192
+ if (self .interactive_template and
193
+ not self .interactive_template .static_mode ):
191
194
return
192
195
193
196
self .press = [event .xdata , event .ydata ]
194
197
self .det = self .axes .get_title ()
195
198
if not self .det :
196
199
self .det = self .image_mode
197
- self .create_patch ()
200
+ self .create_interactive_template ()
198
201
199
202
# For animating the patch
200
203
self .bg_cache = self .canvas .copy_from_bbox (self .axes .bbox )
@@ -209,14 +212,14 @@ def drag_motion(self, event):
209
212
):
210
213
return
211
214
212
- if not self .patch .static_mode :
215
+ if not self .interactive_template .static_mode :
213
216
return
214
217
215
- self .update_patch (event )
218
+ self .update_interactive_template (event )
216
219
217
220
# Update animation of patch
218
221
self .canvas .restore_region (self .bg_cache )
219
- self .axes .draw_artist (self .patch .template )
222
+ self .axes .draw_artist (self .interactive_template .template )
220
223
self .canvas .blit (self .axes .bbox )
221
224
222
225
def save_line_data (self ):
@@ -255,15 +258,16 @@ def create_masks(self):
255
258
masks_changed_signal [self .image_mode ].emit ()
256
259
257
260
def button_released (self , event ):
258
- if not self .press or not self .patch .static_mode :
261
+ if not self .press or not self .interactive_template .static_mode :
259
262
return
260
263
261
264
# Save it
262
- self .templates .setdefault (self .det , []).append (self .patch .template )
263
- self .patch .static_mode = False
265
+ self .templates .setdefault (self .det , []).append (
266
+ self .interactive_template .template )
267
+ self .interactive_template .static_mode = False
264
268
265
269
# Turn off animation so the patch will stay
266
- self .patch .template .set_animated (False )
270
+ self .interactive_template .template .set_animated (False )
267
271
268
272
self .press .clear ()
269
273
self .det = None
@@ -279,13 +283,13 @@ def apply_masks(self):
279
283
self .save_line_data ()
280
284
self .disconnect ()
281
285
self .create_masks ()
282
- while self .added_patches :
283
- self .discard_patch ()
286
+ while self .added_templates :
287
+ self .discard_interactive_template ()
284
288
self .new_mask_added .emit (self .image_mode )
285
289
286
290
def cancel (self ):
287
- while self .added_patches :
288
- self .discard_patch ()
291
+ while self .added_templates :
292
+ self .discard_interactive_template ()
289
293
290
294
self .disconnect ()
291
295
if self .canvas is not None :
@@ -294,7 +298,7 @@ def cancel(self):
294
298
def canvas_changed (self , canvas ):
295
299
self .apply_masks ()
296
300
self .canvas = canvas
297
- if self .patch :
298
- self .patch .canvas_changed (canvas )
301
+ if self .interactive_template :
302
+ self .interactive_template .canvas_changed (canvas )
299
303
if self .ui .isVisible ():
300
304
self .setup_canvas_connections ()
0 commit comments