Nantes Université
Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
D
discrimination_eq_q
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de modèles
Surveillance
Service d'assistance
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Celine HOURCADE
discrimination_eq_q
Validations
75d93c06
Vérifiée
Valider
75d93c06
rédigé
il y a 2 ans
par
Mickael Bonnin
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Single 'spectro_extract' func in 'data_process'
parent
956fe263
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion
!5
Merge main to CH_master
,
!3
Merge MB_master to main
Modifications
1
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
1 fichier modifié
data_process.py
+12
-88
12 ajouts, 88 suppressions
data_process.py
avec
12 ajouts
et
88 suppressions
data_process.py
+
12
−
88
Voir le fichier @
75d93c06
...
...
@@ -71,8 +71,8 @@ def get_fft(trace: op.core.trace.Trace, WINDOW_LENGTH: int,
return
result
,
freqs
def
spectro_extract
_valid
(
data_dir
:
str
,
spectro_dir
:
str
,
events_list
:
list
)
->
None
:
def
spectro_extract
(
data_dir
:
str
,
spectro_dir
:
str
,
events_list
:
list
=
None
)
->
None
:
"""
Compute the spectrograms that will be used for the validation.
The matrices are saved as NumPy objects.
...
...
@@ -88,90 +88,10 @@ def spectro_extract_valid(data_dir: str, spectro_dir: str,
WINDOW_LENGTH
=
1
OVERLAP
=
(
1
-
0.75
)
print
(
f
'
Number of events:
{
len
(
events_list
)
}
'
)
nb_evt
=
0
for
a
in
range
(
len
(
events_list
)):
nb_evt
+=
1
print
(
'
*****************
'
)
print
(
f
'
EVENT
{
nb_evt
}
/
{
len
(
events_list
)
}
'
)
time
=
events_list
[
a
][
0
]
if
not
os
.
path
.
exists
(
f
'
{
spectro_dir
}
/
{
time
}
'
):
os
.
makedirs
(
f
'
{
spectro_dir
}
/
{
time
}
'
)
list_stream
=
glob
.
glob
(
f
'
{
data_dir
}
/
{
time
}
/*
'
)
print
(
f
'
Number of stream:
{
len
(
list_stream
)
}
'
)
nb_st
=
0
for
stream
in
list_stream
:
nb_st
+=
1
print
(
f
'
Stream
{
nb_st
}
/
{
len
(
list_stream
)
}
\r
'
)
st
=
op
.
read
(
stream
,
dtype
=
float
)
stream_name
=
(
stream
.
split
(
'
/
'
)[
-
1
]).
split
(
'
.mseed
'
)[
0
]
st
.
detrend
(
'
demean
'
)
st
.
taper
(
0.05
)
st
=
st
.
filter
(
'
highpass
'
,
freq
=
2
,
corners
=
4
,
zerophase
=
True
)
if
st
[
0
].
stats
.
sampling_rate
==
200
:
st
.
decimate
(
2
)
compo
=
[]
for
tr
in
st
:
compo
.
append
(
tr
.
stats
.
component
)
if
len
(
compo
)
!=
3
:
continue
spectro
=
[]
find
=
False
for
c
in
compo
:
trace
=
st
.
select
(
component
=
c
)[
0
]
s_rate
=
trace
.
stats
.
sampling_rate
nb_pts
=
int
(
WINDOW_LENGTH
*
s_rate
)
fft_list
=
[]
time_used
=
[]
start
=
trace
.
stats
.
starttime
END
=
trace
.
stats
.
endtime
while
start
+
WINDOW_LENGTH
<=
END
:
tr
=
trace
.
slice
(
starttime
=
start
,
endtime
=
start
+
WINDOW_LENGTH
)
mean_time
=
tr
.
stats
.
starttime
+
(
WINDOW_LENGTH
/
2
)
time_used
.
append
(
mean_time
-
trace
.
stats
.
starttime
)
start
+=
(
WINDOW_LENGTH
*
OVERLAP
)
fft
,
_
=
get_fft
(
tr
,
WINDOW_LENGTH
,
OVERLAP
,
nb_pts
)
fft
=
np
.
array
(
fft
)
fft_list
.
append
(
fft
)
fft_list
=
np
.
array
(
fft_list
)
if
fft_list
.
shape
==
(
237
,
50
):
# OVERLAP 75% : (237,50)
fft_list
/=
fft_list
.
max
()
spectro
.
append
(
fft_list
)
find
=
True
if
find
==
True
and
len
(
spectro
)
==
3
:
spectro
=
np
.
array
(
spectro
)
np
.
save
(
f
'
{
spectro_dir
}
/
{
time
}
/
{
stream_name
}
.npy
'
,
spectro
)
def
spectro_extract_pred
(
data_dir
:
str
,
spectro_dir
:
str
)
->
None
:
"""
Compute the spectrogramms that will be used for the prediction.
The spectrograms are saved as NumPy objects.
:type data_dir: str
:param data_dir: Absolute path the input data.
:type spectro_dir: str
:param spectro_dir: Absolute path where to save the output spectrograms.
"""
WINDOW_LENGTH
=
1
OVERLAP
=
(
1
-
0.75
)
events
=
glob
.
glob
(
f
'
{
data_dir
}
/*
'
)
if
events_list
is
None
:
events
=
glob
.
glob
(
f
'
{
data_dir
}
/*
'
)
else
:
events
=
events_list
print
(
f
'
Number of events:
{
len
(
events
)
}
'
)
nb_evt
=
0
...
...
@@ -179,14 +99,18 @@ def spectro_extract_pred(data_dir: str, spectro_dir: str) -> None:
nb_evt
+=
1
print
(
'
*****************
'
)
print
(
f
'
EVENT
{
nb_evt
}
/
{
len
(
events
)
}
'
)
time
=
events
[
a
].
split
(
'
/
'
)[
-
1
]
if
events_list
is
None
:
time
=
events
[
a
].
split
(
'
/
'
)[
-
1
]
else
:
time
=
events
[
a
][
0
]
if
not
os
.
path
.
exists
(
f
'
{
spectro_dir
}
/
{
time
}
'
):
os
.
makedirs
(
f
'
{
spectro_dir
}
/
{
time
}
'
)
list_stream
=
glob
.
glob
(
f
'
{
data_dir
}
/
{
time
}
/*
'
)
print
(
f
'
Number of stream:
{
len
(
list_stream
)
}
'
)
print
(
f
'
Number of stream
s
:
{
len
(
list_stream
)
}
'
)
nb_st
=
0
for
stream
in
list_stream
:
nb_st
+=
1
...
...
This diff is collapsed.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter