Example #1
0
 def saveMtx(self):
     if self.dispData['mtx ']:
         savename = self.dispData['mtx ']
         res = self.dicData['res']  # this contains the calculation results
         logging.debug('Save .mtx:' + str(savename))
         on = self.dicData['hdf5_on']
         savemtx(savename + 'cII.mtx', np.expand_dims(res.IQmapM_avg[0], axis=0), on.headerII)
         savemtx(savename + 'cQQ.mtx', np.expand_dims(res.IQmapM_avg[1], axis=0), on.headerQQ)
         savemtx(savename + 'cIQ.mtx', np.expand_dims(res.IQmapM_avg[2], axis=0), on.headerIQ)
         savemtx(savename + 'cQI.mtx', np.expand_dims(res.IQmapM_avg[3], axis=0), on.headerQI)
         self.update_data_disp()
 def save_data(self):
     for K in range(self.matrix3d.shape[0]):
         savemtx(self._folder + self.filen[K], self.matrix3d[K], header=self.head[K])
Example #3
0

'''
# meas specific to change mag field to flux
# simply comment this paragraph out
n = 1
d.n3 = [dim(name=d.stepInst[n],
            start=sPar[3],
            stop=sPar[4],
            pt=sPar[8],
            scale=1)
        for sPar in d.stepItems[n]]
d.n3 = d.n3[0]
'''

'''
# (x-140.5e-3)/479.6e-3+ 0.5
# header1 = make_header(d.n3, d.n2, d.n1, meas_data=('Photons [#]'))
header1 = make_header(d.n3, d.n2, d.n1, meas_data=('Pow [W]'))
savemtx('mtx_out//' + filein + '.mtx', MAT1, header=header1)

factor = 10
y = (d.n2.lin*d.n2.lin/50.0)  # position of the data
MAT2 = np.zeros([2, d.shape[0]*factor, d.shape[1]])
MAT2[0] =interp_y(y, MAT1[0], factor=factor)
MAT2[1] =interp_y(y, MAT1[1], factor=factor)
y2 = np.linspace(y[0], y[-1], len(y)*factor)
d.dim_y2 = d.n2
d.dim_y2.start = y2[0]
d.dim_y2.stop = y2[-1]
d.dim_y2.pt = len(y2)
assignRaw(0)  # aquire data points
makeheader(0, mapdim)  # create headers and define histogram axis

IIm = np.zeros([leng, mapdim[0], mapdim[1]])
QQm = np.zeros([leng, mapdim[0], mapdim[1]])
IQm = np.zeros([leng, mapdim[0], mapdim[1]])
QIm = np.zeros([leng, mapdim[0], mapdim[1]])
# IQ1m = np.zeros([leng, mapdim[0], mapdim[1]])
# IQ2m = np.zeros([leng, mapdim[0], mapdim[1]])

for i in range(leng):  #this is the main loop
    for j in range(dy):
        assignRaw(i+j*201)
        correctPhase()
        makehist2d(i+j*201)
        IIm[i] += on.IIdmap
        QQm[i] += on.QQdmap
        IQm[i] += on.IQdmap
        QIm[i] += on.QIdmap
        # IQ1m[i] = on.IQ1dmap
        # IQ2m[i] = on.IQ2dmap

savemtx(fnum+'II.mtx', IIm, on.headerII)
savemtx(fnum+'QQ.mtx', QQm, on.headerQQ)
savemtx(fnum+'IQ.mtx', IQm, on.headerIQ)
savemtx(fnum+'QI.mtx', QIm, on.headerQI)
# savemtx(fnum+'IQ1m.mtx', IQ1m, on.headerIQ1)
# savemtx(fnum+'IQ2m.mtx', IQ2m, on.headerIQ2)
on.close()
off.close()
    vc.make_cvals()
    BLnM[i, :, :], BLnM2[i, :, :], MIneq[i, :, :], Mn1[i, :, :], Mn2[i, :, :] = NMatrix(vc, vc2)
vc.d1.name = 'Signal/Noise'
vc.d1.pt = num0
vc.d1.start = 0.0
vc.d1.stop = 8.0

# convert to effective Phi0
vc.d3.start = vc.d3.start*0.0113
vc.d3.stop = vc.d3.stop*0.0113

ext = 'med_'

savename3 = fname+ext+'n1.mtx'
headtxt3 = make_header(vc.d3, vc.d2, vc.d1, meas_data='n1')
savemtx(savename3, Mn1, headtxt3)

savename4 = fname+ext+'n2.mtx'
headtxt4 = make_header(vc.d3, vc.d2, vc.d1, meas_data='n2')
savemtx(savename4, Mn2, headtxt4)

savename5 = fname+ext+'IneQ.mtx'
headtxt5 = make_header(vc.d3, vc.d2, vc.d1, meas_data='Ineq')
savemtx(savename5, MIneq, headtxt5)

savename = fname+ext+'LogN.mtx'
headtxt = make_header(vc.d3, vc.d2, vc.d1, meas_data='Log-Negativity')
savemtx(savename, BLnM, headtxt)

savename2 = fname+ext+'ineqSq.mtx'
headtxt2 = make_header(vc.d3, vc.d2, vc.d1, meas_data='Squeezing-Ineq')
        dim_3.set_freq_cw(dim_3val)
        #sleep(5.2)

        dim_2.sweep_v(dim_2.start, 4)
        sleep(4.2)
        for jj in range(dim_2.pt):
            dim_2val = dim_2.lin[jj] 
            dim_2.sweep_v(dim_2val, 0.1)
            
            vdata = sweep_dim1(dim_1,dim_1b) #sweep dim1 & dim_1b
            phase_data = np.angle(vdata)        
            matrix3d_1[kk,jj] = vdata.real
            matrix3d_2[kk,jj] = vdata.imag
            matrix3d_3[kk,jj] = np.absolute(vdata)
            matrix3d_4[kk,jj] = np.unwrap(phase_data)
            savemtx(folder + filen_1, matrix3d_1, header = head_1)
            savemtx(folder + filen_2, matrix3d_2, header = head_2)
            savemtx(folder + filen_3, matrix3d_3, header = head_3)
            savemtx(folder + filen_4, matrix3d_4, header = head_4)
            
            t1 = time()
            remaining_time = ((t1-t0)/(jj+1)*dim_2.pt*dim_3.pt - (t1-t0))
            print 'req time (h):'+str(remaining_time/3600)

finally:
    print 'Finish measurements'
    print 'Time used :' +str(time()-t0)
    print 'Yokos -> zero and switch off'
    dim_1b.sweep_v(0, 5)
    dim_2.sweep_v(0, 5)
    sleep(5.2)
vc2 = sn.variable_carrier()
fname = '1150_'
vc2.fifolder = '1150//'
vc2.LP = 0.0
vc2.Texp = 0.007
vc2.snr = 0.0
folder1 = fname+'OFF//'
vc2.filein1 = folder1 + fname + 'CovMat_cI1I1.mtx'
vc2.filein2 = folder1 + fname + 'CovMat_cQ1Q1.mtx'
vc2.filein3 = folder1 + fname + 'CovMat_cI2I2.mtx'
vc2.filein4 = folder1 + fname + 'CovMat_cQ2Q2.mtx'
vc2.filein6 = folder1 + fname + 'CovMat_cI1I2.mtx'
vc2.filein7 = folder1 + fname + 'CovMat_cI1Q2.mtx'
vc2.filein8 = folder1 + fname + 'CovMat_cQ1I2.mtx'
vc2.filein9 = folder1 + fname + 'CovMat_cQ1Q2.mtx'
vc2.filein10 = folder1 + fname + 'CovMat_cI1Q1.mtx'
vc2.filein11 = folder1 + fname + 'CovMat_cI2Q2.mtx'
vc2.filein5 = fname + 'Vx1k.mtx'
vc2.RTR = 1012 * 1e3  # RT resistor for
vc2.load_and_go()

LnM, LnM2 = NMatrix(vc, vc2, cpt=4, SnR=1)

savename = '1150_LogN.mtx'
savename2 = '1150_ineqSq.mtx'
headtxt = make_header(vc.d3, vc.d2, vc.d1, meas_data='Log-Negativity')
savemtx(savename, LnM, headtxt)
headtxt2 = make_header(vc.d3, vc.d2, vc.d1, meas_data='Squeezing-Ineq')
savemtx(savename2, LnM2, headtxt2)
 def save_data(self):
     savemtx(self._folder + self._filen_1, self.matrix3d_1, header = self._head_1)
#grab lockin response and extract lockin filter function:
'''
lockin_response = parser.loadcsv(filename_lockinfilter)
lockin_response = lockin_response[0]
'''
lockin_response = parser.loaddat(filename_3)
lockin_val = np.array(lockin_response[1])

#calculate and return a normalized and shrinked filter
lockin_filter = sim.filter2d_lockin(lockin_val) 
#lockin_filter = sim.shrink_extend_array(lockin_filter, t_p)

#the following cropping of the filter, is done by manual selection
filt_peakidx = lockin_filter.argmax()
filt_crop = (filt_peakidx*2)
filt_fun = lockin_filter[0:filt_crop]

#renormalize croped filter
filt_fun = sim.norm_filter(filt_fun) 

print 'convolve matrix with filter function'
matrix3d = sim.get_matrix_lockin_convolved(matrix3d, filt_fun)


print ' ------- Save data as MTX file --------'
head = ['Units', 'X Y R [V]#values',
        'Time (us)', str(t_array[0]), str(t_array[-1]),
        'RF frequency (MHz)', str(w_array[0]/2/np.pi), str(w_array[-1]/2/np.pi), 
        'Ringd_Q', str(Qr_array[0]), str(Qr_array[-1])]
parser.savemtx(filename_1, matrix3d, header = head)
MAT1[1] = d.data[:, 5, :]
MAT1[2], MAT1[3] = get_MP(d, 6)
MAT1[4], MAT1[5] = get_MP(d, 8)
MAT1[6], MAT1[7] = get_MP(d, 10)
MAT1[8], MAT1[9] = get_MP(d, 12)

# MAT2[-1] = d.data[:, -1, :]

M2 = np.zeros((MAT1.shape[0], d.n2[0].pt, d.n3.pt))
M3 = np.zeros((MAT1.shape[0], d.n2[1].pt, d.n3.pt))
M3 = MAT1[:, :d.n2[0].pt, :]
M2 = MAT1[:, d.n2[0].pt-1:, :]

# meas specific to change mag field to flux
# simply comment this paragraph out
xoff = 140.5e-3  # 139.3e-3
x1flux = 479.6e-3
d.n2[0].lin =  (d.n2[0].lin-xoff)/x1flux + 0.5
d.n2[0].start = d.n2[0].lin[0]
d.n2[0].stop =  d.n2[0].lin[-1]
d.n2[0].name = 'Flux/Flux0'
d.n2[1].lin =  (d.n2[1].lin-xoff)/x1flux + 0.5
d.n2[1].start = d.n2[1].lin[0]
d.n2[1].stop =  d.n2[1].lin[-1]
d.n2[1].name = 'Flux/Flux0'

header2 = make_header(d.n3, d.n2[0], d.n1, meas_data=('a.u.'))
header1 = make_header(d.n3, d.n2[1], d.n1, meas_data=('a.u.'))
savemtx('mtx_out//' + filein + '.mtx', M3, header=header1)
savemtx('mtx_out//' + filein + '2' + '.mtx', M2, header=header2)
Example #11
0
d.n1.stop = d.n1.lin[-1]
d.n1.name = 'Flux/Flux0'

MAT1 = np.zeros([8, d.shape[0], d.shape[1]])
MAT1[0] = d.D1mag
MAT1[1] = d.D2mag
MAT1[2] = d.D1phase
MAT1[3] = d.D2phase
MAT1[4] = d.D1Pow
MAT1[5] = d.D2Pow
MAT1[6] = d.D1Pow2
MAT1[7] = d.D2Pow2


header1 = make_header(d.n1, d.n2, d.n2, meas_data='est. Photon #')
savemtx('output//S1_480_V.mtx', MAT1, header=header1)

y = (d.n2.lin*d.n2.lin/50.0)  # position of the data

MAT2 = np.zeros([2, d.shape[0]*10, d.shape[1]])
y2, MAT2[0] = interp_y(y, d.D1Pow2, factor=10)
y2, MAT2[1] = interp_y(y, d.D2Pow2, factor=10)

d.dim_y2 = d.n2
d.dim_y2.start = y2[0]*1e3
d.dim_y2.stop = y2[-1]*1e3
d.dim_y2.pt = len(y2)
d.dim_y2.lin = y2*1e3
d.dim_y2.name = 'Pump power (mW)'

header2 = make_header(d.n1, d.dim_y2, d.n2, meas_data='est. Photon #')
Example #12
0
head1 = make_header(magnet, freq, dim_3, 'S11 S12 S21 S22 Z L')
dim_3.prepare_data_save(magnet, freq, dim_3)


for jj, f0 in enumerate(freq.lin):
    for ii, flux in enumerate(magnet.lin):
        # b = k = 2pi/wavelength; wavelength = velocity / frequency
        b = 2.0*pi*f0/v
        L = flux0 / (Ic*2.0*pi* abs(cos(pi*flux/flux0)))
        Ysq = (1.0/R + 1.0/(i*2.0*pi*f0*L +i*1e-90) + i*2.0*pi*f0*Cap)
        Zsq = 1.0/Ysq

        ABCD_Matrix = tline(70,b,0.01)*tline(50,b,0.3)*tline(10,b,900e-6)*sres(Zsq)*shunt(0.1)

        #record stuff into dim_3._SMat
        dim_3.record_SM(ABCD_Matrix,jj,ii)
        dim_3.record_ZL(Zsq,L, jj,ii)

    dim_3.unwrap_SM(jj)
    dim_3._SMat[9,jj] = unwrap(dim_3._SMat[9,jj])

plt.figure(1)
plt.subplot(2, 1, 1)
plt.imshow(dim_3._SMat[0], aspect = 'auto',cmap=plt.get_cmap('seismic'))
plt.subplot(2, 1, 2)
plt.imshow(dim_3._SMat[1], aspect = 'auto',cmap=plt.get_cmap('seismic'))
plt.show()

savemtx('resultdata3.mtx', dim_3._SMat, header = head1) #mtx file can be opened by spyview
#Link to Spyview: http://nsweb.tn.tudelft.nl/~gsteele/spyview/

def search(chanList, searchString):
    for i, k in enumerate(chanList):
        if searchString in k:
            return i, k
    return None


def get_MP(d, chnum):
    compx = 1j * d.data[:, chnum + 1, :]
    compx += d.data[:, chnum, :]
    return np.abs(compx), np.angle(compx)


MAT1 = np.zeros([7, d.shape[0], d.shape[1]])
MAT1[0] = d.data[:, 1, :]
MAT1[1] = d.data[:, 2, :]
MAT1[2], MAT1[3] = get_MP(d, 7)
MAT1[4], MAT1[5] = get_MP(d, 9)
MAT1[-1] = d.data[:, -1, :]

M2 = np.zeros((7, d.n2[0].pt, d.n3.pt))
M3 = np.zeros((7, d.n2[1].pt, d.n3.pt))
M3 = MAT1[:, : d.n2[0].pt, :]
M2 = MAT1[:, d.n2[0].pt - 1 :, :]
header2 = make_header(d.n3, d.n2[1], d.n1, meas_data=("a.u."))
header1 = make_header(d.n3, d.n2[0], d.n1, meas_data=("a.u."))
savemtx("mtx_out//" + filein + ".mtx", M3, header=header1)
savemtx("mtx_out//" + filein + "2" + ".mtx", M2, header=header2)
 def save_data(self):
     savemtx(self._folder+self._filen_1,
             self._matrix3d_1, header=self._head_1)
     if self.UD is True:
         savemtx(self._folder + self._filen_2,
                 self._matrix3d_2, header=self._head_1)
Example #15
0
 def save_processed(self):
     if self.dispData['mtx ']:
         savename = self.dispData['mtx ']
         logging.debug('Save data as mtx files: ' + str(savename))
         on = self.dicData['hdf5_on']
         res = self.dicData['res']  # this contains the calculation results
         savemtx(savename + 'IImaps.mtx', res.IQmapMs_avg[:, 0, :, :], on.headerII)
         savemtx(savename + 'QQmaps.mtx', res.IQmapMs_avg[:, 1, :, :], on.headerQQ)
         savemtx(savename + 'IQmaps.mtx', res.IQmapMs_avg[:, 2, :, :], on.headerIQ)
         savemtx(savename + 'QImaps.mtx', res.IQmapMs_avg[:, 3, :, :], on.headerQI)
         savemtx(savename + 'cs_avg_QI.mtx', res.cs_avg, on.headerQI)
         savemtx(savename + 'cs_avg_QI_off.mtx', res.cs_avg_off, on.headerQI)
         filename = savename + 'n1n2rawSq1InNoi1Sq2dn1offn2offphs.mtx'
         dataset = np.array([res.ns[:, 0], res.ns[:, 1], res.sqs, res.ineqs, res.noises, res.sqs2-res.sqsn2, res.ns_off[:, 0], res.ns_off[:, 1], res.sqphs])
         mtxdataset = np.expand_dims(dataset, 0)
         savemtx(filename, mtxdataset)
         # gp.s([res.ns[:, 0], res.ns[:, 1], res.sqs, res.ineqs, res.noises, res.sqs2-res.sqsn2, res.ns_off[:, 0], res.ns_off[:, 1]], filename=filename)
         # gp.c('plot "' + filename + '" u 3 w lp t "Squeezing"')
         # gp.c('replot "' + filename + '" u 4 w lp t "Ineq"')
         self.update_data_disp()
 def save_data(self):
     savemtx(self._folder + self._filen_1, self._matrix3d_1, header=self._head_1)
     savemtx(self._folder + self._filen_2, self._matrix3d_2, header=self._head_2)
     savemtx(self._folder + self._filen_3, self._matrix3d_3, header=self._head_3)
     savemtx(self._folder + self._filen_4, self._matrix3d_4, header=self._head_4)
d.shape = d.data.shape

xoff = 139.3e-3
x1flux = 479.6e-3
d.dim_1.lin = (d.dim_1.lin-xoff)/x1flux + 0.5
d.dim_1.start = d.dim_1.lin[0]
d.dim_1.stop = d.dim_1.lin[-1]

MAT1 = np.zeros([6, d.shape[0], d.shape[2]])
MAT1[0] = d.data[:, 3, :]
MAT1[1] = d.data[:, 4, :]
MAT1[2] = d.D1mag
MAT1[3] = d.D1ang
MAT1[4] = d.D1pow
MAT1[5] = d.D1lev

y = (d.dim_2.lin*d.dim_2.lin/50.0)  # position of the data
y2, MAT2 = interp_y(y, d.D1pow)
d.dim_y2 = d.dim_2
d.dim_y2.start = y2[0]
d.dim_y2.stop = y2[-1]
d.dim_y2.pt = len(y2)
d.dim_y2.lin = y2


header1 = make_header(d.dim_1, d.dim_2, d.dim_3, meas_data='(a.u)')
savemtx('S1_471_DCE_MAP2_volt.mtx', MAT1, header=header1)

header2 = make_header(d.dim_1, d.dim_y2, d.dim_3, meas_data='(a.u)')
savemtx('S1_471_DCE_MAP2_wats.mtx', MAT2, header=header2)