paper_2025/python/save_latex_texts.py
j-hartling 0029566861 Completedly overhauled fig_auditory_pathway.
Created new in-figure linked SVGs with clearer naming scheme.
Removed outdated image components.
2026-01-28 16:46:38 +01:00

104 lines
4.7 KiB
Python

import matplotlib.pyplot as plt
plt.rcParams['text.usetex'] = True
plt.rcParams['font.family'] = 'computer modern roman'
plt.rcParams['mathtext.fontset'] = 'cm'
plt.rcParams['mathtext.default'] = 'regular'
plt.rcParams['svg.fonttype'] = 'path'
plt.rc('text.latex', preamble=r'\usepackage{amsmath}')
# Settings:
titles_fontsize = 50
titles_figsize = (4, 2.5)
elements_fontsize = 80
elements_figsize = (3, 3)
lines_fontsize = 80
lines_figsize = (3, 3)
show_figs = True
grid_props = dict(left=0, right=1, top=1, bottom=0)
fig_props = {
'facecolor': 'none',
'edgecolor': 'none',
'frameon': False,
}
ax_props = {
'facecolor': 'none',
'frame_on': False,
}
text_props = {
'color': 'k',
'x': 0.5,
'y': 0.5,
'ha': 'center',
'va': 'center',
}
# Targets:
texts = {
# # TITLES (NEURONAL CIRCUIT):
# 'neuron_titles_tympanum': ('Tympanal\nMembrane', titles_fontsize, titles_figsize),
# 'neuron_titles_receptors': ('Receptor\nNeurons', titles_fontsize, titles_figsize),
# 'neuron_titles_interneurons': ('Local\nInterneurons', titles_fontsize, titles_figsize),
# 'neuron_titles_ascending': ('Ascending\nNeurons', titles_fontsize, titles_figsize),
# 'neuron_titles_brain': ('Central\nBrain', titles_fontsize, titles_figsize),
# # TITLES (MODEL CIRCUIT):
# 'model_titles_bandpass': ('Bandpass\nFiltering', titles_fontsize, titles_figsize),
# 'model_titles_envelope': ('Envelope\nExtraction', titles_fontsize, titles_figsize),
# 'model_titles_logarithm': ('Logarithmic\nCompression', titles_fontsize, titles_figsize),
# 'model_titles_adaptation': ('Intensity\nAdaptation', titles_fontsize, titles_figsize),
# 'model_titles_convolution': ('Convolutional\nFiltering', titles_fontsize, titles_figsize),
# 'model_titles_nonlinear': ('Threshold\nNonlinearity', titles_fontsize, titles_figsize),
# 'model_titles_integration': ('Temporal\nAveraging', titles_fontsize, titles_figsize),
# 'model_titles_readout': ('Weighted\nReadout', titles_fontsize, titles_figsize),
# # ELEMENT LABELS (MODEL CIRCUIT):
# 'model_elements_filt': (r'$x_{\text{filt}}$', elements_fontsize, elements_figsize),
# 'model_elements_env': (r'$x_{\text{env}}$', elements_fontsize, elements_figsize),
# 'model_elements_log': (r'$x_{\text{dB}}$', elements_fontsize, elements_figsize),
# 'model_elements_adapt': (r'$x_{\text{adapt}}$', elements_fontsize, elements_figsize),
# 'model_elements_c1': (r'$c_1$', elements_fontsize, elements_figsize),
# 'model_elements_c2': (r'$c_2$', elements_fontsize, elements_figsize),
# 'model_elements_c3': (r'$c_3$', elements_fontsize, elements_figsize),
# 'model_elements_b1': (r'$b_1$', elements_fontsize, elements_figsize),
# 'model_elements_b2': (r'$b_2$', elements_fontsize, elements_figsize),
# 'model_elements_b3': (r'$b_3$', elements_fontsize, elements_figsize),
# 'model_elements_f1': (r'$f_1$', elements_fontsize, elements_figsize),
# 'model_elements_f2': (r'$f_2$', elements_fontsize, elements_figsize),
# 'model_elements_f3': (r'$f_3$', elements_fontsize, elements_figsize),
# 'model_elements_out': (r'$\hat{y}$', elements_fontsize, elements_figsize),
# LINE LABELS (MODEL CIRCUIT):
'model_lines_env': (r'$\lvert\cdot\lvert,h_{\text{LP}}$', lines_fontsize, lines_figsize),
'model_lines_log': (r'$\text{log}$', lines_fontsize, lines_figsize),
'model_lines_hp': (r'$h_{\text{HP}}$', lines_fontsize, lines_figsize),
'model_lines_k1': (r'$k_1$', lines_fontsize, lines_figsize),
'model_lines_k2': (r'$k_2$', lines_fontsize, lines_figsize),
'model_lines_k3': (r'$k_3$', lines_fontsize, lines_figsize),
'model_lines_t1': (r'$\Theta_1$', lines_fontsize, lines_figsize),
'model_lines_t2': (r'$\Theta_2$', lines_fontsize, lines_figsize),
'model_lines_t3': (r'$\Theta_3$', lines_fontsize, lines_figsize),
# 'model_lines_H1': (r'$H(c_1-\Theta_1)$', lines_fontsize, lines_figsize),
# 'model_lines_H2': (r'$H(c_2-\Theta_2)$', lines_fontsize, lines_figsize),
# 'model_lines_H3': (r'$H(c_3-\Theta_3)$', lines_fontsize, lines_figsize),
'model_lines_lp': (r'$h_{\text{LP}}$', lines_fontsize, lines_figsize),
'model_lines_w1': (r'$\omega_1$', lines_fontsize, lines_figsize),
'model_lines_w2': (r'$\omega_2$', lines_fontsize, lines_figsize),
'model_lines_w3': (r'$\omega_3$', lines_fontsize, lines_figsize),
}
# Save each target string:
for name, (text, fs, size) in texts.items():
fig, ax = plt.subplots(figsize=size, gridspec_kw=grid_props, **fig_props)
ax.set(**ax_props)
ax.axis('off')
ax.text(s=text, fontsize=fs, **text_props)
fig.savefig(f'../figures/{name}_text.svg', dpi=300,
bbox_inches='tight', pad_inches=0)
if show_figs:
plt.show()
plt.close(fig)