From a245771ebd80bb4a5d209f9b0a61baf8d39d3f21 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Thu, 10 Jul 2025 16:47:54 +0200 Subject: [PATCH] GUI: Dedicated directory for raster files --- .../panels/data_collection_settings.py | 4 +- gui/src/aaregui/panels/file_path_panel.py | 40 ++++++++----------- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/gui/src/aaregui/panels/data_collection_settings.py b/gui/src/aaregui/panels/data_collection_settings.py index c9ca73c2..ec274517 100644 --- a/gui/src/aaregui/panels/data_collection_settings.py +++ b/gui/src/aaregui/panels/data_collection_settings.py @@ -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() diff --git a/gui/src/aaregui/panels/file_path_panel.py b/gui/src/aaregui/panels/file_path_panel.py index 31809a3b..29cdc5be 100644 --- a/gui/src/aaregui/panels/file_path_panel.py +++ b/gui/src/aaregui/panels/file_path_panel.py @@ -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:
" "{date} - date in format yyyymmdd
" @@ -40,10 +35,11 @@ class FilePathPanel(QWidget): "{pos} - pin position in puck
" "{sample} - sample name
" "{sample_id} - sample id
" + "{type} - \"raster\" or \"data\"
" "{prefix} - 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:
" @@ -53,20 +49,20 @@ class FilePathPanel(QWidget): "{sample} - sample name
" "{sample_id} - 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):