示例#1
0
def parse_and_execute(hhm, sample_stage, batch, plans_dict):
    tm = trajectory_manager(hhm)
    for ii in range(batch.rowCount()):
        experiment = batch.item(ii)
        print(experiment.item_type)
        repeat = experiment.repeat
        print(repeat)
        for jj in range(experiment.rowCount()):
            sample = experiment.child(jj)
            print('  ' + sample.name)
            print('  ' + str(sample.x))
            print('  ' + str(sample.y))
            yield from mv(sample_stage.x, sample.x, sample_stage.y, sample.y)
            for kk in range(sample.rowCount()):
                scan = sample.child(kk)
                traj_index = scan.trajectory
                print('      ' + scan.scan_type)
                plan = plans_dict[scan.scan_type]
                kwargs = {
                    'name': sample.name,
                    'comment': '',
                    'delay': 0,
                    'n_cycles': repeat
                }
                tm.init(traj_index + 1)
                yield from plan(**kwargs)
示例#2
0
    def __init__(self, hhm=None, run_prep_traj=None, *args, **kwargs):

        super().__init__(*args, **kwargs)
        self.setupUi(self)
        self.addCanvas()

        self.element = 'Scandium (21)'
        self.e0 = '4492'
        self.edge = 'K'

        self.widget_energy_selector = isstools.widgets.widget_energy_selector.UIEnergySelector(
        )
        self.layout_energy_selector_trajectory.addWidget(
            self.widget_energy_selector)
        #communication between the Energy Selector widget and Trajectory Manager
        self.widget_energy_selector.edit_E0.textChanged.connect(self.update_E0)
        self.widget_energy_selector.comboBox_edge.currentTextChanged.connect(
            self.update_edge)
        self.widget_energy_selector.comboBox_element.currentTextChanged.connect(
            self.update_element)

        self.run_prep_traj = run_prep_traj
        self.hhm = hhm
        self.hhm.angle_offset.subscribe(self.update_angle_offset)
        self.traj_manager = trajectory_manager(hhm)
        self.comboBox_slot_to_load_trajectory.addItems(
            ['1', '2', '3', '4', '5', '6', '7', '8'])
        self.comboBox_slot_to_init_trajectory.addItems(
            ['1', '2', '3', '4', '5', '6', '7', '8'])
        self.comboBox_slot_to_init_trajectory.setCurrentIndex(
            self.traj_manager.current_lut() - 1)
        try:
            pass
        #    self.trajectories = self.traj_manager.read_info(silent=True)
        #    self.trajectories = collections.OrderedDict(sorted(self.trajectories.items()))
        except OSError as err:
            print('Error loading:', err)

        self.traj_creator = trajectory(self.hhm)
        self.trajectory_path = self.hhm.traj_filepath  #'/GPFS/xf08id/trajectory/'
        self.push_build_trajectory.clicked.connect(self.build_trajectory)
        self.push_save_trajectory.clicked.connect(self.save_trajectory)
        self.push_update_offset.clicked.connect(self.update_offset)
        self.push_select_traj_file.clicked.connect(self.get_traj_names)
        self.push_load_trajectory.clicked.connect(self.load_trajectory)
        self.push_init_trajectory.clicked.connect(self.init_trajectory)
        self.push_read_traj_info.clicked.connect(self.read_trajectory_info)
        self.push_prepare_trajectory.clicked.connect(self.run_prep_traj)
        self.push_plot_traj.clicked.connect(self.plot_traj_file)
        self.push_plot_traj.setDisabled(True)
        self.push_save_trajectory.setDisabled(True)
        self.checkBox_traj_single_dir.stateChanged.connect(
            self.update_repetitions_spinbox)
        self.checkBox_traj_single_dir.stateChanged.connect(
            self.checkBox_traj_revert.setEnabled)
示例#3
0
    def __init__(self, excel_file='/nsls2/xf08id/Sandbox/ISS-Sample-Spreadsheet.xlsx', skiprows=1, hhm=None):
        self.excel_file = excel_file
        self.name = os.path.basename(excel_file)
        self._skiprows = skiprows
        self.hhm = hhm
        self.trajectory_manager = trajectory_manager(self.hhm)

        self.experiments = []
        self.trajectory_folder = '/nsls2/xf08id/trajectory'
        # Loaded pandas dataframe:
        self.experiment_table = None

        # List of all found trajectories from the file:
        self.trajectories = []

        # Unique trajectories derived from trajectories:
        self.unique_trajectories = []

        self.trajectory_filenames = []
        self.read_excel()