def scan_peak(id): aname = 's2' try: if DEBUGGING : aname = 'dummy_motor' except: pass pos = eval('peak_' + str(id + 1) + '.value') if id < 3: exec('axis_min.value=' + 'peak_' + str(id + 1) + '.value-2') exec('axis_max.value=' + 'peak_' + str(id + 1) + '.value+2') elif id == 3: exec('axis_min.value=' + 'peak_' + str(id + 1) + '.value-3.5') exec('axis_max.value=' + 'peak_' + str(id + 1) + '.value+2') elif id == 4: exec('axis_min.value=' + 'peak_' + str(id + 1) + '.value-3') exec('axis_max.value=' + 'peak_' + str(id + 1) + '.value+3') sicsext.call_back = __load_experiment_data__ print 'scan on ' + aname print 'scan_' + str(id + 1) + '.value' spara = eval('scan_' + str(id + 1) + '.value') print spara exec('sicsext.runbmonscan(\'' + aname + '\', ' + spara + ', 0, \'call_back()\')') time.sleep(2) slog('Nexus file: ' + str(sicsext.getBaseFilename())) pos_index.value = id + 1 fit_curve(axis_min.value, axis_max.value) if id == 3: fit_2nd_peak(peak_4.value + 2, peak_4.value + 6)
def find_a2(): aname = 'a2' try: if DEBUGGING : aname = 'dummy_motor' except: pass axis_name.value = aname sicsext.call_back = __load_experiment_data__ slog('bmonscan ' + aname + ' ' + scan.value) exec('sicsext.runbmonscan(\'' + aname + '\', ' + scan.value + ', 0, \'call_back()\')') time.sleep(2) slog('Nexus file: ' + str(sicsext.getBaseFilename())) fit_curve()
def load_experiment_data(): basename = sicsext.getBaseFilename() fullname = str(System.getProperty('sics.data.path') + '/' + basename) df.datasets.clear() ds = df[fullname] dname = str(data_name.value) data = SimpleData(ds[dname]) # data = ds[str(data_name.value)] axis = SimpleData(ds[str(axis_name.value)]) if data.size > axis.size: data = data[:axis.size] if normalise.value : if dname == 'bm1_counts': tname = 'bm1_time' elif dname == 'bm2_counts': tname = 'bm2_time' else: tname = 'detector_time' norm = ds[tname] if norm != None and hasattr(norm, '__len__'): avg = norm.sum() / len(norm) niter = norm.item_iter() if niter.next() <= 0: niter.set_curr(1) data = data / norm * avg ds2 = Dataset(data, axes=[axis]) ds2.title = ds.id ds2.location = fullname fit_min.value = axis.min() fit_max.value = axis.max() Plot1.set_dataset(ds2) Plot1.x_label = axis_name.value Plot1.y_label = str(data_name.value) Plot1.title = str(data_name.value) + ' vs ' + axis_name.value Plot1.pv.getPlot().setMarkerEnabled(True)
def load_experiment_data(): basename = sicsext.getBaseFilename() fullname = str(System.getProperty('sics.data.path') + '/' + basename) df.datasets.clear() ds = df[fullname] dname = str(data_name.value) data = SimpleData(ds[dname]) # data = ds[str(data_name.value)] axis = SimpleData(ds[str(axis_name.value)]) if data.size > axis.size: data = data[:axis.size] if normalise.value: if dname == 'bm1_counts': tname = 'bm1_time' elif dname == 'bm2_counts': tname = 'bm2_time' else: tname = 'detector_time' norm = ds[tname] if norm != None and hasattr(norm, '__len__'): avg = norm.sum() / len(norm) niter = norm.item_iter() if niter.next() <= 0: niter.set_curr(1) data = data / norm * avg ds2 = Dataset(data, axes=[axis]) ds2.title = ds.id ds2.location = fullname fit_min.value = axis.min() fit_max.value = axis.max() Plot1.set_dataset(ds2) Plot1.x_label = axis_name.value Plot1.y_label = str(data_name.value) Plot1.title = str(data_name.value) + ' vs ' + axis_name.value Plot1.pv.getPlot().setMarkerEnabled(True)