Commit 4ff87a38 authored by Vlatko, Carolina's avatar Vlatko, Carolina

todo

parent b700e139
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate
# Solo levanto algunos experimentos
Files = """
000020800-UV_Scan_withcalib_Haeffner
000020811-UV_Scan_withcalib_Haeffner
000020815-UV_Scan_withcalib_Haeffner
"""
os.chdir(r'C:\Users\Carolina\Documents\artiq master yoga\artiq_experiments\analisis\plots\20250416_UVspectra_bladetrap\Data')
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220503_EspectrosUVnuevos\Data
def SeeKeys(files):
for i, fname in enumerate(files.split()):
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
print(fname)
print(list(data['datasets'].keys()))
#%%
Amps = []
Freqs = []
Counts = []
T_readouts = []
for i, fname in enumerate(Files.split()):
print(SeeKeys(Files))
print(i)
print(fname)
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
print(list(data['datasets'].keys()))
Amps.append(np.array(data['datasets']['UV_Amplitudes']))
Freqs.append(np.array(data['datasets']['UV_Frequencies']))
Counts.append(np.array(data['datasets']['counts_spectrum']))
T_readouts.append(np.array(data['datasets']['t_readout']))
#def GetBackground(countsper100ms, )
#%%
from scipy.special import jv
def Lorentzian(f, A, x0, gamma, offset):
return (A/np.pi)*0.5*gamma/(((f-x0)**2)+((0.5*gamma)**2)) + offset #es el piso de ruido estimado
#primero muestro las meds 0 y 1 que son dos mediciones con potencia UV quizas un poco
#alta pero en la segunda el ion esta un poquito mejor compensado y se ve cómo se afina el espectro
n = 1
jvec = [n]
plt.figure()
for j in jvec:
FreqsChosen = [2*f*1e-6 for f in Freqs[j]]
CountsChosen = Counts[j]
portion = 0.
p0=[12000, 208, 30, 100]
offset = 200
popt, pcov = curve_fit(Lorentzian, FreqsChosen[int(portion*len(FreqsChosen)):], CountsChosen[int(portion*len(FreqsChosen)):], p0=p0)
freqslong = np.arange(min(FreqsChosen)-10, max(FreqsChosen)+10, (FreqsChosen[1]-FreqsChosen[0])*0.01)
plt.errorbar(FreqsChosen, CountsChosen, yerr=np.sqrt(np.array(CountsChosen)), fmt='o', capsize=5, markersize=5)
# plt.plot(freqslong, Lorentzian(freqslong, popt[0], popt[1], popt[2]), label=f'FWHM {round(popt[1])} MHz')
plt.plot(freqslong, Lorentzian(freqslong, popt[0], popt[1], popt[2], popt[3]), label=f'FWHM {round(popt[2],1)} MHz')
#plt.axvline(popt[2]-22.1, linestyle='--', linewidth=1)
#plt.axvline(popt[2]+22.1, linestyle='--', linewidth=1)
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('Cuentas')
plt.legend()
#plt.savefig(Files.split("\n")[n+1] + ".png")
#print(f'Ancho medido: {round(popt[2])} MHz')
#%%
from scipy.special import jv
from scipy.optimize import curve_fit
def Lorentzian(f, A, gamma, x0):
return (A/np.pi)*0.5*gamma/(((f-x0)**2)+((0.5*gamma)**2))
def MicromotionSpectra(det, A, beta, x0, gamma):
ftrap=22.1
#gamma=28
P = A*(jv(0, beta)**2)/(((det-x0)**2)+(0.5*gamma)**2)+100
i = 1
#print(P)
while i <= 2:
P = P + A*((jv(i, beta))**2)/((((det-x0)+i*ftrap)**2)+(0.5*gamma)**2) + A*((jv(-i, beta))**2)/((((det-x0)-i*ftrap)**2)+(0.5*gamma)**2)
i = i + 1
#print(P)
return P
jvec = [7] #UV_cooling en 90 MHz
plt.figure()
for j in jvec:
FreqsChosen = [2*f*1e-6 for f in Freqs[j]]
CountsChosen = Counts[j]
portion = 0.
popt, pcov = curve_fit(MicromotionSpectra, FreqsChosen[int(portion*len(FreqsChosen)):], CountsChosen[int(portion*len(FreqsChosen)):],p0=[100000,0.1,215, 22], bounds=((0,0,0, 0),(10000000,10,300, 100)))
print(popt)
freqslong = np.arange(min(FreqsChosen)-10, max(FreqsChosen)+10, (FreqsChosen[1]-FreqsChosen[0])*0.01)
plt.errorbar(FreqsChosen, CountsChosen, yerr=np.sqrt(np.array(CountsChosen)), fmt='o', capsize=5, markersize=5)
#plt.plot(freqslong, Lorentzian(freqslong, popt[0], popt[1], popt[2]), label=f'FWHM {round(popt[1])} MHz')
plt.plot(freqslong, MicromotionSpectra(freqslong, *popt), label=f'FWHM 30 MHz')
#plt.axvline(popt[2]+2*22.1, linestyle='--', linewidth=1)
#plt.axvline(popt[2]+22.1, linestyle='--', linewidth=1)
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('Cuentas')
plt.legend()
print(f'Beta: {round(popt[1],2)}')
#%%
from scipy.special import jv
def Lorentzian(f, A, x0, gamma, offset):
offset = 50
return (A/np.pi)*0.5*gamma/(((f-x0)**2)+((0.5*gamma)**2)) + offset #40 es el piso de ruido estimado
#para tres potencias distintas del UV:
jvec = [2,3,4,5]
plt.figure()
for j in jvec:
FreqsChosen = [2*f*1e-6 for f in Freqs[j]]
CountsChosen = Counts[j]
portion = 0.
popt, pcov = curve_fit(Lorentzian, FreqsChosen[int(portion*len(FreqsChosen)):], CountsChosen[int(portion*len(FreqsChosen)):], p0=[12000, 208, 30, 30])
freqslong = np.arange(min(FreqsChosen)-10, max(FreqsChosen)+10, (FreqsChosen[1]-FreqsChosen[0])*0.01)
plt.errorbar(FreqsChosen, CountsChosen, yerr=np.sqrt(np.array(CountsChosen)), fmt='o', capsize=5, markersize=5)
#plt.plot(freqslong, Lorentzian(freqslong, popt[0], popt[1], popt[2]), label=f'FWHM {round(popt[1])} MHz')
plt.plot(freqslong, Lorentzian(freqslong, popt[0], popt[1], popt[2], popt[3]), label=f'FWHM {round(popt[2],1)} MHz')
#plt.axvline(popt[2]-22.1, linestyle='--', linewidth=1)
#plt.axvline(popt[2]+22.1, linestyle='--', linewidth=1)
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('Cuentas')
plt.legend()
print(popt)
print(f'Ancho medido: {round(popt[2])} MHz')
#%%
from scipy.special import jv
from scipy.optimize import curve_fit
def Lorentzian(f, A, gamma, x0):
return (A/np.pi)*0.5*gamma/(((f-x0)**2)+((0.5*gamma)**2))
def MicromotionSpectra(det, A, beta, x0, gamma):
ftrap=22.1
#gamma=35
P = A*(jv(0, beta)**2)/(((det-x0)**2)+(0.5*gamma)**2)+100
i = 1
#print(P)
while i <= 2:
P = P + A*((jv(i, beta))**2)/((((det-x0)+i*ftrap)**2)+(0.5*gamma)**2) + A*((jv(-i, beta))**2)/((((det-x0)-i*ftrap)**2)+(0.5*gamma)**2)
i = i + 1
#print(P)
return P
jvec = [6, 7] #6, 7, 8: tres compensaciones distintas. la 8 en realidad el ion se fue un pcoo del pinhole entonces se ve mas chica
plt.figure()
for j in jvec:
FreqsChosen = [2*f*1e-6 for f in Freqs[j]]
CountsChosen = Counts[j]
portion = 0.
popt, pcov = curve_fit(MicromotionSpectra, FreqsChosen[int(portion*len(FreqsChosen)):], CountsChosen[int(portion*len(FreqsChosen)):],p0=[100000,0.1,215, 30], bounds=((0,0,0,0),(10000000,10,300,100)))
freqslong = np.arange(min(FreqsChosen)-10, max(FreqsChosen)+10, (FreqsChosen[1]-FreqsChosen[0])*0.01)
plt.errorbar(FreqsChosen, CountsChosen, yerr=np.sqrt(np.array(CountsChosen)), fmt='o', capsize=5, markersize=5, label=f'Beta: {round(popt[1],2)}, Gamma: {round(popt[3],1)}')
#plt.plot(freqslong, Lorentzian(freqslong, popt[0], popt[1], popt[2]), label=f'FWHM {round(popt[1])} MHz')
plt.plot(freqslong, MicromotionSpectra(freqslong, *popt))
#plt.axvline(popt[2]+2*22.1, linestyle='--', linewidth=1)
#plt.axvline(popt[2]+22.1, linestyle='--', linewidth=1)
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('Cuentas')
plt.legend()
print(f'Beta: {round(popt[1],2)}')
\ No newline at end of file
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 23 14:52:32 2025
@author: carolina
"""
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
def bin_time_arrivals(arrival_times, tau):
"""
Binea los tiempos de llegada de los fotones según el periodo tau.
Parameters:
arrival_times (numpy array): Vector con los tiempos de llegada de los fotones.
tau (float): Periodo de bineado.
Returns:
numpy array: Vector con los tiempos bienados.
"""
return arrival_times - tau * (arrival_times // tau)
def sinusoidal(x, A, C, D):
return A * np.sin(2*np.pi*freqrf * x + C) + D
def sinusoidal(x, A, C, D):
return A * np.sin(2*np.pi*freqrf * x + C) + D
def lorentzian(x,A,b,C,det,fase,cte):
det = -10e6*2*np.pi
return A*((C**2)/(C**2 + (det-b*2*np.pi*freqrf*np.sin(2*np.pi*freqrf*x+fase))**2))+cte
def dropnan(a):
return a[~np.isnan(a)]
path = "/home/carolina/Documents/artiq_experiments/analisis/plots/20250421_fluorescencorrelation/"
freqrf = 7262766.1
taurf = 1/freqrf
meds = [20889, 20890, 20891, 20892, 20893, 20894, 20895, 20896, 20897, 20898, 20899, 20900, 20901, 20903, 20904 , 20905 , 20906, 20907, 20908, 20909, 20910, 20911]
Vdouble = [0, 10, 20, 40, 50, 50, 55, 55, 55, 60, 65, 70, 75, 80, 85, 90,100, 110, 130, 150, 170, 190]
y_mean_values = []
y_max_of_norm_values = []
y_max = []
params_meds = []
Vdouble_fitted = []
amp_fitted = []
amp_fitted_err = []
offset_fitted = []
meds = [meds[-1]]
for i, med in enumerate(meds):
#print(i)
filename = f"0000{med}-FluorescenceCorrelation.h5"
data = h5py.File(path + filename, 'r')
x_data = dropnan(np.array(data['datasets']['x_data']))
y_data = dropnan(np.array(data['datasets']['y_data']))
y_data_2 = dropnan(np.array(data['datasets']['y_data_2']))
"""
Grafico temporal replicado 3 veces a la frecuencia dada
"""
plt.figure(1, figsize=(8, 4))
try:
params, pcov = curve_fit(sinusoidal, x_data, y_data)
perr = np.sqrt(np.diag(pcov))
plt.plot(x_data, sinusoidal(x_data, *params), linestyle='--', label="Ajuste sinusoidal", color='black',linewidth=3,zorder=2)
# params, _ = curve_fit(lorentzian, x_data, y_data)
# plt.plot(x_data, lorentzian(x_data, *params), linestyle='--', label="Ajuste completo", color='black',linewidth=3,zorder=2)
Vdouble_fitted.append(Vdouble[i])
amp_fitted.append(params[0])
amp_fitted_err.append(perr[0])
offset_fitted.append(params[2])
except:
pass
plt.plot(x_data, y_data)
plt.xlabel("Tiempo bineado (repetido 3 veces)")
plt.show()
y_mean_values.append(np.mean(y_data_2))
y_max_of_norm_values.append(np.max(y_data))
y_max.append(np.max(y_data_2))
plt.figure(2), plt.clf()
plt.errorbar(Vdouble_fitted, np.abs(amp_fitted),fmt = '.', yerr=amp_fitted_err)
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20221006_transitoriosv2')
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20250313_fluorescencecorrelationtests/Data')
def expo(T, tau, N0, C):
global T0
return N0*np.exp(-(T-T0)/tau) + C
def pow_from_amp(amp):
"""Paso de amplitud urukul a potencia medida por Nico"""
# Forma altamente ineficiente de hacer esto, pero me salio asi
amplitudes_UV = np.flip(np.array([0.08, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20, 0.22, 0.24, 0.26, 0.28, 0.30]))
assert amp in amplitudes_UV
potencias_UV = np.flip(np.array([4, 10, 19, 32, 49, 71, 96, 125, 155, 183, 208, 229]))
return potencias_UV[np.where(amplitudes_UV == amp)][0]
def SP_Bkgr_builder(amp_in, amp_fin, derivadainicio, derivadafin, longbins):
CalibCurve = []
j=0
while j<longbins:
if j<=derivadainicio:
CalibCurve.append(amp_in)
elif j>=derivadainicio and j<=derivadafin:
pendiente=(amp_fin-amp_in)/(derivadafin-derivadainicio)
CalibCurve.append(amp_in+pendiente*(j-derivadainicio))
else:
CalibCurve.append(amp_fin)
j=j+1
return CalibCurve
"""
plt.plot(amplitudes_UV, potencias_UV, 'ko-', lw=0.2)
plt.xlabel("Amplitud Urukul")
plt.ylabel("Potencia /uW")
plt.grid()
"""
#%%
import scipy.fftpack
BINW = 1e-2
T0 = -0.4e-6
files = [20583]
SP_Heigths = []
SP_Bins = []
for i, fname in enumerate(files):
#print(i)
#print(fname)
#data = h5py.File('0000'+str(fname)+'-MicromotionCompensation.h5', 'r')
data = h5py.File('0000'+str(fname)+'-CRB.h5', 'r')
# counts = np.array(data['datasets']['countsrf'])
counts = np.array(data['datasets']['counts'])
bines = np.arange(counts.min(), counts.max()+BINW, BINW)
heigs, binsf = np.histogram(counts, bines[bines>T0])
SP_Heigths.append(heigs)
SP_Bins.append(binsf)
#freq: 7.262 mhZ
for k in range(len(counts)):
print(counts[k]-counts[k-1])
#print(1e-6/(counts[k]-counts[k-1]))
#%%
"""
Esto binea fotones asumienod que la cantidad de fotones que llegan en un intervalo tau
esta modulada por una funcion periodica. Entonces a los tiempos de llegada entre
0 y tau no les hace nada, a los tiempos entre tau y 2tau les resta tau,
a los tiempos entre 2tau y 3tau les resta tau, y asi. Y despues
binea y ajusta con una sinusoidal y devuelve la frecuencia del ajuste.
Asi anda barbaro para ver la oscilacion a casi 50 Hz
"""
def bin_time_arrivals(arrival_times, tau):
"""
Binea los tiempos de llegada de los fotones según el periodo tau.
Parameters:
arrival_times (numpy array): Vector con los tiempos de llegada de los fotones.
tau (float): Periodo de bineado.
Returns:
numpy array: Vector con los tiempos bienados.
"""
return arrival_times - tau * (arrival_times // tau)
#taurf = 1/(22.135e6)
taurf = 1/(22.135e6)
tiemposarreglados = bin_time_arrivals(counts, taurf)
b = taurf/100 # Ancho de bineo
bins = np.arange(0, taurf, b)
hist, bin_edges = np.histogram(tiemposarreglados, bins=bins)
colors = ['b', 'g', 'r'] # Colores para cada repetición
x_extended = np.concatenate([bin_edges[:-1] + i * taurf for i in range(3)])
y_extended = np.tile(hist, 3)
def sinusoidal(x, A, B, C, D):
return A * np.sin(B * x + C) + D
x_extended_dense = np.arange(np.min(x_extended),np.max(x_extended),0.1*(x_extended[1]-x_extended[0]))
params, _ = curve_fit(sinusoidal, x_extended, y_extended, p0=[max(y_extended), 2*np.pi/taurf, 0, np.mean(y_extended)])
# Graficar los datos y el ajuste
plt.figure(figsize=(8, 4))
plt.plot(x_extended, y_extended, marker='o', linestyle='-', label="Datos", color='gray')
plt.plot(x_extended_dense, sinusoidal(x_extended_dense, *params), linestyle='--', label="Ajuste sinusoidal", color='red')
for i in range(3):
plt.plot(bin_edges[:-1] + i * taurf, hist, marker='o', linestyle='-', color=colors[i])
plt.xlabel("Tiempo bineado (repetido 3 veces)")
plt.ylabel("Frecuencia")
plt.title("Distribución de tiempos bineados con ajuste sinusoidal")
plt.legend()
plt.show()
print(f'Frecuencia del ajuste: {round(params[1]/(2*np.pi),2)} Hz')
#%%
"""
Esto deberia hacerse asi para ver la oscilacion a la RF (micromocion)
"""
BINW = 1e-2
T0 = -0.4e-6
#files = [20577,20578,20579,20580,20581] #el 19613 es el que muestra el pico en 48.5 Hz
files = [20586] #el 19613 es el que muestra el pico en 48.5 Hz
def bin_time_arrivals(arrival_times, tau):
"""
Binea los tiempos de llegada de los fotones según el periodo tau.
Parameters:
arrival_times (numpy array): Vector con los tiempos de llegada de los fotones.
tau (float): Periodo de bineado.
Returns:
numpy array: Vector con los tiempos bienados.
"""
return arrival_times - tau * (arrival_times // tau)
SP_Heigths = []
SP_Bins = []
plt.figure()
for i, fname in enumerate(files):
#print(i)
#print(fname)
data = h5py.File('0000'+str(fname)+'-CRB.h5', 'r')
counts = np.array(data['datasets']['counts'])
bines = np.arange(counts.min(), counts.max()+BINW, BINW)
heigs, binsf = np.histogram(counts, bines[bines>T0])
SP_Heigths.append(heigs)
SP_Bins.append(binsf)
"""
Amplitud en funcion de la frecuencia de bineo de la rf
"""
freqrf = 7.2618e6
freqrfvec = np.arange(7262765,7262767,0.01)
amps = []
for freqrf in freqrfvec:
taurf = 1/freqrf
tiemposarreglados = bin_time_arrivals(counts, taurf)
b = taurf/50 # Ancho de bineo
bins = np.arange(0, taurf, b)
hist, bin_edges = np.histogram(tiemposarreglados, bins=bins)
colors = ['b', 'g', 'r'] # Colores para cada repetición
x_extended = np.concatenate([bin_edges[:-1] + i * taurf for i in range(3)])
y_extended = np.tile(hist, 3)
def sinusoidal(x, A, C, D):
return A * np.sin(2*np.pi*freqrf * x + C) + D
x_extended_dense = np.arange(np.min(x_extended),np.max(x_extended),0.1*(x_extended[1]-x_extended[0]))
params, _ = curve_fit(sinusoidal, x_extended, y_extended, p0=[max(y_extended), 0, np.mean(y_extended)])
amps.append(np.abs(params[0]))
plt.plot([f*1e-6 for f in freqrfvec],amps,'o')
plt.xlabel('Frecuencia RF (MHz)')
plt.ylabel('Amplitud oscilacion')
"""
Grafico temporal replicado 3 veces a la frecuencia dada
"""
freqrf = 7262766.1
taurf = 1/freqrf
tiemposarreglados = bin_time_arrivals(counts, taurf)
b = taurf/50 # Ancho de bineo
bins = np.arange(0, taurf, b)
hist, bin_edges = np.histogram(tiemposarreglados, bins=bins)
colors = ['b', 'g', 'r'] # Colores para cada repetición
x_extended = np.concatenate([bin_edges[:-1] + i * taurf for i in range(3)])
y_extended = np.tile(hist, 3)
def sinusoidal(x, A, C, D):
return A * np.sin(2*np.pi*freqrf * x + C) + D
def lorentzian(x,A,b,C,det,fase,cte):
det = -10e6*2*np.pi
return A*((C**2)/(C**2 + (det-b*2*np.pi*freqrf*np.sin(2*np.pi*freqrf*x+fase))**2))+cte
x_extended_dense = np.arange(np.min(x_extended),np.max(x_extended),0.1*(x_extended[1]-x_extended[0]))
#params, _ = curve_fit(sinusoidal, x_extended, y_extended, p0=[max(y_extended), 0, np.mean(y_extended)])
params, _ = curve_fit(lorentzian, x_extended, y_extended, p0=[1,1,1e7,1e7,1,1])
amps.append(np.abs(params[0]))
# Graficar los datos y el ajuste
plt.figure(figsize=(8, 4))
#plt.plot(x_extended_dense, sinusoidal(x_extended_dense, *params), linestyle='--', label="Ajuste sinusoidal", color='black',linewidth=3,zorder=2)
plt.plot(x_extended_dense, lorentzian(x_extended_dense, *params), linestyle='--', label="Ajuste completo", color='black',linewidth=3,zorder=2)
for i in range(3):
plt.plot(bin_edges[:-1] + i * taurf, hist, marker='o', linestyle='-', color=colors[i],markersize=3,zorder=1)
plt.xlabel("Tiempo bineado (repetido 3 veces)")
plt.ylabel("Frecuencia")
plt.title("Distribución de tiempos bineados con ajuste sinusoidal")
#plt.ylim(0,np.max(hist)*1.2)
plt.ylim(0,400)
plt.legend()
plt.show()
print(f'Amplitud normalizada: {np.abs(round(100*params[0]/params[2],3))}%')
print(f'Beta: {np.abs(params[1])}')
......@@ -14,7 +14,8 @@ Primero tengo mediciones de espectros cpt de un ion variando la tension dc_A
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20231123_CPTconmicromocion3/Data/')
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20250516_CPT_bladetrap/Data')
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20250516_CPT_bladetrap/Data')
os.chdir(r'C:\Users\Carolina\Documents\artiq_experiments\analisis\plots\20250516_CPT_bladetrap\Data')
CPT_FILES = """000021278-IR_Scan_simple
......@@ -64,7 +65,6 @@ Ploteo curvas para ver que tal son
jvec = [1] # de la 1 a la 9 vale la pena, despues no
plt.figure()
i = 0
for j in jvec:
......@@ -72,7 +72,7 @@ for j in jvec:
plt.errorbar([2*f*1e-6 for f in Frequencies], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2)
i = i + 1
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('counts')
plt.ylabel('Counts')
plt.grid()
# plt.legend()
......
# -*- coding: utf-8 -*-
"""
Created on Sun May 18 19:12:45 2025
@author: Carolina
"""
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate
"""
Primero tengo mediciones de espectros cpt de un ion variando la tension dc_A
"""
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20231123_CPTconmicromocion3/Data/')
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20250516_CPT_bladetrap/Data')
os.chdir(r'C:\Users\Carolina\Documents\artiq_experiments\analisis\plots\20250516_CPT_bladetrap\Data2')
VDown = [-177, -175, -173, -171, -170, -170, -168, -166]
meds = [21368, 21367, 21369, 21370, 21366,21390, 21391, 21392]
CPT_FILES = [f"0000{med}-IR_Scan_simple" for med in meds]
def SeeKeys(files):
for i, fname in enumerate(files.split()):
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
print(fname)
print(list(data['datasets'].keys()))
Counts = []
Freqs = []
AmpTisa = []
UVCPTAmp = []
No_measures = []
Voltages = []
for i, fname in enumerate(CPT_FILES):
print(str(i) + ' - ' + fname)
#print(fname)
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
# Aca hago algo repugnante para poder levantar los strings que dejamos
# que además tenian un error de tipeo al final. Esto no deberá ser necesario
# cuando se solucione el error este del guardado.
Freqs.append(np.array(data['datasets']['IR1_Frequencies']))
Counts.append(np.array(data['datasets']['counts_spectrum']))
#AmpTisa.append(np.array(data['datasets']['TISA_CPT_amp']))
print(np.array(data['datasets']['no_measures']))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment