53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
import numpy as np
|
|
from thunderhopper.filetools import search_files
|
|
from thunderhopper.modeltools import load_data, save_data
|
|
from IPython import embed
|
|
|
|
# GENERAL SETTINGS:
|
|
target_species = [
|
|
'Chorthippus_biguttulus',
|
|
'Chorthippus_mollis',
|
|
'Chrysochraon_dispar',
|
|
'Euchorthippus_declivus',
|
|
'Gomphocerippus_rufus',
|
|
'Omocestus_rufipes',
|
|
'Pseudochorthippus_parallelus',
|
|
]
|
|
search_path = '../data/inv/thresh_lp/'
|
|
save_path = '../data/inv/thresh_lp/collected/'
|
|
|
|
# ANALYSIS SETTINGS:
|
|
with_noise = False
|
|
|
|
# EXECUTION:
|
|
for i, species in enumerate(target_species):
|
|
print(f'Processing {species}')
|
|
|
|
# Fetch all species-specific song files:
|
|
incl = 'noise' if with_noise else 'pure'
|
|
all_paths = search_files(species, incl=incl, ext='npz', dir=search_path)
|
|
|
|
# Run through files:
|
|
for j, path in enumerate(all_paths):
|
|
|
|
# Load invariance data:
|
|
data, config = load_data(path, ['scales', 'measure_feat', 'thresh_rel'])
|
|
measure = data['measure_feat']
|
|
|
|
if j == 0:
|
|
# Prepare species-specific storage:
|
|
spec_data = np.zeros((measure.shape + (len(all_paths),)), dtype=float)
|
|
|
|
# Log file data:
|
|
spec_data[..., j] = measure
|
|
|
|
# Save collected file data:
|
|
save_name = save_path + species + f'_{incl}'
|
|
archive = dict(
|
|
scales=data['scales'],
|
|
measure_feat=spec_data,
|
|
thresh_rel=data['thresh_rel'])
|
|
save_data(save_name, archive, config)
|
|
|
|
print('Done.')
|