def load_data(N = [8], el_trans = 'min'):
	a = {}
	folder = {}
	for i in range(len(N)):
		# load data removing append for memory error!
		print 'loading data'
		for ii,tstamp in enumerate(timestamps[el_trans]['N'+str(N[i])]):
			a_temp, folder_temp = fp_funcs.load_mult_dat(tstamp, 
					ssro_calib_folder=ssro_calib_folder)

			if ii == 0:
				sweep_pts = a_temp.sweep_pts
				pts = a_temp.pts
				p0 = a_temp.p0
				u_p0 = a_temp.u_p0

			else:
				sweep_pts = np.concatenate((sweep_pts,a_temp.sweep_pts))
				pts+=a_temp.pts
				p0 = np.concatenate((p0,a_temp.p0))
				u_p0 = np.concatenate((u_p0,a_temp.u_p0))

		a_temp.pts = pts
		a_temp.p0 = p0
		a_temp.u_p0 = u_p0
		a_temp.sweep_pts = sweep_pts
		a['N'+str(N[i])] = a_temp
		folder['N'+str(N[i])] = folder_temp

		print 'data N' +str(N[i]) + 'for el_trans ' + el_trans + ' loaded'
	print 'All data for the specified N loaded via the timestamps in fp_ls'
	return a, folder
def load_data(N = [8], el_trans = 'min'):
	a = {}
	folder = {}
	for i in range(len(N)):
		# load data removing append for memory error!
		print 'loading data'
		for ii,tstamp in enumerate(timestamps[el_trans]['N'+str(N[i])]):
			a_temp, folder_temp = fp_funcs.load_mult_dat(tstamp, 
					ssro_calib_folder=ssro_calib_folder, data_folder=data_folder)

			if ii == 0:
				sweep_pts = a_temp.sweep_pts
				pts = a_temp.pts
				p0 = a_temp.p0
				u_p0 = a_temp.u_p0

			else:
				sweep_pts = np.concatenate((sweep_pts,a_temp.sweep_pts))
				pts+=a_temp.pts
				p0 = np.concatenate((p0,a_temp.p0))
				u_p0 = np.concatenate((u_p0,a_temp.u_p0))

		a_temp.pts = pts
		a_temp.p0 = p0
		a_temp.u_p0 = u_p0
		a_temp.sweep_pts = sweep_pts
		a['N'+str(N[i])] = a_temp
		folder['N'+str(N[i])] = folder_temp

		print 'data N' +str(N[i]) + 'for el_trans ' + el_trans + ' loaded'
	print 'All data for the specified N loaded via the timestamps in fp_ls'
	return a, folder
def load_data(N = [8], el_trans = 'min'):
	a = []
	folder = []
	for i in range(len(N)):
		print i
		# load data removing append for memory error!
		print 'loading data'
		a_temp, folder_temp = fp_funcs.load_mult_dat(timestamps[el_trans]['N'+str(N[i])], 
				number_of_msmts = 100,
				x_axis_step     = 0.1,
				x_axis_start    = 3.5,
				x_axis_pts_per_msmnt= 51,
				ssro_calib_folder=ssro_calib_folder)
		a.append(a_temp)
		folder.append(folder_temp)
		print 'data N' +str(N[i]) + 'for el_trans ' + el_trans + ' loaded'
	print 'All data for the specified N loaded via the timestamps in fp_ls'
	return a, folder
Esempio n. 4
0
def load_data(N=[8], el_trans='min'):
    a = []
    folder = []
    for i in range(len(N)):
        print i
        # load data removing append for memory error!
        print 'loading data'
        a_temp, folder_temp = fp_funcs.load_mult_dat(
            timestamps[el_trans]['N' + str(N[i])],
            number_of_msmts=100,
            x_axis_step=0.1,
            x_axis_start=3.5,
            x_axis_pts_per_msmnt=51,
            ssro_calib_folder=ssro_calib_folder)
        a.append(a_temp)
        folder.append(folder_temp)
        print 'data N' + str(N[i]) + 'for el_trans ' + el_trans + ' loaded'
    print 'All data for the specified N loaded via the timestamps in fp_ls'
    return a, folder
def fingerprint(disp_sim_spin = True):
    

    ###################
    ## Data location ##
    ###################
    
    timestamp ='20160110_121238'
    ssro_calib_folder = 'd:\\measuring\\data\\20160107\\172632_AdwinSSRO_SSROCalibration_Pippin_SIL1'
    a, folder = fp_funcs.load_mult_dat(timestamp, 
              number_of_msmts = 150,
              x_axis_step     = 0.1,
              x_axis_start    = 3.5,
              x_axis_pts_per_msmnt= 51,
              ssro_calib_folder=ssro_calib_folder)

    #######################
    # Add simulated spins #
    #######################

    if disp_sim_spin == True:
        print 'Starting Simulation'  
        HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms = 'plus', NV = 'Pippin')
        print 'HF_perp = ' + str(HF_perp)
        print 'HF_par = ' + str(HF_par)
        B_Field = 417.268
        tau_lst = np.linspace(0, 20e-6, 5000)
        Mt16 = SC.dyn_dec_signal(HFs_par = HF_par, HFs_orth = HF_perp,
          B_field = B_Field, N = 8, tau = tau_lst)
        FP_signal16 = ((Mt16+1)/2)

    
    ############
    ## Plotting ###
    ############

    fig = a.default_fig(figsize=(35,5))
    ax = a.default_ax(fig)
    ax.set_xlim(a.sweep_pts[0],a.sweep_pts[-1])
    start, end = ax.get_xlim()
    ax.xaxis.set_ticks(np.arange(start, end, 0.5))

    ax.set_ylim(-0.05,1.05)
   
    ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4,label = 'data') #N = 16
    
    if disp_sim_spin == True:
      colors = cm.rainbow(np.linspace(0, 1, len(HF_par)))
      for tt in range(len(HF_par)):
        ax.plot(tau_lst*1e6, FP_signal16[tt,:] ,'-',lw=.8,label = 'spin' + str(tt+1), color = colors[tt])
    if False:
        tot_signal = np.ones(len(tau_lst))
        for tt in range(len(HF_par)):
          tot_signal = tot_signal * Mt16[tt,:]
        fin_signal = (tot_signal+1)/2.0   
        ax.plot(tau_lst*1e6, fin_signal,':g',lw=.8,label = 'tot')
    

    plt.legend(loc=4)

    print folder
    plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint_short.pdf'),
        format='pdf')
    plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint_short.png'),
        format='png')

    
Esempio n. 6
0
def fingerprint(disp_sim_spin=True, RO='x'):

    ###################
    ## Data location ##
    ###################

    timestamp = '20160112_192510'
    ssro_calib_folder = 'd:\\measuring\\data\\20160107\\172632_AdwinSSRO_SSROCalibration_Pippin_SIL1'
    a, folder = fp_funcs.load_mult_dat(timestamp,
                                       number_of_msmts=120,
                                       x_axis_step=0.1,
                                       x_axis_start=3.5,
                                       x_axis_pts_per_msmnt=51,
                                       ssro_calib_folder=ssro_calib_folder)

    #######################
    # Add simulated spins #
    #######################

    if disp_sim_spin == True:

        print 'Starting Simulation'
        HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms='min', NV='Pippin')
        print 'HF_perp = ' + str(HF_perp)
        print 'HF_par = ' + str(HF_par)
        B_Field = 417.268
        tau_lst = np.linspace(0, 72e-6, 10000)
        Mt16 = SC.dyn_dec_signal(HFs_par=HF_par,
                                 HFs_orth=HF_perp,
                                 B_field=B_Field,
                                 N=16,
                                 tau=tau_lst)
        FP_signal16 = ((Mt16 + 1) / 2)

    ###############
    ## Plotting ###
    ###############

    fig = a.default_fig(figsize=(35, 5))
    ax = a.default_ax(fig)
    ax.set_xlim(3.5, 15.5)
    start, end = ax.get_xlim()
    ax.xaxis.set_ticks(np.arange(start, end, 0.5))

    ax.set_ylim(-0.05, 1.05)

    ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4, label='data')  #N = 16

    if disp_sim_spin == True:
        colors = cm.rainbow(np.linspace(0, 1, len(HF_par)))
        for tt in range(len(HF_par)):
            ax.plot(tau_lst * 1e6,
                    FP_signal16[tt, :],
                    '-',
                    lw=.8,
                    label='spin' + str(tt + 1),
                    color=colors[tt])
    if False:
        tot_signal = np.ones(len(tau_lst))
        for tt in range(len(HF_par)):
            tot_signal = tot_signal * Mt16[tt, :]
        fin_signal = (tot_signal + 1) / 2.0
        ax.plot(tau_lst * 1e6, fin_signal, ':g', lw=.8, label='tot')

    plt.legend(loc=4)

    print folder
    plt.savefig(os.path.join(folder,
                             str(disp_sim_spin) + 'fingerprint.pdf'),
                format='pdf')
    plt.savefig(os.path.join(folder,
                             str(disp_sim_spin) + 'fingerprint.png'),
                format='png')
def fingerprint(disp_sim_spin = True,xlim=None,xticks=0.5):
    
    ###################
    ## Data location ##
    ###################
    
    timestamp ='20160112_234557'#'20160111_165950'#
    ssro_calib_folder = 'd:\\measuring\\data\\20160107\\172632_AdwinSSRO_SSROCalibration_Pippin_SIL1'
    a, folder = fp_funcs.load_mult_dat(timestamp, 
              number_of_msmts = 120,
              x_axis_step     = 0.1,
              x_axis_start    = 3.5,
              x_axis_pts_per_msmnt= 51,
              ssro_calib_folder=ssro_calib_folder)


    #######################
    # Add simulated spins #
    #######################

    if disp_sim_spin == True:
            
            print 'Starting Simulation'  
            HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms = 'min', NV = 'Pippin')
            print 'HF_perp = ' + str(HF_perp)
            print 'HF_par = ' + str(HF_par)
            B_Field = 417.268
            tau_lst = np.linspace(0, 72e-6, 10000)
            Mt16 = SC.dyn_dec_signal(HFs_par = HF_par, HFs_orth = HF_perp,
              B_field = B_Field, N = 64, tau = tau_lst)
            FP_signal16 = ((Mt16+1)/2)
 
    ###############
    ## Plotting ###
    ###############

    fig = a.default_fig(figsize=(35,5))
    ax = a.default_ax(fig)
    if xlim == None:
        ax.set_xlim(3.5,15.5)
    else:
        ax.set_xlim(xlim)
    start, end = ax.get_xlim()
    ax.xaxis.set_ticks(np.arange(start, end, xticks))

    ax.set_ylim(-0.05,1.05)
    print a.sweep_pts
    ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4,label = 'data') #N = 16
    # ax.plot(b.sweep_pts, b.p0, '.-b', lw=0.4,label = 'data') #N = 16

    if disp_sim_spin == True:
      colors = cm.rainbow(np.linspace(0, 1, len(HF_par)))
      for tt in range(len(HF_par)):
        ax.plot(tau_lst*1e6, FP_signal16[tt,:] ,'-',lw=.8,label = 'spin' + str(tt+1), color = colors[tt])
    
    # # lOOK AT THIS PART. SEEMS TO HAVE NO FUNCTION
    # if False:
    #     tot_signal = np.ones(len(tau_lst))
    #     for tt in range(len(HF_par)):
    #       tot_signal = tot_signal * Mt16[tt,:]
    #     fin_signal = (tot_signal+1)/2.0   
    #     ax.plot(tau_lst*1e6, fin_signal,':g',lw=.8,label = 'tot')
    

    plt.legend(loc=4)

    print folder
    plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.pdf'),
        format='pdf')
    plt.savefig(os.path.join(folder, str(disp_sim_spin)+'fingerprint.png'),
        format='png')
Esempio n. 8
0
def fingerprint(disp_sim_spin=True,
                N=[8],
                el_trans='min',
                HF_perp=None,
                HF_par=None):

    # allowed params:
    # el_trans = ['min', 'plus']
    # N = 8, 16, 32, 64

    ###################
    ## Data location ##
    ###################

    timestamps = {}
    timestamps['min'] = {
        'N8': '20160229_114914',
        'N16': '20160229_133036',
        'N32': '20160229_152201',
        'N64': '20160229_174524'
    }
    timestamps['plus'] = {
        'N8': '20160110_121238',
        'N16': '20160110_143232',
        'N32': '20160110_170758',
        'N64': '20160110_202511'
    }
    ssro_calib_folder = 'd:\\measuring\\data\\20160107\\172632_AdwinSSRO_SSROCalibration_Pippin_SIL1'

    ### Load hyperfine params
    if disp_sim_spin == True:
        if (HF_perp == None) & (HF_par == None):
            HF_perp, HF_par = fp_funcs.get_hyperfine_params(ms=el_trans,
                                                            NV='Pippin')
        elif el_trans == 'min':
            HF_par = [x * (-1) for x in HF_par]

        # security check could be removed
        if len(HF_perp) == len(HF_par):
            pass
        else:
            print 'Unequal amount of Parallel and Perpendicular HF parameters'

        print 'HF_perp = ' + str(HF_perp)
        print 'HF_par = ' + str(HF_par)

    else:
        print 'No HF simulation'

    a = []
    folder = []
    print N
    for i in range(len(N)):
        print i
        # load data removing append for memory error!
        print 'loading data'
        a, folder = fp_funcs.load_mult_dat(timestamps[el_trans]['N' +
                                                                str(N[i])],
                                           number_of_msmts=100,
                                           x_axis_step=0.1,
                                           x_axis_start=3.5,
                                           x_axis_pts_per_msmnt=51,
                                           ssro_calib_folder=ssro_calib_folder)

        print 'data N' + str(N[i]) + ' loaded'
        ##########################
        ### 	 plot data ######
        #########################

        fig = a.default_fig(figsize=(35, 5))
        ax = a.default_ax(fig)
        ax.set_xlim(3.5, 13.5)
        start, end = ax.get_xlim()
        ax.xaxis.set_ticks(np.arange(start, end, 0.5))
        ax.set_ylim(-0.05, 1.05)
        ax.plot(a.sweep_pts, a.p0, '.-k', lw=0.4, label='data')

        #######################
        # Add simulated spins #
        #######################

        if disp_sim_spin == True:
            print 'Starting Simulation for N = ' + str(
                N[i]) + ' on transtion ' + str(el_trans)
            B_Field = 417.22
            tau_lst = np.linspace(0, 72e-6, 10000)
            Mt16 = SC.dyn_dec_signal(HFs_par=HF_par,
                                     HFs_orth=HF_perp,
                                     B_field=B_Field,
                                     N=N[i],
                                     tau=tau_lst)
            FP_signal16 = ((Mt16 + 1) / 2)

            colors = cm.rainbow(np.linspace(0, 1, len(HF_par)))
            for tt in range(len(HF_par)):
                ax.plot(tau_lst * 1e6,
                        FP_signal16[tt, :],
                        '-',
                        lw=1.5,
                        label=str(tt + 1) + ': HF_par = ' + str(HF_par[tt]) +
                        '; HF_perp = ' + str(HF_perp[tt]),
                        color=colors[tt])
            plt.legend(loc=4)

            print folder
            plt.savefig(os.path.join(folder,
                                     str(disp_sim_spin) + 'fingerprint.pdf'),
                        format='pdf')
            plt.savefig(os.path.join(folder,
                                     str(disp_sim_spin) + 'fingerprint.png'),
                        format='png')