GUI: Dedicated directory for raster files
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user