예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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
예제 #9
0
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
예제 #10
0
        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()
    
예제 #11
0
                        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])
예제 #13
0
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")
예제 #15
0
#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]