GUI: Dedicated directory for raster files

This commit is contained in:
2025-07-15 09:57:16 +02:00
parent a875c6a1d9
commit a245771ebd
2 changed files with 18 additions and 26 deletions
@@ -56,8 +56,8 @@ class DataCollectionSettings(QFrame):
raster_mgr.update_filename(self.file_path_panel.filename)
self.screening.update_filename(self.file_path_panel.filename)
self.file_path_panel.path_updated.connect(raster_mgr.update_filename)
self.file_path_panel.path_updated.connect(self.screening.update_filename)
self.file_path_panel.raster_path_updated.connect(raster_mgr.update_filename)
self.file_path_panel.meas_path_updated.connect(self.screening.update_filename)
self.__sample_id = None
@Slot()
+16 -24
View File
@@ -9,7 +9,8 @@ from aaregui.widgets.title_label import TitleLabel
class FilePathPanel(QWidget):
path_updated = Signal(str)
raster_path_updated = Signal(str)
meas_path_updated = Signal(str)
def __init__(self, parent=None):
super().__init__(parent)
@@ -25,14 +26,8 @@ class FilePathPanel(QWidget):
grid_layout.addWidget(TitleLabel("Dataset path", self), 0, 0, 1, 2)
self.save_file_checkbox = QCheckBox("Save data to file system", parent=self)
self.save_file_checkbox.setChecked(True)
self.save_file_checkbox.stateChanged.connect(self.update_filename)
self.save_file_checkbox.setToolTip("If not checked, images will be viewable in the preview interface, but no file will be saved on file system.")
grid_layout.addWidget(self.save_file_checkbox, 1, 0, 1, 2)
grid_layout.addWidget(QLabel("Directory", parent=self), 2, 0)
self.directory_edit = QLineEdit("{date}/{puck}/{pos}", parent=self)
grid_layout.addWidget(QLabel("Directory", parent=self), 1, 0)
self.directory_edit = QLineEdit("{type}/{date}/{puck}/{pos}", parent=self)
self.directory_edit.setStyleSheet("background-color: rgb(255, 255, 255);")
self.directory_edit.setToolTip("Provide subdirectory for your files. The following macros are allowed: <br/>"
"<b>{date}</b> - date in format yyyymmdd <br/>"
@@ -40,10 +35,11 @@ class FilePathPanel(QWidget):
"<b>{pos}</b> - pin position in puck <br/>"
"<b>{sample}</b> - sample name <br/>"
"<b>{sample_id}</b> - sample id <br/>"
"<b>{type}</b> - \"raster\" or \"data\" <br/>"
"<b>{prefix}</b> - file prefix value")
grid_layout.addWidget(self.directory_edit, 2, 1)
grid_layout.addWidget(self.directory_edit, 1, 1)
grid_layout.addWidget(QLabel("File prefix", parent=self), 3, 0)
grid_layout.addWidget(QLabel("File prefix", parent=self), 2, 0)
self.file_prefix_edit = QLineEdit("{sample}", parent=self)
self.file_prefix_edit.setStyleSheet("background-color: rgb(255, 255, 255);")
self.file_prefix_edit.setToolTip("Provide file prefix for your files. The following macros are allowed: <br/>"
@@ -53,20 +49,20 @@ class FilePathPanel(QWidget):
"<b>{sample}</b> - sample name <br/>"
"<b>{sample_id}</b> - sample id")
grid_layout.addWidget(self.file_prefix_edit, 3, 1)
grid_layout.addWidget(self.file_prefix_edit, 2, 1)
grid_layout.addWidget(QLabel("Run number", parent=self), 4, 0)
grid_layout.addWidget(QLabel("Run number", parent=self), 3, 0)
self.run_number_edit = QSpinBox(parent=self)
self.run_number_edit.setStyleSheet("background-color: rgb(255, 255, 255);")
self.run_number_edit.setValue(1)
self.run_number_edit.setRange(1, 999)
self.run_number_edit.setAlignment(Qt.AlignmentFlag.AlignRight)
grid_layout.addWidget(self.run_number_edit, 4, 1)
grid_layout.addWidget(self.run_number_edit, 3, 1)
grid_layout.addWidget(QLabel("File name", parent=self), 5, 0)
grid_layout.addWidget(QLabel("File name", parent=self), 4, 0)
self.file_name_label = QLabel(parent=self)
self.file_name_label.setWordWrap(True)
grid_layout.addWidget(self.file_name_label, 5, 1)
grid_layout.addWidget(self.file_name_label, 4, 1)
self.directory_edit.textChanged.connect(self.set_directory)
self.file_prefix_edit.textChanged.connect(self.set_file_prefix)
@@ -74,13 +70,6 @@ class FilePathPanel(QWidget):
self.update_filename()
def update_filename(self):
if not self.save_file_checkbox.isChecked():
self.__filename = ""
self.file_name_label.setText("No file will be saved.")
self.file_name_label.setStyleSheet("color: rgb(128, 128, 128);")
self.path_updated.emit(self.__filename)
return
dir_name = self.directory_edit.text()
file_prefix = self.file_prefix_edit.text()
run_number = self.run_number_edit.value()
@@ -105,10 +94,13 @@ class FilePathPanel(QWidget):
self.__filename = self.__filename.replace('{puck}', self.__puck_name)
self.__filename = self.__filename.replace('{pos}', f"{self.__puck_pos:02d}")
self.__filename = self.__filename.replace('{sample_id}', f"{self.__sample_id}")
raster = self.__filename.replace('{type}', 'raster')
self.__filename = self.__filename.replace('{type}', 'data')
self.file_name_label.setText(self.__filename + "_master.h5")
self.file_name_label.setStyleSheet("color: rgb(0, 0, 0);")
self.path_updated.emit(self.__filename)
self.meas_path_updated.emit(self.__filename)
self.raster_path_updated.emit(raster)
@Slot()
def increment_run_number(self):