|
28 | 28 | from ndv.views.bases._graphics._canvas_elements import (
|
29 | 29 | CanvasElement,
|
30 | 30 | ImageHandle,
|
31 |
| - RectangularROI, |
| 31 | + RectangularROIHandle, |
32 | 32 | ROIMoveMode,
|
33 | 33 | )
|
34 | 34 |
|
@@ -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 VispyRectangle(RectangularROIHandle): |
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[VispyRectangle] | 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) -> VispyRectangle: |
393 | 393 | """Add a new Rectangular ROI node to the scene."""
|
394 |
| - roi = VispyBoundingBox(parent=self._view.scene) |
| 394 | + roi = VispyRectangle(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, VispyRectangle): |
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