Wrote results rect-lp and log-hp :)

Finished some more figure captions.
This commit is contained in:
j-hartling
2026-05-04 19:50:04 +02:00
parent 69f172ff2c
commit 16014c02a0
15 changed files with 1376 additions and 1232 deletions

View File

@@ -164,7 +164,7 @@ ylabels = dict(
conv='$c_i$\n$[\\text{dB}]$',
feat='$f_i$',
raw=['$m$', '$\\mu_{f_i}$'],
base=['$m\\,/\\,m_{\\eta}$', '$\\sigma_{c_i}$', '$\\mu_{f_i}$', '$\\text{PDF}_{\\alpha}$']
base=['$m\\,/\\,m_{\\eta}$', '$\\sigma_{c_i}\\,/\\,\\sigma_{\\eta_i}$', '$\\mu_{f_i}\\,/\\,\\mu_{\\eta_i}$', '$\\text{PDF}_{\\alpha}$']
)
xlab_big_kwargs = dict(
y=0,

View File

@@ -57,7 +57,7 @@ snip_cutoff = np.array([np.nan, 2500, 250, 25])[2]
# GRAPH SETTINGS:
fig_kwargs = dict(
figsize=(32/2.54, 32/2.54),
figsize=(32/2.54, 20/2.54),
)
super_grid_kwargs = dict(
nrows=3,
@@ -68,7 +68,7 @@ super_grid_kwargs = dict(
right=1,
bottom=0,
top=1,
height_ratios=[1, 1, 1]
height_ratios=[1, 1, 2]
)
subfig_specs = dict(
pure=(0, slice(None)),

View File

@@ -162,7 +162,7 @@ ylabels = dict(
conv='$c_i$\n$[\\text{dB}]$',
feat='$f_i$',
raw=['$m$', '$\\mu_{f_i}$'],
base=['$m\\,/\\,m_{\\eta}$', '$\\mu_{f_i}$', '$\\text{PDF}_{\\alpha}$']
base=['$m\\,/\\,m_{\\eta}$', '$\\mu_{f_i}\\,/\\,\\mu_{\\eta_i}$', '$\\text{PDF}_{\\alpha}$']
)
xlab_big_kwargs = dict(
y=0,

View File

@@ -1,3 +1,5 @@
import gc
import copy
import numpy as np
from thunderhopper.modeltools import load_data, save_data
from thunderhopper.filetools import search_files, crop_paths
@@ -16,7 +18,7 @@ target_species = [
# 'Gomphocerippus_rufus',
# 'Omocestus_rufipes',
# 'Pseudochorthippus_parallelus',
][1]
][0]
example_file = {
'Chorthippus_biguttulus': 'Chorthippus_biguttulus_GBC_94-17s73.1ms-19s977ms',
'Chorthippus_mollis': 'Chorthippus_mollis_DJN_41_T28C-46s4.58ms-1m15s697ms',
@@ -110,8 +112,8 @@ for data_path, name in zip(data_paths, crop_paths(data_paths)):
scaled = song * scale + noise
# Process mixture (excluding features):
signals, rates = process_signal(config, returns=pre_stages,
signal=scaled, rate=rate)
signals, _ = process_signal(config, returns=pre_stages,
signal=scaled, rate=rate)
# Store non-feature results:
for stage in pre_stages:
# Log intensity measures:
@@ -120,12 +122,16 @@ for data_path, name in zip(data_paths, crop_paths(data_paths)):
# Log optional snippet data:
if save_detailed and scale in example_scales:
scale_ind = np.nonzero(example_scales == scale)[0][0]
snippets[f'snip_{stage}'][:, ..., scale_ind] = signals[stage]
snippets[f'snip_{stage}'][:, ..., scale_ind] = copy.deepcopy(signals[stage])
conv = copy.deepcopy(signals['conv'])
del scaled, signals
gc.collect()
# Execute piecewise again:
for j, thresholds in enumerate(thresh_abs):
# Finalize processing:
feat = sosfilter((signals['conv'] > thresholds).astype(float),
feat = sosfilter((conv > thresholds).astype(float),
rate, config['feat_fcut'], 'lp',
padtype='fixed', padlen=config['padlen'])
@@ -134,19 +140,27 @@ for data_path, name in zip(data_paths, crop_paths(data_paths)):
# Log optional snippet data:
if save_detailed and scale in example_scales:
snippets['snip_feat'][:, :, scale_ind, j] = feat
snippets['snip_feat'][:, :, scale_ind, j] = copy.deepcopy(feat)
del feat
gc.collect()
# Save analysis results:
if save_path is not None:
data = dict(
archive = dict(
scales=scales,
example_scales=example_scales,
thresh_rel=thresh_rel,
thresh_abs=thresh_abs,
)
data.update(measures)
archive.update(measures)
if save_detailed:
data.update(snippets)
save_data(save_path + name, data, config, overwrite=True)
archive.update(snippets)
save_data(save_path + name, archive, config, overwrite=True)
del archive
del measures, data, config, conv
if save_detailed:
del snippets
gc.collect()
print('Done.')
embed()