@@ -116,7 +116,7 @@ def get_cursor(self, mme: MouseMoveEvent) -> CursorType | None:
116
116
return None
117
117
118
118
119
- class VispyBoundingBox (RectangularROI ):
119
+ class VispyRectangularROI (RectangularROI ):
120
120
def __init__ (self , parent : Any ) -> None :
121
121
self ._selected = False
122
122
self ._move_mode : ROIMoveMode | None = None
@@ -307,8 +307,8 @@ def __init__(self, viewer_model: ArrayViewerModel) -> None:
307
307
308
308
self ._elements : WeakKeyDictionary = WeakKeyDictionary ()
309
309
self ._selection : CanvasElement | None = None
310
- # TODO: Weak Reference?
311
- self ._last_roi_created : ReferenceType [VispyBoundingBox ] | None = None
310
+ # Maintain weak reference to last ROI created
311
+ self ._last_roi_created : ReferenceType [VispyRectangularROI ] | None = None
312
312
313
313
@property
314
314
def _camera (self ) -> vispy .scene .cameras .BaseCamera :
@@ -389,9 +389,9 @@ def add_volume(self, data: np.ndarray | None = None) -> VispyImageHandle:
389
389
self .set_range ()
390
390
return handle
391
391
392
- def add_bounding_box (self ) -> VispyBoundingBox :
392
+ def add_bounding_box (self ) -> VispyRectangularROI :
393
393
"""Add a new Rectangular ROI node to the scene."""
394
- roi = VispyBoundingBox (parent = self ._view .scene )
394
+ roi = VispyRectangularROI (parent = self ._view .scene )
395
395
roi .set_visible (False )
396
396
self ._elements [roi ._handles ] = roi
397
397
self ._elements [roi ._rect ] = roi
@@ -423,7 +423,7 @@ def set_range(
423
423
_y [1 ] = max (_y [1 ], shape [1 ])
424
424
if len (shape ) > 2 :
425
425
_z [1 ] = max (_z [1 ], shape [2 ])
426
- elif isinstance (handle , VispyBoundingBox ):
426
+ elif isinstance (handle , VispyRectangularROI ):
427
427
for v in handle .vertices :
428
428
_x [0 ] = min (_x [0 ], v [0 ])
429
429
_x [1 ] = max (_x [1 ], v [0 ])
0 commit comments