def proc_dir(d): dv = ddict[d] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1]) dir_obj.load_dir(cu.simple_loader, maxfiles=maxfiles) amps = [] for fil_obj in dir_obj.fobjs: fil_obj.psd() stagestuff = fil_obj.get_stage_settings(axis=straighten_axis) amp = stagestuff[2] * cant_volts_to_um amps.append(amp) uamps = np.unique(amps) if len(uamps) > 1: print('STUPIDITYERROR: Multiple dirve amplitudes in directory') newlist = [] for i in [0, 1, 2]: if i == straighten_axis: newlist.append(uamps[0]) else: newlist.append(0.0) dir_obj.drive_amplitude = newlist return dir_obj
def proc_dir(d): dv = ddict[d] init_data = [dv[0], [0,0,dv[-1]], dv[1]] dir_obj = cu.Data_dir(dv[0], [0,0,dv[-1]], dv[1]) dir_obj.load_dir(cu.simple_loader) return dir_obj
def proc_dir(d): # simple directory processing function to load data and find # different cantilever positions dv = ddict[d] init_data = [dv[0], [0, 0, dv[-1]], dv[1]] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1]) dir_obj.load_dir(cu.simple_loader) return dir_obj
def proc_dir(d): dv = ddict[d] init_data = [dv[0], [0, 0, dv[-1]], dv[1]] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1]) dir_obj.load_dir(cu.simple_loader, maxfiles=maxfiles) #dir_obj.diagonalize_files return dir_obj
def proc_dir(d): dv = ddict[d] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1]) dir_obj.load_dir(cu.diag_loader, maxfiles=maxfiles) dir_obj.load_H(tf_path) if load_charge_cal: dir_obj.load_step_cal(step_cal_path) else: dir_obj.charge_step_calibration = step_calibration dir_obj.gravity_signals = force_curve_dic dir_obj.calibrate_H() dir_obj.diagonalize_files( reconstruct_lowf=True, lowf_thresh=200., #plot_Happ=True, \ build_conv_facs=True, drive_freq=18.) amps = [] for fil_obj in dir_obj.fobjs: stagestuff = fil_obj.get_stage_settings(axis=straighten_axis) amp = stagestuff[2] * cant_volts_to_um amps.append(amp) uamps = np.unique(amps) if len(uamps) > 1: print('STUPIDITYERROR: Multiple dirve amplitudes in directory') newlist = [] for i in [0, 1, 2]: if i == straighten_axis: newlist.append(uamps[0]) else: newlist.append(0.0) dir_obj.drive_amplitude = newlist return dir_obj
def proc_dir(d): dv = ddict[d] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1]) dir_obj.load_dir(cu.diag_loader, maxfiles=maxfiles) dir_obj.load_H("./trans_funcs/Hout_20160630.p") dir_obj.load_step_cal('./calibrations/step_cal_20160701.p') dir_obj.thermal_cal_file_path = '/data/20160627/bead1/1_5mbar_nocool_withap.h5' dir_obj.thermal_calibration() #dir_obj.thermal_cal_fobj.plt_thermal_fit() #dir_obj.build_Hfuncs(fpeaks=[245, 255, 50], weight_peak=False, weight_above_thresh=True,\ # plot_fits=False, weight_phase=True) dir_obj.diagonalize_files(simpleDCmat=False) dir_obj.get_conv_facs() #dir_obj.plot_H(cal=True) return dir_obj
def proc_dir(d): dv = ddict[d] dir_obj = cu.Data_dir(dv[0], [0,-40,dv[-1]], dv[1]) dir_obj.load_dir(cu.diag_loader, maxfiles = maxfiles) dir_obj.load_H(tf_path) if load_charge_cal: dir_obj.load_step_cal(step_cal_path) else: dir_obj.charge_step_calibration = step_calibration dir_obj.gravity_signals = force_curve_dic dir_obj.calibrate_H() dir_obj.diagonalize_files(reconstruct_lowf=True, lowf_thresh=lpf_freq, #plot_Happ=True, \ build_conv_facs=True, drive_freq=step_cal_drive_freq) return dir_obj
def proc_dir(d): dv = ddict[d] init_data = [dv[0], [0, 0, dv[-1]], dv[1]] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1]) files = [] # initially sort by time for path in dir_obj.paths: entries = [os.path.join(path, fn) for fn in os.listdir(path)] entries = [(os.stat(path), path) for path in entries] entries = [(stat.st_ctime, path) for stat, path in entries] entries.sort(key=lambda x: (x[0])) for thing in entries[-10:]: print(thing) for thing in entries: if '.npy' in thing[1]: continue files.append(thing[1]) dir_obj.files = files[:] dir_obj.load_dir(cu.simple_loader, maxfiles=maxfiles) #dir_obj.diagonalize_files return dir_obj
def proc_dir(d): dv = ddict[d] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1]) dir_obj.load_dir(cu.diag_loader, maxfiles=maxfiles) dir_obj.load_H(tf_path) if load_charge_cal: dir_obj.load_step_cal(step_cal_path) #dir_obj.load_step_cal('./calibrations/step_cal_TEST.p') else: dir_obj.charge_step_calibration = step_calibration dir_obj.calibrate_H() dir_obj.diagonalize_files( reconstruct_lowf=True, lowf_thresh=200., #, plot_Happ=True) \ build_conv_facs=True, cal_drive_freq=41.) #dir_obj.plot_H(cal=True) return dir_obj
time = fobj.Time if time not in time_dict: time_dict[time] = [] time_dict[time].append(fobj.fname) else: time_dict[time].append(fobj.fname) times = list(time_dict.keys()) colors_yeay = bu.get_color_map( len(times) ) f, axarr = plt.subplots(len(axes_to_plot),2,sharey='row',sharex='all',figsize=(10,12),dpi=100) for i, time in enumerate(times): newobj = cu.Data_dir(0, init_data, time) newobj.files = time_dict[time] newobj.load_dir(cu.diag_loader, maxfiles=maxfiles) newobj.load_H(tf_path) newobj.load_step_cal(step_cal_path) newobj.calibrate_H() newobj.diagonalize_files(reconstruct_lowf=True,lowf_thresh=200.,# plot_Happ=True, \ build_conv_facs=True, drive_freq=cal_drive_freq, close_dat=False) fobj = newobj.fobjs[0] #print fobj.pos_data #raw_input()
sharex='all', sharey='all', figsize=(7, 8), dpi=100) if subtract_background: f2, axarr2 = plt.subplots(3, 2, sharex='all', sharey='all', figsize=(10, 12), dpi=100) # Loop over files by cantilever position, make a new directory object for each # position then bin all of the files at that position for i, pos in enumerate(pos_keys): newobj = cu.Data_dir(0, init_data, pos) newobj.files = pos_dict[pos] newobj.load_dir(cu.diag_loader, maxfiles=maxfiles) newobj.get_avg_force_v_pos(cant_axis=cant_axis, bin_size=bin_size) # Load the calibrations newobj.load_H(tf_path) if load_charge_cal: newobj.load_step_cal(step_cal_path) else: newobj.charge_step_calibration = step_calibration newobj.calibrate_H() newobj.diagonalize_files( reconstruct_lowf=True, lowf_thresh=lpf, #plot_Happ=True, \
ylim = [6e-19, 1.5e-15] maxfiles = 100 calibrate = True tf_path = '/calibrations/transfer_funcs/Hout_20170903.p' step_cal_path = '/calibrations/step_cals/step_cal_20170903.p' res_freqs = np.array([223.9, 223.6, 46.6]) mass = (4. / 3) * np.pi * (2.4e-6)**3 * 2000 force_pos_cal = mass * (2 * np.pi * res_freqs)**2 use_force_pos_cal = True charge_cal = [[''], 'Cal', 0] charge_cal_dir_obj = cu.Data_dir(charge_cal[0], [0, 0, charge_cal[2]], charge_cal[1]) charge_cal_dir_obj.load_step_cal(step_cal_path) charge_cal_dir_obj.load_H(tf_path) charge_cal_dir_obj.calibrate_H() charge_cal_dir_obj.get_conv_facs() charge_step_facs = charge_cal_dir_obj.conv_facs pressures = [] def proc_dir(d): dv = ddict[d] init_data = [dv[0], [0, 0, dv[-1]], dv[1]] dir_obj = cu.Data_dir(dv[0], [0, 0, dv[-1]], dv[1])
import tkinter import tkinter.filedialog import os, sys from scipy.optimize import curve_fit import bead_util as bu from scipy.optimize import minimize_scalar as minimize dirs = [13, 14, 15, 16] cal = 5.0e-14 ddict = bu.load_dir_file( "/home/charles/opt_lev_analysis/scripts/dirfiles/dir_file_june2017.txt") load_from_file = False new_obj = cu.Data_dir('shit_path', [0, 0, 0], "wheeeee") new_obj.load_H("optphase2_Hout.p") #new_obj.plot_H(phase=True, label=True) Hmat = new_obj.build_avgH(fthresh=60) plt.imshow(np.abs(Hmat)) plt.show() Hmat_diag = np.linalg.inv(Hmat) plt.imshow(np.abs(Hmat_diag)) plt.show() print(np.abs(Hmat))
import numpy as np import matplotlib.pyplot as plt import cant_utils as cu dat_dir = "/data/20160429/nobead/ysweepoverz_75_65" load = True dobj = cu.Data_dir(dat_dir, [0, 0, 0]) lfun = lambda fname, sep: cu.pos_loader(fname, sep, cant_axis=1) if load == True: dobj.load_dir(lfun) dobj.save_dir() else: dobj.load_from_file() labeler = lambda fobj: str(80 - np.mean(fobj.binned_cant_data[1, 2])) def plt_sweeps(dobj, axis=1, ecal=5e-14): #plots all of the binned data for axis. for fobj in dobj.fobjs: plt.errorbar(fobj.binned_cant_data[1, 1], fobj.binned_pos_data[1, 1] * ecal, fobj.binned_data_errors[1, 1] * ecal, fmt='o-', label=labeler(fobj)) plt.xlabel("Cantilever x position") plt.ylabel("Apparent z background force")
#files = np.arange(0,40,1) files = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) maxfiles = 1000 bin_size = 5 resp_axis = 1 tf_path = './trans_funcs/Hout_20160803.p' step_cal_path = './calibrations/step_cal_20160803.p' ################# if not load_charge_cal: cal = [['/data/20160627/bead1/chargelp_withap_2nd_cal2'], 'Cal', 20] cal_dir_obj = cu.Data_dir(cal[0], [0, 0, cal[2]], cal[1]) cal_dir_obj.load_dir(cu.simple_loader) cal_dir_obj.build_step_cal_vec() cal_dir_obj.step_cal() cal_dir_obj.save_step_cal('./calibrations/step_cal_20160701.p') for fobj in cal_dir_obj.fobjs: fobj.close_dat() step_calibration = cal_dir_obj.charge_step_calibration ################# def proc_dir(d): dv = ddict[d]