def configuration(self): # bring file dialog to locate where the file will be saved base_folder = Path(self.parent.working_dir) directory = str(base_folder.parent) _export_folder = QFileDialog.getExistingDirectory( self.parent, directory=directory, caption="Select Output Folder", options=QFileDialog.ShowDirsOnly) if _export_folder: data, metadata = self.get_data_metadata_from_selection_tab() # collect initial selection size (x0, y0, width, height) o_get = Get(parent=self.parent) [x0, y0, x1, y1, width, height] = o_get.selection_roi_dimension() name_of_ascii_file = ExportHandler.makeup_name_of_profile_ascii_file( base_name=str(base_folder.name), export_folder=_export_folder, x0=x0, y0=y0, width=width, height=height) make_ascii_file(metadata=metadata, data=data, output_file_name=name_of_ascii_file, dim='1d') self.parent.ui.statusbar.showMessage( "{} has been created!".format(name_of_ascii_file), 10000) # 10s self.parent.ui.statusbar.setStyleSheet("color: green")
def update_selection_profile_plot(self): if self.parent.is_file_imported: self.update_selection_plot() self.parent.update_vertical_line_in_profile_plot() else: o_get = Get(parent=self.parent) x_axis, x_axis_label = o_get.x_axis() self.parent.ui.profile.clear() # large selection region [x0, y0, x1, y1, _, _] = o_get.selection_roi_dimension() profile = o_get.profile_of_roi(x0, y0, x1, y1) x_axis, y_axis = check_size(x_axis=x_axis, y_axis=profile) self.parent.ui.profile.plot(x_axis, y_axis, pen=(self.parent.selection_roi_rgb[0], self.parent.selection_roi_rgb[1], self.parent.selection_roi_rgb[2])) # shrinkable region shrinking_roi = self.get_coordinates_of_new_inside_selection_box() x0 = shrinking_roi['x0'] y0 = shrinking_roi['y0'] x1 = shrinking_roi['x1'] y1 = shrinking_roi['y1'] profile = o_get.profile_of_roi(x0, y0, x1, y1) x_axis, y_axis = check_size(x_axis=x_axis, y_axis=profile) self.parent.ui.profile.plot(x_axis, y_axis, pen=(self.parent.shrinking_roi_rgb[0], self.parent.shrinking_roi_rgb[1], self.parent.shrinking_roi_rgb[2])) self.parent.ui.profile.setLabel("bottom", x_axis_label) self.parent.ui.profile.setLabel("left", 'Mean transmission') # vertical line showing peak to fit bragg_edge_range = [ x_axis[self.parent.bragg_edge_range[0]], x_axis[self.parent.bragg_edge_range[1]] ] self.parent.bragg_edge_range_ui = pg.LinearRegionItem( values=bragg_edge_range, orientation=None, brush=None, movable=True, bounds=None) self.parent.bragg_edge_range_ui.sigRegionChanged.connect( self.parent.bragg_edge_range_changed) self.parent.bragg_edge_range_ui.setZValue(-10) self.parent.ui.profile.addItem(self.parent.bragg_edge_range_ui)