Skip to content

Commit 151b4b2

Browse files
Add Delete Geometry button to Geometry Window (#3020)
2 parents 5815723 + 946ddd4 commit 151b4b2

File tree

4 files changed

+21
-3
lines changed

4 files changed

+21
-3
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#3016: Add Delete Geometry button to Geometry Window

mantidimaging/gui/windows/geometry/presenter.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,19 @@
2323

2424

2525
class GeometryWindowPresenter(BasePresenter):
26+
27+
def handle_delete_geometry(self) -> None:
28+
stack = self._get_current_stack_with_assert()
29+
if stack.geometry is None:
30+
self.view.show_info_dialog("No geometry to delete.")
31+
return
32+
stack.geometry = None
33+
if hasattr(stack, 'geometry'):
34+
stack.metadata.pop('angles', None)
35+
self.view.set_widget_stack_page(1)
36+
self.view.clear_plot()
37+
self.view.show_info_dialog("Geometry deleted. You can now create a new geometry.")
38+
2639
view: GeometryWindowView
2740

2841
def __init__(self, view: GeometryWindowView, main_window: MainWindowView):

mantidimaging/gui/windows/geometry/view.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ def _build_data_display_group(self) -> QWidget:
164164
data_display_group_layout.addRow(QLabel("Source Pos:"), self.sourcePosBox)
165165
data_display_group_layout.addRow(QLabel("Detector Pos:"), self.detectorPosBox)
166166

167+
self.deleteGeometryButton = QPushButton("Delete Geometry")
168+
data_display_group_layout.addRow(self.deleteGeometryButton)
169+
167170
return data_display_group
168171

169172
def _build_geometry_conversion_group(self) -> QWidget:
@@ -264,6 +267,8 @@ def _init_connect_signals(self) -> None:
264267
self.createGeometryButton.clicked.connect(self.presenter.handle_create_new_geometry)
265268
self.convertGeometryButton.clicked.connect(self.presenter.handle_convert_geometry)
266269

270+
self.deleteGeometryButton.clicked.connect(self.presenter.handle_delete_geometry)
271+
267272
def set_widget_stack_page(self, index: int) -> None:
268273
self.geometryPagesWidget.setCurrentIndex(index)
269274

mantidimaging/gui/windows/recon/view.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from logging import getLogger
55
from typing import TYPE_CHECKING
66

7-
import numpy
7+
import numpy as np
88
from PyQt5.QtWidgets import (QAbstractItemView, QComboBox, QDoubleSpinBox, QInputDialog, QPushButton, QSpinBox,
99
QVBoxLayout, QWidget, QTextEdit, QLabel, QApplication, QStyle, QCheckBox)
1010
from PyQt5.QtCore import QSignalBlocker
@@ -32,7 +32,6 @@
3232

3333

3434
class ReconstructWindowView(BaseMainWindowView):
35-
# COR and Tilt tab
3635

3736
resultsTab: QWidget
3837

@@ -315,7 +314,7 @@ def handle_auto_update_preview_selection(self) -> None:
315314
if self.previewAutoUpdate.isChecked():
316315
self.presenter.notify(PresN.RECONSTRUCT_PREVIEW_SLICE)
317316

318-
def update_recon_preview(self, image_data: numpy.ndarray, reset_roi: bool = False) -> None:
317+
def update_recon_preview(self, image_data: np.ndarray, reset_roi: bool = False) -> None:
319318
"""
320319
Updates the reconstruction preview image with new data.
321320
"""

0 commit comments

Comments
 (0)