From 0aeeee3a176611d1e8d85a48e9050eadac20015d Mon Sep 17 00:00:00 2001 From: Sam Tygier Date: Wed, 17 Jan 2024 16:56:54 +0000 Subject: [PATCH 1/3] RITS: Add binning controls to GUI --- mantidimaging/gui/ui/spectrum_viewer.ui | 46 +++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/mantidimaging/gui/ui/spectrum_viewer.ui b/mantidimaging/gui/ui/spectrum_viewer.ui index e018fab7d2d..285b88efae6 100644 --- a/mantidimaging/gui/ui/spectrum_viewer.ui +++ b/mantidimaging/gui/ui/spectrum_viewer.ui @@ -255,18 +255,23 @@ - + Single Spectrum + + + 2D Binned + + - Error mode + Error Mode @@ -284,6 +289,43 @@ + + + + Bin Size + + + + + + + 1 + + + 1000 + + + 10 + + + + + + + Bin Step + + + + + + + 1 + + + 1000 + + + From 3297484fc44b23f9af94dca41d34af97553f2806 Mon Sep 17 00:00:00 2001 From: Sam Tygier Date: Wed, 17 Jan 2024 17:19:41 +0000 Subject: [PATCH 2/3] RITS add controls to view --- .../gui/windows/spectrum_viewer/view.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/mantidimaging/gui/windows/spectrum_viewer/view.py b/mantidimaging/gui/windows/spectrum_viewer/view.py index 3a599cd3acb..2fa096d5c12 100644 --- a/mantidimaging/gui/windows/spectrum_viewer/view.py +++ b/mantidimaging/gui/windows/spectrum_viewer/view.py @@ -6,7 +6,7 @@ from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import QCheckBox, QVBoxLayout, QFileDialog, QPushButton, QLabel, QAbstractItemView, QHeaderView, \ - QTabWidget, QComboBox + QTabWidget, QComboBox, QSpinBox from mantidimaging.core.utility import finder from mantidimaging.gui.mvp_base import BaseMainWindowView @@ -36,7 +36,10 @@ class SpectrumViewerWindowView(BaseMainWindowView): normaliseErrorIcon: QLabel _current_dataset_id: Optional['UUID'] normalise_error_issue: str = "" + image_output_mode_combobox: QComboBox transmission_error_mode_combobox: QComboBox + bin_size_spinBox: QSpinBox + bin_step_spinBox: QSpinBox def __init__(self, main_window: 'MainWindowView'): super().__init__(None, 'gui/ui/spectrum_viewer.ui') @@ -310,3 +313,15 @@ def clear_all_rois(self) -> None: @property def transmission_error_mode(self) -> str: return self.transmission_error_mode_combobox.currentText() + + @property + def image_output_mode(self) -> str: + return self.image_output_mode_combobox.currentText() + + @property + def bin_size(self) -> int: + return self.bin_size_spinbox.value() + + @property + def bin_step(self) -> int: + return self.bin_step_spinbox.value() From b174d8c4dc9da9dd88e500de9ac46f147aaa4f9c Mon Sep 17 00:00:00 2001 From: Sam Tygier Date: Thu, 18 Jan 2024 10:32:40 +0000 Subject: [PATCH 3/3] RITS: Hide binning options when not needed --- mantidimaging/gui/ui/spectrum_viewer.ui | 4 ++-- mantidimaging/gui/windows/spectrum_viewer/view.py | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mantidimaging/gui/ui/spectrum_viewer.ui b/mantidimaging/gui/ui/spectrum_viewer.ui index 285b88efae6..b00fe2be2cc 100644 --- a/mantidimaging/gui/ui/spectrum_viewer.ui +++ b/mantidimaging/gui/ui/spectrum_viewer.ui @@ -290,7 +290,7 @@ - + Bin Size @@ -310,7 +310,7 @@ - + Bin Step diff --git a/mantidimaging/gui/windows/spectrum_viewer/view.py b/mantidimaging/gui/windows/spectrum_viewer/view.py index 2fa096d5c12..829a7d30135 100644 --- a/mantidimaging/gui/windows/spectrum_viewer/view.py +++ b/mantidimaging/gui/windows/spectrum_viewer/view.py @@ -71,6 +71,8 @@ def __init__(self, main_window: 'MainWindowView'): self.normaliseCheckBox.stateChanged.connect(self.presenter.handle_button_enabled) self.exportTabs.currentChanged.connect(self.presenter.handle_export_tab_change) + self.image_output_mode_combobox.currentTextChanged.connect(self.set_binning_visibility) + self.set_binning_visibility() # ROI action buttons self.addBtn.clicked.connect(self.set_new_roi) @@ -325,3 +327,10 @@ def bin_size(self) -> int: @property def bin_step(self) -> int: return self.bin_step_spinbox.value() + + def set_binning_visibility(self) -> None: + hide_binning = self.image_output_mode != "2D Binned" + self.bin_size_label.setHidden(hide_binning) + self.bin_size_spinBox.setHidden(hide_binning) + self.bin_step_label.setHidden(hide_binning) + self.bin_step_spinBox.setHidden(hide_binning)