def refresh(self): if self.data_collection is not None: acq = self.data_collection.acquisitions[0] paths = acq.get_preview_image_paths() if acq.acquisition_parameters.shutterless and len(paths) > 1: temp = [paths[0], paths[-1]] paths = temp self.image_path = acq.path_template.get_image_path() self.image_tracking_widget_layout.current_path_ledit.setText( self.image_path % acq.acquisition_parameters.first_image) self.image_tracking_widget_layout.image_num_spinbox.setValue( acq.acquisition_parameters.first_image) self.image_tracking_widget_layout.image_num_spinbox.setRange( acq.acquisition_parameters.first_image, acq.acquisition_parameters.first_image + acq.acquisition_parameters.num_images - 1, ) self.image_tracking_widget_layout.first_image_label.setPixmap( qt_import.QPixmap(paths[0])) if len(paths) > 1: self.image_tracking_widget_layout.last_image_label.setPixmap( qt_import.QPixmap(paths[1]))
def update_pin_icon(self): dc_tree_widget = self.listView().parent() if dc_tree_widget._loaded_sample_item: dc_tree_widget._loaded_sample_item.setIcon(0, qt_import.QPixmap()) dc_tree_widget._loaded_sample_item = self self.setIcon(0, qt_import.QIcon(dc_tree_widget.pin_pixmap))
def __init__(self, *args): BaseWidget.__init__(self, *args) # Hardware objects ---------------------------------------------------- # Internal values ----------------------------------------------------- self.num_cols = None self.num_rows = None self.num_drops = None self.current_location = None self.plate_content = None self.xtal_map = None # Properties ---------------------------------------------------------- self.add_property("icons", "string", "") # Signals ------------------------------------------------------------- # Slots --------------------------------------------------------------- # Graphic elements ---------------------------------------------------- self.plate_navigator_widget = PlateNavigatorWidget(self) self.crims_widget = qt_import.load_ui_file( "plate_crims_widget_layout.ui") # Layout -------------------------------------------------------------- _main_vlayout = qt_import.QVBoxLayout(self) _main_vlayout.addWidget(self.plate_navigator_widget) _main_vlayout.addWidget(self.crims_widget) _main_vlayout.setSpacing(0) _main_vlayout.setContentsMargins(0, 0, 0, 0) # Qt signal/slot connections ------------------------------------------ self.crims_widget.search_button.clicked.connect( self.search_button_clicked) self.crims_widget.move_button.clicked.connect( self.move_to_xtal_clicked) self.crims_widget.abort_button.clicked.connect(self.abort_clicked) self.crims_widget.xtal_treewidget.currentItemChanged.connect( self.xtal_treewidget_current_item_changed) # Other --------------------------------------------------------------- self.xtal_image_graphicsscene = qt_import.QGraphicsScene(self) self.crims_widget.xtal_image_graphicsview.setScene( self.xtal_image_graphicsscene) self.xtal_image_pixmap = qt_import.QPixmap() self.xtal_image_graphics_pixmap = qt_import.QGraphicsPixmapItem() self.xtal_image_graphicsscene.addItem(self.xtal_image_graphics_pixmap) if HWR.beamline.plate_manipulator is not None: self.connect( HWR.beamline.plate_manipulator, SampleChanger.INFO_CHANGED_EVENT, self.plate_navigator_widget.refresh_plate_location, )
def display_snapshot(self, image, width=None): if image is not None: if width is not None: ration = image.height() / float(image.width()) image = image.scaled( width, width * ration, qt_import.Qt.KeepAspectRatio, qt_import.Qt.SmoothTransformation ) self.setFixedWidth(width) self.snapshot_label.setPixmap(qt_import.QPixmap(image))
def populate_parameter_widget(self, tree_view_item): """ Descript. : """ self._tree_view_item = tree_view_item self._char = tree_view_item.get_model() self._data_collection = self._char.reference_image_collection self._char_params = self._char.characterisation_parameters self._char_params_mib.set_model(self._char.characterisation_parameters) self._set_space_group(self._char_params.space_group) self.acq_widget.update_data_model( self._char.reference_image_collection.acquisitions[0]. acquisition_parameters, self._char.reference_image_collection.acquisitions[0]. path_template, ) self.path_widget.update_data_model( self._char.reference_image_collection.acquisitions[0].path_template ) if self._data_collection.acquisitions[ 0].acquisition_parameters.centred_position.snapshot_image: image = self._data_collection.acquisitions[ 0].acquisition_parameters.centred_position.snapshot_image ration = image.height() / float(image.width()) image = image.scaled( 400, 400 * ration, qt_import.Qt.KeepAspectRatio, qt_import.Qt.SmoothTransformation, ) self.position_widget.svideo.setPixmap(qt_import.QPixmap(image)) self.toggle_permitted_range(self._char_params.use_permitted_rotation) self.enable_opt_parameters_widget( self._char_params.determine_rad_params) self.enable_maximum_res_ledit(self._char_params.use_aimed_resolution) self.enable_aimed_mult_ledit(self._char_params.use_aimed_multiplicity) item = self.char_type_widget.charact_type_tbox.widget( self._char_params.experiment_type) if item: self.char_type_widget.charact_type_tbox.setCurrentWidget(item) self.char_type_widget.toggle_time_dose() crystal = self._char.reference_image_collection.crystal self.acq_widget.set_energies(crystal.energy_scan_result)