Added loads of units in nearly all graphs.

Overhauled fig_invariance_full.pdf.
Added some legends, somewhere.
This commit is contained in:
j-hartling
2026-04-28 19:43:05 +02:00
parent 7e1aa8721a
commit e70d100655
40 changed files with 965 additions and 471 deletions

View File

@@ -2,7 +2,7 @@ import numpy as np
import matplotlib.pyplot as plt
from thunderhopper.filetools import search_files
from thunderhopper.modeltools import load_data, save_data
from misc_functions import shorten_species, sort_files_by_rec
from misc_functions import shorten_species, sort_files_by_rec, divide_by_zero
from IPython import embed
# GENERAL SETTINGS:
@@ -91,20 +91,24 @@ for i, species in enumerate(target_species):
rec_sd = np.zeros(shape, dtype=float)
# Log song file data:
if normalization == 'min':
# Minimum normalization:
measure /= measure.min(axis=0, keepdims=True)
elif normalization == 'max':
# Maximum normalization:
measure /= measure.max(axis=0, keepdims=True)
elif normalization == 'base':
# Noise baseline normalization:
measure /= measure[0]
elif normalization == 'range':
# Min-max normalization:
min_measure = measure.min(axis=0, keepdims=True)
max_measure = measure.max(axis=0, keepdims=True)
measure = (measure - min_measure) / (max_measure - min_measure)
if normalization == 'min':
# Minimum normalization:
measure = divide_by_zero(measure, measure.min(axis=0))
# measure /= measure.min(axis=0, keepdims=True)
elif normalization == 'max':
# Maximum normalization:
measure = divide_by_zero(measure, measure.max(axis=0))
# measure /= measure.max(axis=0, keepdims=True)
elif normalization == 'base':
# Noise baseline normalization:
measure = divide_by_zero(measure, measure[0])
# measure /= measure[0]
elif normalization == 'range':
# Min-max normalization:
min_measure = measure.min(axis=0, keepdims=True)
max_measure = measure.max(axis=0, keepdims=True)
measure = divide_by_zero(measure - min_measure, max_measure - min_measure)
# measure = (measure - min_measure) / (max_measure - min_measure)
file_data[..., k] = measure
@@ -115,8 +119,8 @@ for i, species in enumerate(target_species):
axes[0, i].plot(scales, measure[:, m, l], c=c, alpha=0.5)
# Get recording statistics:
rec_mean[..., j] = file_data.mean(axis=-1)
rec_sd[..., j] = file_data.std(axis=-1)
rec_mean[..., j] = np.nanmean(file_data, axis=-1)
rec_sd[..., j] = np.nanstd(file_data, axis=-1)
if plot_overview:
for l, thresh in enumerate(thresh_rel):