Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
artiq_experiments
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nicolas Nunez Barreto
artiq_experiments
Commits
b6f6ebf4
Commit
b6f6ebf4
authored
Apr 19, 2024
by
Nicolas Nunez Barreto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sincronizo todo
parent
cd2024f7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
112 additions
and
7 deletions
+112
-7
000003283-LaserPowerCalibration.h5
...owerStabilization/Data/000003283-LaserPowerCalibration.h5
+0
-0
ScanPlotter.py
analisis/plots/20210831_PowerStabilization/ScanPlotter.py
+112
-7
No files found.
analisis/plots/20210831_PowerStabilization/Data/000003283-LaserPowerCalibration.h5
0 → 100644
View file @
b6f6ebf4
File added
analisis/plots/20210831_PowerStabilization/ScanPlotter.py
View file @
b6f6ebf4
...
@@ -7,9 +7,23 @@ import ast
...
@@ -7,9 +7,23 @@ import ast
from
scipy.optimize
import
curve_fit
from
scipy.optimize
import
curve_fit
import
os
import
os
from
scipy
import
interpolate
from
scipy
import
interpolate
"""
Programa que evidencia la calibración en frecuecnai de un AOM IR
Hay que buscar en otros archivos si no hay una medicion asi pero sin variar la potencia del AOM, o sea, sin calibrar,
para comparar y poiner la curva antes y despues de calibrar
"""
# Solo levanto algunos experimentos
# Solo levanto algunos experimentos
ALL_FILES
=
"""000003316-LaserPowerCalibration.h5"""
ALL_FILES
=
"""000003316-LaserPowerCalibration.h5
"""
FILES_WITHOUTC
=
"""000003283-LaserPowerCalibration.h5
"""
os
.
chdir
(
'/home/nico/Documents/artiq_experiments/analisis/plots/20210831_PowerStabilization/Data'
)
def
SeeKeys
(
files
):
def
SeeKeys
(
files
):
for
i
,
fname
in
enumerate
(
files
.
split
()):
for
i
,
fname
in
enumerate
(
files
.
split
()):
...
@@ -21,6 +35,10 @@ print(SeeKeys(ALL_FILES))
...
@@ -21,6 +35,10 @@ print(SeeKeys(ALL_FILES))
#carpeta pc nico labo escritorio:
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\artiq_master\results\2021-07-14\16
#C:\Users\Usuario\Documents\artiq\artiq_experiments\artiq_master\results\2021-07-14\16
Measurements_vec
=
[]
Calibration_amps_vec
=
[]
Calibration_freqs_vec
=
[]
for
i
,
fname
in
enumerate
(
ALL_FILES
.
split
()):
for
i
,
fname
in
enumerate
(
ALL_FILES
.
split
()):
print
(
i
)
print
(
i
)
print
(
fname
)
print
(
fname
)
...
@@ -29,20 +47,107 @@ for i, fname in enumerate(ALL_FILES.split()):
...
@@ -29,20 +47,107 @@ for i, fname in enumerate(ALL_FILES.split()):
# Aca hago algo repugnante para poder levantar los strings que dejamos
# 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
# que además tenian un error de tipeo al final. Esto no deberá ser necesario
# cuando se solucione el error este del guardado.
# cuando se solucione el error este del guardado.
Calibration_amps
=
np
.
array
(
data
[
'datasets'
][
'Test_Experiment_amps'
])
Calibration_amps_vec
.
append
(
np
.
array
(
data
[
'datasets'
][
'Test_Experiment_amps'
]))
Calibration_freqs
=
np
.
array
(
data
[
'datasets'
][
'Test_Experiment_freqs'
])
Calibration_freqs_vec
.
append
(
np
.
array
(
data
[
'datasets'
][
'Test_Experiment_freqs'
]))
Measurements
=
np
.
array
(
data
[
'datasets'
][
'Test_Measured_PD_IR_counts'
])
Measurements_vec
.
append
(
np
.
array
(
data
[
'datasets'
][
'Test_Measured_PD_IR_counts'
]))
NocMeasurements_vec
=
[]
NocCalibration_amps_vec
=
[]
NocCalibration_freqs_vec
=
[]
NocCalibration_freqsraw_vec
=
[]
NocCounts_vec
=
[]
for
i
,
fname
in
enumerate
(
FILES_WITHOUTC
.
split
()):
print
(
i
)
print
(
fname
)
data
=
h5py
.
File
(
fname
,
'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.
NocCalibration_amps_vec
.
append
(
np
.
array
(
data
[
'datasets'
][
'Calibration_amps_IR'
]))
NocCalibration_freqs_vec
.
append
(
np
.
array
(
data
[
'datasets'
][
'Calibration_freqs_IR'
]))
NocCalibration_freqsraw_vec
.
append
(
np
.
array
(
data
[
'datasets'
][
'Calibration_freqs_IR_Raw'
]))
NocCounts_vec
.
append
(
np
.
array
(
data
[
'datasets'
][
'PD_IR_counts'
]))
#%%
#%%
plt
.
figure
()
plt
.
figure
()
plt
.
hist
(
Measurements
)
plt
.
hist
(
Measurements_vec
[
0
])
#%%
k
=
0
plt
.
figure
()
plt
.
plot
(
Calibration_freqs_vec
[
k
],
Measurements_vec
[
k
],
'o'
)
plt
.
ylim
(
0
,
1
)
print
(
len
(
Measurements_vec
[
k
]))
#%%
k
=
0
plt
.
figure
()
plt
.
plot
([
f
*
1e-6
for
f
in
Calibration_freqs_vec
[
k
]],
Calibration_amps_vec
[
k
],
'o'
,
markersize
=
5
,
color
=
'purple'
)
plt
.
xlabel
(
'Frecuencia AOM (MHz)'
)
plt
.
ylabel
(
'Amplitud calibrada (a.u.)'
)
#%%
"""
Sin calibrar. Estas son meds para distintas amps
"""
plt
.
figure
()
plt
.
figure
()
plt
.
plot
(
Calibration_freqs
,
Calibration_amps
,
'o'
)
plt
.
plot
([
f
*
1e-6
for
f
in
NocCalibration_freqs_vec
[
k
]],
NocCounts_vec
[
k
],
'o'
,
markersize
=
5
,
color
=
'purple'
)
plt
.
xlabel
(
'Frecuencia AOM (MHz)'
)
plt
.
ylabel
(
'Voltaje PD (V)'
)
plt
.
ylim
(
0
,
1
)
#extraigo un chunk
chu
=
3
plt
.
figure
()
plt
.
figure
()
plt
.
plot
(
Calibration_freqs
,
Measurements
,
'o'
)
plt
.
plot
([
f
*
1e-6
for
f
in
NocCalibration_freqs_vec
[
k
]][
51
*
chu
:
51
*
(
chu
+
1
)],
NocCounts_vec
[
k
][
51
*
chu
:
51
*
(
chu
+
1
)],
'o'
,
markersize
=
5
,
color
=
'purple'
)
plt
.
xlabel
(
'Frecuencia AOM (MHz)'
)
plt
.
ylabel
(
'Voltaje PD (V)'
)
plt
.
ylim
(
0
,
1
)
Counts_noc
=
NocCounts_vec
[
k
][
51
*
chu
:
51
*
(
chu
+
1
)]
#%%
"""
Figura tesis
"""
import
seaborn
as
sns
paleta
=
sns
.
color_palette
(
"bright"
)
fs
=
10
ms
=
4
fig
,
ax
=
plt
.
subplots
(
2
,
sharex
=
True
,
figsize
=
(
6
,
6
))
fig
.
subplots_adjust
(
hspace
=
0.1
)
ax
[
0
]
.
plot
([
f
*
1e-6
for
f
in
Calibration_freqs_vec
[
k
]],
Measurements_vec
[
k
],
'o-'
,
color
=
paleta
[
0
],
markersize
=
ms
,
label
=
'Con calibración'
)
ax
[
0
]
.
plot
([
f
*
1e-6
for
f
in
Calibration_freqs_vec
[
k
]],
Counts_noc
[:
-
1
],
'o-'
,
color
=
paleta
[
1
],
markersize
=
ms
,
label
=
'Sin calibración'
)
ax
[
0
]
.
set_ylabel
(
'Voltaje PD (V)'
,
fontsize
=
fs
,
fontname
=
'STIXgeneral'
)
ax
[
0
]
.
set_yticks
([
0.3
,
0.35
,
0.4
,
0.45
,
0.5
])
ax
[
0
]
.
set_yticklabels
([
0.3
,
0.35
,
0.4
,
0.45
,
0.5
],
fontsize
=
fs
,
fontname
=
'STIXGeneral'
)
ax
[
0
]
.
set_ylim
(
0.26
,
0.54
)
ax
[
0
]
.
legend
(
prop
=
{
'family'
:
'STIXGeneral'
,
'size'
:
fs
})
ax
[
1
]
.
plot
([
f
*
1e-6
for
f
in
Calibration_freqs_vec
[
k
]],
Calibration_amps_vec
[
k
],
'^-'
,
markersize
=
ms
,
color
=
paleta
[
0
],
alpha
=
0.6
)
#ax[1].axhline(0.23,linewidth=ms-1,color=paleta[1],alpha=0.5,linestyle='dashed')
ax
[
1
]
.
set_ylim
(
0.19
,
0.274
)
ax
[
1
]
.
set_ylabel
(
'Amplitud calibrada (a.u.)'
,
fontsize
=
fs
,
fontname
=
'STIXgeneral'
)
ax
[
1
]
.
set_yticks
([
0.19
,
0.20
,
0.21
,
0.22
,
0.23
,
0.24
,
0.25
,
0.26
,
0.27
])
ax
[
1
]
.
set_yticklabels
([
0.19
,
0.20
,
0.21
,
0.22
,
0.23
,
0.24
,
0.25
,
0.26
,
0.27
],
fontsize
=
fs
,
fontname
=
'STIXGeneral'
)
ax
[
1
]
.
set_xticks
([
190
,
200
,
210
,
220
,
230
])
ax
[
1
]
.
set_xticklabels
([
190
,
200
,
210
,
220
,
230
],
fontsize
=
fs
,
fontname
=
'STIXGeneral'
)
ax
[
1
]
.
set_xlabel
(
'Frecuencia AOM (MHz)'
,
fontsize
=
fs
,
fontname
=
'STIXgeneral'
)
#ax[1].legend(prop={'family': 'STIXGeneral', 'size': fs})
plt
.
savefig
(
'/home/nico/Nextcloud/Nico/Doctorado/Tesis/Tesis_doctorado/Chapters/figures/Cap4/calibAOM.pdf'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment