GUI: Screening data collection tab - work in progress
Build and Publish / build (push) Successful in 22s
Build and Publish / build (push) Successful in 22s
This commit is contained in:
@@ -68,11 +68,22 @@ class MainWindow(QMainWindow):
|
||||
)
|
||||
|
||||
self.raster = RasterGridManager(geom=geom)
|
||||
|
||||
collection_controls_scroll = NoWheelScrollArea(top_widget)
|
||||
|
||||
self.data_collection = DataCollectionSettings(s=geom,
|
||||
parent=top_widget,
|
||||
raster_mgr=self.raster,
|
||||
diffraction=diffraction)
|
||||
top_widget_layout.addWidget(self.data_collection)
|
||||
|
||||
|
||||
top_widget_layout.addWidget(collection_controls_scroll)
|
||||
collection_controls_scroll.setWidget(self.data_collection)
|
||||
collection_controls_scroll.setHorizontalScrollBarPolicy(
|
||||
Qt.ScrollBarPolicy.ScrollBarAlwaysOff
|
||||
)
|
||||
collection_controls_scroll.setFixedWidth(self.data_collection.set_width + 10)
|
||||
|
||||
|
||||
self.camera_image = SampleCameraImageLabel(geom=geom, raster=self.raster, parent=top_widget, default_image=default_image)
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ from aaregui.widgets.title_label import TitleLabel
|
||||
|
||||
class DataCollectionSettings(QFrame):
|
||||
standard_data_collection = Signal(RotationScanRequest)
|
||||
set_width = 400
|
||||
|
||||
def __init__(self,
|
||||
s: SampleGeometryModel,
|
||||
@@ -31,7 +32,7 @@ class DataCollectionSettings(QFrame):
|
||||
diffraction: DiffractionGeometry,
|
||||
parent=None):
|
||||
super().__init__(parent)
|
||||
self.setFixedWidth(400)
|
||||
self.setFixedWidth(self.set_width)
|
||||
self.setFrameShape(QFrame.Shape.StyledPanel)
|
||||
self.setFrameShadow(QFrame.Shadow.Raised)
|
||||
|
||||
@@ -51,7 +52,8 @@ class DataCollectionSettings(QFrame):
|
||||
diffraction=diffraction)
|
||||
self.tab_widget.addTab(self.raster, "Raster")
|
||||
|
||||
self.screening = ScreeningDataCollectionPanel(parent=self.tab_widget)
|
||||
self.screening = ScreeningDataCollectionPanel(parent=self.tab_widget,
|
||||
diffraction=diffraction,)
|
||||
self.tab_widget.addTab(self.screening, "Screening")
|
||||
|
||||
self.standard = StandardDataCollectionPanel(parent=self.tab_widget)
|
||||
|
||||
@@ -7,42 +7,34 @@ from PySide6.QtWidgets import (
|
||||
QSpacerItem,
|
||||
)
|
||||
|
||||
from aaredaqlib.diffraction_geometry import DiffractionGeometry
|
||||
from aaregui.panels.scan_settings_panel import ScanSettingsPanel
|
||||
from aaregui.widgets.number_line_edit import NumberLineEdit
|
||||
|
||||
|
||||
class ScreeningDataCollectionPanel(QWidget):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
grid_layout = QGridLayout(self)
|
||||
|
||||
grid_layout.addWidget(QLabel("High resolution", parent=self), 0, 0)
|
||||
self.high_res_enter = NumberLineEdit(
|
||||
0.5, 10, decimals=2, default=2.0, parent=self
|
||||
)
|
||||
grid_layout.addWidget(self.high_res_enter, 0, 1)
|
||||
grid_layout.addWidget(QLabel("Å", parent=self), 0, 2)
|
||||
grid_layout.addWidget(QLabel("Detector distance", parent=self), 1, 0)
|
||||
self.dtz_enter = NumberLineEdit(60, 1000, decimals=2, default=120, parent=self)
|
||||
grid_layout.addWidget(self.dtz_enter, 1, 1)
|
||||
grid_layout.addWidget(QLabel("mm", parent=self), 1, 2)
|
||||
|
||||
grid_layout.addWidget(QLabel("Beam transmission", parent=self), 2, 0)
|
||||
self.transmission_enter = NumberLineEdit(
|
||||
0, 1.0, decimals=4, default=1.0, parent=self
|
||||
)
|
||||
grid_layout.addWidget(self.transmission_enter, 2, 1)
|
||||
|
||||
grid_layout.addWidget(QLabel("Start angle", parent=self), 3, 0)
|
||||
class ScreeningDataCollectionPanel(ScanSettingsPanel):
|
||||
def __init__(self, diffraction: DiffractionGeometry,
|
||||
default_dtz: float = 200.0,
|
||||
default_transmission: float = 1.0,
|
||||
parent=None):
|
||||
super().__init__(parent=parent,
|
||||
diffraction=diffraction,
|
||||
default_dtz=default_dtz,
|
||||
default_transmission=default_transmission)
|
||||
|
||||
self._layout.addWidget(QLabel("Start angle", parent=self), 3, 0)
|
||||
self.start_angle = NumberLineEdit(-720, 720.0, 0.0, decimals=3, parent=self)
|
||||
grid_layout.addWidget(self.start_angle, 3, 1)
|
||||
grid_layout.addWidget(QLabel("°", parent=self), 3, 2)
|
||||
self._layout.addWidget(self.start_angle, 3, 1, 1, 3)
|
||||
self._layout.addWidget(QLabel("°", parent=self), 3, 4)
|
||||
|
||||
grid_layout.addWidget(QLabel("Image time", parent=self), 4, 0)
|
||||
self.image_time_enter = NumberLineEdit(
|
||||
self._layout.addWidget(QLabel("<B>Screening</B>", parent=self), 4, 0, 1,5)
|
||||
|
||||
self._layout.addWidget(QLabel("Image time", parent=self), 5, 0)
|
||||
self.screening_image_time_enter = NumberLineEdit(
|
||||
0.0005, 10.0, 0.005, decimals=4, parent=self
|
||||
)
|
||||
grid_layout.addWidget(self.image_time_enter, 4, 1)
|
||||
grid_layout.addWidget(QLabel("s", parent=self), 4, 2)
|
||||
self._layout.addWidget(self.screening_image_time_enter, 5, 1, 1, 3)
|
||||
self._layout.addWidget(QLabel("s", parent=self), 5, 4)
|
||||
|
||||
self.screening_type = QComboBox(parent=self)
|
||||
self.screening_type.addItem("1 image", {"steps": 1, "omega_step_deg": 0})
|
||||
@@ -52,9 +44,12 @@ class ScreeningDataCollectionPanel(QWidget):
|
||||
self.screening_type.addItem("2 images every 45°", {"steps": 2, "omega_step_deg": 45})
|
||||
self.screening_type.addItem("4 images every 45°", {"steps": 4, "omega_step_deg": 45})
|
||||
|
||||
grid_layout.addWidget(self.screening_type, 5, 0, 1, 3)
|
||||
self._layout.addWidget(self.screening_type, 6, 0, 1, 5)
|
||||
|
||||
self._layout.addWidget(QLabel("<B>Measurement</B>", parent=self), 8, 0, 1, 5)
|
||||
|
||||
|
||||
horizontal_spacer = QSpacerItem(
|
||||
40, 20, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
|
||||
)
|
||||
grid_layout.addItem(horizontal_spacer, 6, 0, 1, 3)
|
||||
self._layout.addItem(horizontal_spacer, 9, 0, 1, 5)
|
||||
|
||||
Reference in New Issue
Block a user