diff --git a/figures/fig_auditory_pathway.pdf b/figures/fig_auditory_pathway.pdf index c852cb8..c28923b 100644 Binary files a/figures/fig_auditory_pathway.pdf and b/figures/fig_auditory_pathway.pdf differ diff --git a/figures/fig_auditory_pathway.pdf_tex b/figures/fig_auditory_pathway.pdf_tex deleted file mode 100644 index fbf3d2d..0000000 --- a/figures/fig_auditory_pathway.pdf_tex +++ /dev/null @@ -1,62 +0,0 @@ -%% Creator: Inkscape 1.2.2 (b0a8486541, 2022-12-01), www.inkscape.org -%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 -%% Accompanies image file 'fig_auditory_pathway.pdf' (pdf, eps, ps) -%% -%% To include the image in your LaTeX document, write -%% \input{.pdf_tex} -%% instead of -%% \includegraphics{.pdf} -%% To scale the image, write -%% \def\svgwidth{} -%% \input{.pdf_tex} -%% instead of -%% \includegraphics[width=]{.pdf} -%% -%% Images with a different path to the parent latex file can -%% be accessed with the `import' package (which may need to be -%% installed) using -%% \usepackage{import} -%% in the preamble, and then including the image with -%% \import{}{.pdf_tex} -%% Alternatively, one can specify -%% \graphicspath{{/}} -%% -%% For more information, please see info/svg-inkscape on CTAN: -%% http://tug.ctan.org/tex-archive/info/svg-inkscape -%% -\begingroup% - \makeatletter% - \providecommand\color[2][]{% - \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% - \renewcommand\color[2][]{}% - }% - \providecommand\transparent[1]{% - \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% - \renewcommand\transparent[1]{}% - }% - \providecommand\rotatebox[2]{#2}% - \newcommand*\fsize{\dimexpr\f@size pt\relax}% - \newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}% - \ifx\svgwidth\undefined% - \setlength{\unitlength}{583.37007496bp}% - \ifx\svgscale\undefined% - \relax% - \else% - \setlength{\unitlength}{\unitlength * \real{\svgscale}}% - \fi% - \else% - \setlength{\unitlength}{\svgwidth}% - \fi% - \global\let\svgwidth\undefined% - \global\let\svgscale\undefined% - \makeatother% - \begin{picture}(1,1.07142859)% - \lineheight{1}% - \setlength\tabcolsep{0pt}% - \put(0,0){\includegraphics[width=\unitlength,page=1]{fig_auditory_pathway.pdf}}% - \put(0.00923559,0.29762987){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}d\end{tabular}}}}% - \put(0.30513885,0.60375463){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}c\end{tabular}}}}% - \put(0.00806776,0.60375233){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}b\end{tabular}}}}% - \put(0.00923425,1.03232922){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}a\end{tabular}}}}% - \end{picture}% -\endgroup% diff --git a/figures/fig_auditory_pathway.svg b/figures/fig_auditory_pathway.svg index 553692f..32ec2f6 100644 --- a/figures/fig_auditory_pathway.svg +++ b/figures/fig_auditory_pathway.svg @@ -26,8 +26,8 @@ inkscape:document-units="mm" showgrid="true" inkscape:zoom="2" - inkscape:cx="181" - inkscape:cy="469" + inkscape:cx="218.5" + inkscape:cy="452.5" inkscape:window-width="3840" inkscape:window-height="2040" inkscape:window-x="0" @@ -308,7 +308,8 @@ id="g22484" inkscape:label="Model" style="display:inline" - transform="matrix(0,0.7,-0.7,0,-11.352145,87.813528)">dcba + style="display:inline;fill:#000000;stroke:#000000;stroke-width:0.5;stroke-dasharray:none"> diff --git a/figures/pathway_stages_feat.pdf b/figures/fig_feat_stages.pdf similarity index 99% rename from figures/pathway_stages_feat.pdf rename to figures/fig_feat_stages.pdf index 3963b74..1cb513b 100644 Binary files a/figures/pathway_stages_feat.pdf and b/figures/fig_feat_stages.pdf differ diff --git a/figures/pathway_stages_pre.pdf b/figures/fig_pre_stages.pdf similarity index 99% rename from figures/pathway_stages_pre.pdf rename to figures/fig_pre_stages.pdf index ed94bee..c62244c 100644 Binary files a/figures/pathway_stages_pre.pdf and b/figures/fig_pre_stages.pdf differ diff --git a/figures/model_elements_adapt_text.svg b/figures/model_elements_adapt_text.svg index d170105..3746fb4 100644 --- a/figures/model_elements_adapt_text.svg +++ b/figures/model_elements_adapt_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:31.681854 + 2026-02-20T11:12:00.540038 image/svg+xml diff --git a/figures/model_elements_b1_text.svg b/figures/model_elements_b1_text.svg index 67abff6..a7c09de 100644 --- a/figures/model_elements_b1_text.svg +++ b/figures/model_elements_b1_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:33.056749 + 2026-02-20T11:12:01.272708 image/svg+xml diff --git a/figures/model_elements_b2_text.svg b/figures/model_elements_b2_text.svg index 623add7..3ea722b 100644 --- a/figures/model_elements_b2_text.svg +++ b/figures/model_elements_b2_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:33.415687 + 2026-02-20T11:12:01.458206 image/svg+xml diff --git a/figures/model_elements_b3_text.svg b/figures/model_elements_b3_text.svg index c7ec2d0..9431e4a 100644 --- a/figures/model_elements_b3_text.svg +++ b/figures/model_elements_b3_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:33.799768 + 2026-02-20T11:12:01.664015 image/svg+xml diff --git a/figures/model_elements_c1_text.svg b/figures/model_elements_c1_text.svg index 87bbc5e..e5267ba 100644 --- a/figures/model_elements_c1_text.svg +++ b/figures/model_elements_c1_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:32.024042 + 2026-02-20T11:12:00.704479 image/svg+xml diff --git a/figures/model_elements_c2_text.svg b/figures/model_elements_c2_text.svg index 7a0844e..9701deb 100644 --- a/figures/model_elements_c2_text.svg +++ b/figures/model_elements_c2_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:32.383863 + 2026-02-20T11:12:00.888075 image/svg+xml diff --git a/figures/model_elements_c3_text.svg b/figures/model_elements_c3_text.svg index c38a9e9..90699f1 100644 --- a/figures/model_elements_c3_text.svg +++ b/figures/model_elements_c3_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:32.745865 + 2026-02-20T11:12:01.081061 image/svg+xml diff --git a/figures/model_elements_env_text.svg b/figures/model_elements_env_text.svg index 5056dc8..1ee0d3b 100644 --- a/figures/model_elements_env_text.svg +++ b/figures/model_elements_env_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:31.015991 + 2026-02-20T11:12:00.152474 image/svg+xml diff --git a/figures/model_elements_f1_text.svg b/figures/model_elements_f1_text.svg index 90070b6..8685b19 100644 --- a/figures/model_elements_f1_text.svg +++ b/figures/model_elements_f1_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:34.137225 + 2026-02-20T11:12:01.930124 image/svg+xml diff --git a/figures/model_elements_f2_text.svg b/figures/model_elements_f2_text.svg index 82461b7..273faee 100644 --- a/figures/model_elements_f2_text.svg +++ b/figures/model_elements_f2_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:34.529916 + 2026-02-20T11:12:02.202317 image/svg+xml diff --git a/figures/model_elements_f3_text.svg b/figures/model_elements_f3_text.svg index 6769ef3..885d920 100644 --- a/figures/model_elements_f3_text.svg +++ b/figures/model_elements_f3_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:34.824288 + 2026-02-20T11:12:02.569598 image/svg+xml diff --git a/figures/model_elements_filt_text.svg b/figures/model_elements_filt_text.svg index 862b3d3..2e794a3 100644 --- a/figures/model_elements_filt_text.svg +++ b/figures/model_elements_filt_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:30.422146 + 2026-02-20T11:11:59.671176 image/svg+xml diff --git a/figures/model_elements_log_text.svg b/figures/model_elements_log_text.svg index de47d6e..1beb08a 100644 --- a/figures/model_elements_log_text.svg +++ b/figures/model_elements_log_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:31.344903 + 2026-02-20T11:12:00.344132 image/svg+xml diff --git a/figures/model_elements_out_text.svg b/figures/model_elements_out_text.svg index 5434775..b04dc42 100644 --- a/figures/model_elements_out_text.svg +++ b/figures/model_elements_out_text.svg @@ -6,7 +6,7 @@ - 2026-01-27T14:51:35.199883 + 2026-02-20T11:12:02.896819 image/svg+xml diff --git a/figures/model_lines_env_text.svg b/figures/model_lines_env_text.svg index f8903f2..e093dfb 100644 --- a/figures/model_lines_env_text.svg +++ b/figures/model_lines_env_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:23.310768 + 2026-02-20T11:12:03.218748 image/svg+xml diff --git a/figures/model_lines_hp_text.svg b/figures/model_lines_hp_text.svg index 5e2550d..bcdd4dd 100644 --- a/figures/model_lines_hp_text.svg +++ b/figures/model_lines_hp_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:26.825898 + 2026-02-20T11:12:03.911985 image/svg+xml diff --git a/figures/model_lines_k1_text.svg b/figures/model_lines_k1_text.svg index abf3fdd..542b9a6 100644 --- a/figures/model_lines_k1_text.svg +++ b/figures/model_lines_k1_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:27.130611 + 2026-02-20T11:12:04.201735 image/svg+xml diff --git a/figures/model_lines_k2_text.svg b/figures/model_lines_k2_text.svg index 98867cd..f056925 100644 --- a/figures/model_lines_k2_text.svg +++ b/figures/model_lines_k2_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:27.465763 + 2026-02-20T11:12:04.519996 image/svg+xml diff --git a/figures/model_lines_k3_text.svg b/figures/model_lines_k3_text.svg index f679a6a..e5be124 100644 --- a/figures/model_lines_k3_text.svg +++ b/figures/model_lines_k3_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:27.778052 + 2026-02-20T11:12:04.808175 image/svg+xml diff --git a/figures/model_lines_log_text.svg b/figures/model_lines_log_text.svg index 0251bb6..8ed0b96 100644 --- a/figures/model_lines_log_text.svg +++ b/figures/model_lines_log_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:26.363798 + 2026-02-20T11:12:03.625937 image/svg+xml diff --git a/figures/model_lines_lp_text.svg b/figures/model_lines_lp_text.svg index b3711dd..71ebf66 100644 --- a/figures/model_lines_lp_text.svg +++ b/figures/model_lines_lp_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:29.138143 + 2026-02-20T11:12:06.082451 image/svg+xml diff --git a/figures/model_lines_t1_text.svg b/figures/model_lines_t1_text.svg index fad5305..12756b3 100644 --- a/figures/model_lines_t1_text.svg +++ b/figures/model_lines_t1_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:28.131052 + 2026-02-20T11:12:05.153392 image/svg+xml diff --git a/figures/model_lines_t2_text.svg b/figures/model_lines_t2_text.svg index 040a2f3..ab26183 100644 --- a/figures/model_lines_t2_text.svg +++ b/figures/model_lines_t2_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:28.466213 + 2026-02-20T11:12:05.479882 image/svg+xml diff --git a/figures/model_lines_t3_text.svg b/figures/model_lines_t3_text.svg index 854a991..6170618 100644 --- a/figures/model_lines_t3_text.svg +++ b/figures/model_lines_t3_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:28.786360 + 2026-02-20T11:12:05.802290 image/svg+xml diff --git a/figures/model_lines_w1_text.svg b/figures/model_lines_w1_text.svg index 6212a4c..e4e6aa1 100644 --- a/figures/model_lines_w1_text.svg +++ b/figures/model_lines_w1_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:29.451544 + 2026-02-20T11:12:06.417043 image/svg+xml diff --git a/figures/model_lines_w2_text.svg b/figures/model_lines_w2_text.svg index 4debd9a..a9d2695 100644 --- a/figures/model_lines_w2_text.svg +++ b/figures/model_lines_w2_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:29.786018 + 2026-02-20T11:12:06.753077 image/svg+xml diff --git a/figures/model_lines_w3_text.svg b/figures/model_lines_w3_text.svg index 6bd778d..ce52086 100644 --- a/figures/model_lines_w3_text.svg +++ b/figures/model_lines_w3_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:48:30.098386 + 2026-02-20T11:12:07.035908 image/svg+xml diff --git a/figures/model_titles_adaptation_text.svg b/figures/model_titles_adaptation_text.svg index b08f29f..f0299b3 100644 --- a/figures/model_titles_adaptation_text.svg +++ b/figures/model_titles_adaptation_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:04.789303 + 2026-02-20T11:11:55.863614 image/svg+xml @@ -23,325 +23,288 @@ - + - - - - - - - - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/figures/model_titles_bandpass_text.svg b/figures/model_titles_bandpass_text.svg index 5932eed..685adec 100644 --- a/figures/model_titles_bandpass_text.svg +++ b/figures/model_titles_bandpass_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:01.892894 + 2026-02-20T11:11:55.281562 image/svg+xml @@ -23,365 +23,328 @@ - + - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + diff --git a/figures/model_titles_convolution_text.svg b/figures/model_titles_convolution_text.svg index 8e12620..9e30584 100644 --- a/figures/model_titles_convolution_text.svg +++ b/figures/model_titles_convolution_text.svg @@ -1,12 +1,12 @@ - + - 2026-01-29T10:15:05.539399 + 2026-02-20T11:11:56.328193 image/svg+xml @@ -23,340 +23,292 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - - - - - - - - - - + + + + + + + + + diff --git a/figures/model_titles_envelope_text.svg b/figures/model_titles_envelope_text.svg index 21883a4..e7a4370 100644 --- a/figures/model_titles_envelope_text.svg +++ b/figures/model_titles_envelope_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:02.701213 + 2026-02-20T11:11:55.465104 image/svg+xml @@ -23,341 +23,275 @@ - + - - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/figures/model_titles_integration_text.svg b/figures/model_titles_integration_text.svg index 84af21c..ce48c96 100644 --- a/figures/model_titles_integration_text.svg +++ b/figures/model_titles_integration_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:08.808459 + 2026-02-20T11:11:56.969340 image/svg+xml @@ -23,367 +23,293 @@ - + - - - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - + + + + + + + + + diff --git a/figures/model_titles_logarithm_text.svg b/figures/model_titles_logarithm_text.svg index 184c0ee..65dd230 100644 --- a/figures/model_titles_logarithm_text.svg +++ b/figures/model_titles_logarithm_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:03.578163 + 2026-02-20T11:11:55.650231 image/svg+xml @@ -23,414 +23,376 @@ - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/figures/model_titles_nonlinear_text.svg b/figures/model_titles_nonlinear_text.svg index 25126c3..4c74bf2 100644 --- a/figures/model_titles_nonlinear_text.svg +++ b/figures/model_titles_nonlinear_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:07.873198 + 2026-02-20T11:11:56.631955 image/svg+xml @@ -23,371 +23,308 @@ - + - - - - - - - - - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/figures/model_titles_readout_text.svg b/figures/model_titles_readout_text.svg index b0369a5..93298d2 100644 --- a/figures/model_titles_readout_text.svg +++ b/figures/model_titles_readout_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:09.772268 + 2026-02-20T11:11:57.322479 image/svg+xml @@ -23,325 +23,287 @@ - + - - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - - - + + + + + + + diff --git a/figures/neuron_titles_ascending_text.svg b/figures/neuron_titles_ascending_text.svg index 7a131d1..c9fda9a 100644 --- a/figures/neuron_titles_ascending_text.svg +++ b/figures/neuron_titles_ascending_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:00.380580 + 2026-02-20T11:11:54.914776 image/svg+xml @@ -23,326 +23,288 @@ - + - - - - - - - - - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - - + + + + + + + diff --git a/figures/neuron_titles_brain_text.svg b/figures/neuron_titles_brain_text.svg index 4df1f8c..ae00569 100644 --- a/figures/neuron_titles_brain_text.svg +++ b/figures/neuron_titles_brain_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:15:01.100755 + 2026-02-20T11:11:55.105829 image/svg+xml @@ -23,231 +23,214 @@ - + - - - - - - - - - - - - - - + + + + + + + - + - - - - - - - + + + + + diff --git a/figures/neuron_titles_interneurons_text.svg b/figures/neuron_titles_interneurons_text.svg index 352ed6c..9f03101 100644 --- a/figures/neuron_titles_interneurons_text.svg +++ b/figures/neuron_titles_interneurons_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:14:59.826056 + 2026-02-20T11:11:54.711321 image/svg+xml @@ -23,289 +23,264 @@ - + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/figures/neuron_titles_receptors_text.svg b/figures/neuron_titles_receptors_text.svg index 08c8b07..0dd5f7d 100644 --- a/figures/neuron_titles_receptors_text.svg +++ b/figures/neuron_titles_receptors_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:14:59.073050 + 2026-02-20T11:11:54.498731 image/svg+xml @@ -23,297 +23,273 @@ - + - - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - - - + + + + + + + diff --git a/figures/neuron_titles_tympanum_text.svg b/figures/neuron_titles_tympanum_text.svg index 6ce248f..d5fcfdf 100644 --- a/figures/neuron_titles_tympanum_text.svg +++ b/figures/neuron_titles_tympanum_text.svg @@ -6,7 +6,7 @@ - 2026-01-29T10:14:58.043307 + 2026-02-20T11:11:53.235107 image/svg+xml @@ -23,325 +23,257 @@ - + - - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + diff --git a/figures/subplot_a_text.svg b/figures/subplot_a_text.svg new file mode 100644 index 0000000..f13f372 --- /dev/null +++ b/figures/subplot_a_text.svg @@ -0,0 +1,67 @@ + + + + + + + + 2026-02-20T11:28:15.481521 + image/svg+xml + + + Matplotlib v3.10.5, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/subplot_b_text.svg b/figures/subplot_b_text.svg new file mode 100644 index 0000000..a36b08b --- /dev/null +++ b/figures/subplot_b_text.svg @@ -0,0 +1,60 @@ + + + + + + + + 2026-02-20T11:28:16.485014 + image/svg+xml + + + Matplotlib v3.10.5, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/subplot_c_text.svg b/figures/subplot_c_text.svg new file mode 100644 index 0000000..c8aba01 --- /dev/null +++ b/figures/subplot_c_text.svg @@ -0,0 +1,55 @@ + + + + + + + + 2026-02-20T11:28:16.828755 + image/svg+xml + + + Matplotlib v3.10.5, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/subplot_d_text.svg b/figures/subplot_d_text.svg new file mode 100644 index 0000000..6f34584 --- /dev/null +++ b/figures/subplot_d_text.svg @@ -0,0 +1,60 @@ + + + + + + + + 2026-02-20T11:28:17.227781 + image/svg+xml + + + Matplotlib v3.10.5, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + diff --git a/main.fdb_latexmk b/main.fdb_latexmk index 37510d0..f4628fc 100644 --- a/main.fdb_latexmk +++ b/main.fdb_latexmk @@ -1,14 +1,14 @@ # Fdb version 4 -["biber main"] 0 "main.bcf" "main.bbl" "main" 1771515163.95181 -1 +["biber main"] 0 "main.bcf" "main.bbl" "main" 1771594142.3788 -1 "cite.bib" 1770904753.08918 27483 4290db0c91f7b5055e25472ef913f6b4 "" - "main.bcf" 1771515163.89914 112931 2a478116d80ebb1ada7083a24facd6e3 "pdflatex" + "main.bcf" 1771594142.32535 112931 2a478116d80ebb1ada7083a24facd6e3 "pdflatex" (generated) "main.bbl" "main.blg" (rewritten before read) -["pdflatex"] 1771515163.09292 "/home/hartling/phd/paper/paper_2025/main.tex" "main.pdf" "main" 1771515163.95201 0 +["pdflatex"] 1771594141.52192 "/home/hartling/phd/paper/paper_2025/main.tex" "main.pdf" "main" 1771594142.379 0 "/etc/texmf/web2c/texmf.cnf" 1761560044.43676 475 c0e671620eb5563b2130f56340a5fde8 "" - "/home/hartling/phd/paper/paper_2025/main.tex" 1771515162.09915 40191 e7c494be630d17e7faf2d56828fdd232 "" + "/home/hartling/phd/paper/paper_2025/main.tex" 1771594140.53237 40174 1d26ae5432e042e6f25ac4bb5c8c02cb "" "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 "" @@ -151,14 +151,13 @@ "/usr/share/texmf/web2c/texmf.cnf" 1707919699 40399 f2c302f7d2af602abb742093540a5834 "" "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1761648465.84635 5472669 54eaf61a88b6b7896ebd0dac973cb29c "" "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1761648508 8213325 7fd20752ab46ff9aa583e4973d7433df "" - "figures/fig_auditory_pathway.pdf" 1769682029.31297 1284536 cd071429286586e390a99d74f742d2d5 "" - "figures/fig_auditory_pathway.pdf_tex" 1769682029.31397 2624 f8d79af301f26c4639670ba4283887a2 "" - "figures/pathway_stages_feat.pdf" 1771515026.43814 12242319 984550dac4b4813ff16be63b3a9f28fe "" - "figures/pathway_stages_pre.pdf" 1771515023.82316 440442 13dea7a2d6ee09d083d3bb4ef98f7072 "" - "main.aux" 1771515163.89314 11587 5450d835105f93ac20f7015a8a1442e4 "pdflatex" + "figures/fig_auditory_pathway.pdf" 1771593904.14638 1153923 3df8539421fd21dc866cc8d320bd9b1d "" + "figures/fig_feat_stages.pdf" 1771576871.09371 12242319 f30d2d248dee27a5c1fabc0e2bba84e6 "" + "figures/fig_pre_stages.pdf" 1771576868.50271 440442 01f6784cecdc783a1c677138eef7f22c "" + "main.aux" 1771594142.31935 11587 5450d835105f93ac20f7015a8a1442e4 "pdflatex" "main.bbl" 1771493997.53596 91039 1380dc8c93d2855fdb132cc5a40ad52f "biber main" - "main.run.xml" 1771515163.90014 2335 a049bc26a7f032e842ce55de5bc38328 "pdflatex" - "main.tex" 1771515162.09915 40191 e7c494be630d17e7faf2d56828fdd232 "" + "main.run.xml" 1771594142.32535 2335 a049bc26a7f032e842ce55de5bc38328 "pdflatex" + "main.tex" 1771594140.53237 40174 1d26ae5432e042e6f25ac4bb5c8c02cb "" (generated) "main.aux" "main.bcf" diff --git a/main.fls b/main.fls index 7a6102d..215ee14 100644 --- a/main.fls +++ b/main.fls @@ -246,14 +246,15 @@ INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmti12.tfm OUTPUT main.pdf INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map -INPUT ./figures/fig_auditory_pathway.pdf_tex -INPUT figures/fig_auditory_pathway.pdf_tex -INPUT ./figures/fig_auditory_pathway.pdf_tex -INPUT figures/fig_auditory_pathway.pdf_tex -INPUT ./figures/fig_auditory_pathway.pdf -INPUT figures/fig_auditory_pathway.pdf INPUT ./figures/fig_auditory_pathway.pdf INPUT ./figures/fig_auditory_pathway.pdf +INPUT ./figures/fig_auditory_pathway.pdf +INPUT ./figures/fig_auditory_pathway.pdf +INPUT ./figures/fig_auditory_pathway.pdf +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm @@ -271,26 +272,22 @@ INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm -INPUT ./figures/pathway_stages_pre.pdf -INPUT ./figures/pathway_stages_pre.pdf -INPUT ./figures/pathway_stages_pre.pdf -INPUT ./figures/pathway_stages_pre.pdf -INPUT ./figures/pathway_stages_pre.pdf +INPUT ./figures/fig_pre_stages.pdf +INPUT ./figures/fig_pre_stages.pdf +INPUT ./figures/fig_pre_stages.pdf +INPUT ./figures/fig_pre_stages.pdf +INPUT ./figures/fig_pre_stages.pdf INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbxti10.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm -INPUT ./figures/pathway_stages_feat.pdf -INPUT ./figures/pathway_stages_feat.pdf -INPUT ./figures/pathway_stages_feat.pdf -INPUT ./figures/pathway_stages_feat.pdf -INPUT ./figures/pathway_stages_feat.pdf +INPUT ./figures/fig_feat_stages.pdf +INPUT ./figures/fig_feat_stages.pdf +INPUT ./figures/fig_feat_stages.pdf +INPUT ./figures/fig_feat_stages.pdf +INPUT ./figures/fig_feat_stages.pdf INPUT main.aux INPUT main.run.xml OUTPUT main.run.xml diff --git a/main.log b/main.log index 4ca3db0..7bf0345 100644 --- a/main.log +++ b/main.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2025.10.28) 19 FEB 2026 16:32 +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2025.10.28) 20 FEB 2026 14:29 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -728,14 +728,14 @@ Overfull \hbox (41.1838pt too wide) in paragraph at lines 304--339 \OT1/cmr/m/n/12 for con-spe-cific song recog-ni-tion and re-sponse ini-ti-a-tion ([]; [] -[4] (./figures/fig_auditory_pathway.pdf_tex - +[4] + File: figures/fig_auditory_pathway.pdf Graphic file (type pdf) - -Package pdftex.def Info: figures/fig_auditory_pathway.pdf , page1 used on input line 56. + +Package pdftex.def Info: figures/fig_auditory_pathway.pdf used on input line 342. (pdftex.def) Requested size: 483.69687pt x 518.2677pt. -) -Overfull \hbox (65.93214pt too wide) in paragraph at lines 366--372 + +Overfull \hbox (65.93214pt too wide) in paragraph at lines 365--371 \OT1/cmr/m/n/12 tym-pa-nal mem-brane acts as a me-chan-i-cal res-o-nance fil-ter for sound-induced vi-bra-tions ([]; [] @@ -744,25 +744,25 @@ Overfull \hbox (65.93214pt too wide) in paragraph at lines 366--372 LaTeX Warning: Text page 6 contains only floats. -Overfull \vbox (0.80978pt too high) has occurred while \output is active [] +Overfull \vbox (0.8319pt too high) has occurred while \output is active [] [6 <./figures/fig_auditory_pathway.pdf>] - -File: figures/pathway_stages_pre.pdf Graphic file (type pdf) - -Package pdftex.def Info: figures/pathway_stages_pre.pdf used on input line 415. + +File: figures/fig_pre_stages.pdf Graphic file (type pdf) + +Package pdftex.def Info: figures/fig_pre_stages.pdf used on input line 414. (pdftex.def) Requested size: 483.69687pt x 181.38585pt. - [7 <./figures/pathway_stages_pre.pdf>] [8] -Overfull \hbox (42.89445pt too wide) in paragraph at lines 508--517 + [7 <./figures/fig_pre_stages.pdf>] [8] +Overfull \hbox (42.89445pt too wide) in paragraph at lines 507--516 \OT1/cmr/m/n/12 glion ([]; []; []). [] - -File: figures/pathway_stages_feat.pdf Graphic file (type pdf) - -Package pdftex.def Info: figures/pathway_stages_feat.pdf used on input line 529. + +File: figures/fig_feat_stages.pdf Graphic file (type pdf) + +Package pdftex.def Info: figures/fig_feat_stages.pdf used on input line 528. (pdftex.def) Requested size: 483.69687pt x 181.38585pt. -[9] [10 <./figures/pathway_stages_feat.pdf>] [11] [12] [13] [14] (./main.aux) +[9] [10 <./figures/fig_feat_stages.pdf>] [11] [12] [13] [14] (./main.aux) *********** LaTeX2e <2023-11-01> patch level 1 L3 programming layer <2024-01-22> @@ -772,18 +772,18 @@ Package logreq Info: Writing requests to 'main.run.xml'. ) Here is how much of TeX's memory you used: - 20729 strings out of 474222 - 446664 string characters out of 5748732 + 20714 strings out of 474222 + 446207 string characters out of 5748732 1937975 words of memory out of 5000000 - 42713 multiletter control sequences out of 15000+600000 + 42704 multiletter control sequences out of 15000+600000 569394 words of font info for 79 fonts, out of 8000000 for 9000 1143 hyphenation exceptions out of 8191 94i,19n,93p,955b,1732s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on main.pdf (14 pages, 14132974 bytes). +Output written on main.pdf (14 pages, 14001839 bytes). PDF statistics: - 1210 PDF objects out of 1440 (max. 8388607) - 737 compressed objects within 8 object streams + 1226 PDF objects out of 1440 (max. 8388607) + 745 compressed objects within 8 object streams 0 named destinations out of 1000 (max. 500000) 28 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/main.pdf b/main.pdf index 9d4baf6..98427c5 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.synctex.gz b/main.synctex.gz index ec62567..ecce11e 100644 Binary files a/main.synctex.gz and b/main.synctex.gz differ diff --git a/main.tex b/main.tex index 8e5ba74..a967765 100644 --- a/main.tex +++ b/main.tex @@ -339,8 +339,7 @@ outlined in the following sections. \begin{figure}[!ht] \centering - \def\svgwidth{\textwidth} - \import{figures/}{fig_auditory_pathway.pdf_tex} + \includegraphics[width=\textwidth]{figures/fig_auditory_pathway.pdf} \caption{\textbf{Schematic organisation of the song recognition pathway in grasshoppers compared to the structure of the functional model pathway.} @@ -412,7 +411,7 @@ following feature extraction stage. % Cite somewhere: \begin{figure}[!ht] \centering - \includegraphics[width=\textwidth]{figures/pathway_stages_pre.pdf} + \includegraphics[width=\textwidth]{figures/fig_pre_stages.pdf} \caption{\textbf{Representations of a song of \textit{O. rufipes} during the preprocessing stage.} \textbf{a}:~Bandpass-filtered tympanal signal. @@ -526,7 +525,7 @@ can be read out by a simple linear classifier. % Cite somewhere: \begin{figure}[!ht] \centering - \includegraphics[width=\textwidth]{figures/pathway_stages_feat.pdf} + \includegraphics[width=\textwidth]{figures/fig_feat_stages.pdf} \caption{\textbf{Representations of a song of \textit{O. rufipes} during the feature extraction stage.} \textbf{a}:~Kernel-specific filter responses. diff --git a/python/fig_pathway_stages.py b/python/fig_pathway_stages.py index 8ee804f..a462411 100644 --- a/python/fig_pathway_stages.py +++ b/python/fig_pathway_stages.py @@ -1,5 +1,3 @@ -from math import log - import plotstyle_plt import glob import numpy as np @@ -118,6 +116,40 @@ def reorder_traces(handles, signal, zlow=2, zhigh=2.5): handles[ind].set_zorder(z) return None +def choose_kernels(kern_specs, features, kern_types, per_type=2, thresh=0.01): + embed() + mean_feat = features.mean(axis=0) + feat_diff = np.abs(mean_feat[:, None] - mean_feat[None, :]) + feat_diff[features.max(axis=0) < thresh, :] = np.nan + feat_diff = np.nanmean(feat_diff, axis=0) + + ranking = np.argsort(feat_diff) + + kern_inds = [] + for type_id in kern_types: + type_inds = np.nonzero(kern_specs[:, 0] == type_id)[0] + rank_inds = np.nonzero(np.isin(ranking, type_inds))[0][-per_type:] + kern_inds.extend(ranking[rank_inds]) + return np.array(kern_inds) + + + mean_feat = features.mean(axis=0) + mean_feat -= mean_feat.min() + mean_feat /= mean_feat.max() + + feat_diff = np.abs(mean_feat[:, None] - mean_feat[None, :]).mean(axis=0) + feat_diff -= feat_diff.min() + feat_diff /= feat_diff.max() + + ranking = np.argsort(mean_feat + feat_diff) + + kern_inds = [] + for type_id in kern_types: + type_inds = np.nonzero(kern_specs[:, 0] == type_id)[0] + rank_inds = np.nonzero(np.isin(ranking, type_inds))[0][-per_type:] + kern_inds.extend(ranking[rank_inds]) + return np.array(kern_inds) + def letter_subplots(axes, labels='abcd', x=0.02, y=1, ha='left', va='bottom', fontsize=16, fontweight='bold', **kwargs): for ax, label in zip(axes, labels): @@ -130,7 +162,7 @@ def letter_subplots(axes, labels='abcd', x=0.02, y=1, ha='left', va='bottom', target = 'Omocestus_rufipes' data_paths = glob.glob(f'../data/processed/{target}*.npz') stages = ['filt', 'env', 'log', 'inv', 'conv', 'bi', 'feat'] -save_name = '../figures/pathway_stages' +save_path = None#'../figures/' # PLOT SETTINGS: fig_kwargs = dict( @@ -196,13 +228,27 @@ zoom_kwargs = dict( zorder=0, linewidth=0 ) -# kernels = np.array([ -# [-2, 0.016], -# [3, 0.032] -# ]) -kern_types = np.array([1, -1, 2, -2, 3, -3, 4, -4]) -kern_sigmas = np.array([0.008, 0.032]) -kernels = np.array([[k, s] for k in kern_types for s in kern_sigmas]) +kernels = np.array([ + [1, 0.002], + [1, 0.016], + [-1, 0.002], + [-1, 0.016], + [2, 0.004], + [2, 0.032], + [-2, 0.004], + [-2, 0.032], + [3, 0.004], + [3, 0.032], + [-3, 0.004], + [-3, 0.032], + [4, 0.004], + [4, 0.032], + [-4, 0.004], + [-4, 0.032] +]) +# t = [1, 2, 3, 4] +# s = [0.001, 0.002, 0.004, 0.008, 0.032] +# kernels = np.array([[i, j] for i in t for j in s]) conv_colors = load_colors('../data/conv_colors.npz') bi_colors = load_colors('../data/bi_colors.npz') feat_colors = load_colors('../data/feat_colors.npz') @@ -266,9 +312,8 @@ for data_path in data_paths: indicate_zoom(fig, axes[0, 0], axes[-1, 0], zoom_abs, **zoom_kwargs) indicate_zoom(fig, axes[0, 1], axes[-1, 1], zoom_abs, **zoom_kwargs) letter_subplots(axes[:, 0]) - # fig.align_ylabels(axes[:, 0]) - if save_name is not None: - fig.savefig(f'{save_name}_pre.pdf') + if save_path is not None: + fig.savefig(f'{save_path}fig_pre_stages.pdf') # PART II: FEATURE EXTRACTION STAGE: @@ -312,9 +357,8 @@ for data_path in data_paths: indicate_zoom(fig, axes[0, 0], axes[-1, 0], zoom_abs, **zoom_kwargs) indicate_zoom(fig, axes[0, 1], axes[-1, 1], zoom_abs, **zoom_kwargs) letter_subplots(axes[:, 0]) - # fig.align_ylabels(axes[:, 0]) - if save_name is not None: - fig.savefig(f'{save_name}_feat.pdf') + if save_path is not None: + fig.savefig(f'{save_path}fig_feat_stages.pdf') plt.show() diff --git a/python/save_figure_texts.py b/python/save_figure_texts.py new file mode 100644 index 0000000..4ed3621 --- /dev/null +++ b/python/save_figure_texts.py @@ -0,0 +1,140 @@ +import matplotlib.pyplot as plt + +# Fixed RCs: +plt.rcParams['font.style'] = 'normal' +plt.rcParams['mathtext.fontset'] = 'cm' +plt.rcParams['svg.fonttype'] = 'path' +plt.rc('text.latex', preamble=r'\usepackage{amsmath}') + +# Context RCs: +show_figs = True +rc_tex = { + 'text.usetex': True, + 'font.family': 'computer modern roman', +} +rc_plt = { + 'text.usetex': False, + 'font.family': 'sans-serif', +} + +# Instance configs: +title_props = dict( + use_tex=False, + figsize=(5, 2.5), + fs=53, + fw='normal', +) +letter_props = dict( + use_tex=False, + figsize=(1, 1), + fs=70, + fw='bold', +) +element_props = dict( + use_tex=True, + figsize=(3, 3), + fs=80, + fw='normal', +) +line_props = dict( + use_tex=True, + figsize=(3, 2), + fs=75, + fw='normal', +) + +# Auxiliary configs: +fig_kwargs = dict( + gridspec_kw={'left': 0, 'right': 1, 'top': 1, 'bottom': 0}, + facecolor='none', + edgecolor='none', + frameon=False, +) +ax_kwargs = dict( + facecolor='none', + frame_on=False, +) +text_kwargs = dict( + color='k', + x=0.5, + y=0.5, + ha='center', + va='center', +) + +# Targets: +texts = { + ### PLAIN FONT ### + + # TITLES (NEURONAL CIRCUIT): + 'neuron_titles_tympanum': ('Tympanal\nMembrane', title_props), + 'neuron_titles_receptors': ('Receptor\nNeurons', title_props), + 'neuron_titles_interneurons': ('Local\nInterneurons', title_props), + 'neuron_titles_ascending': ('Ascending\nNeurons', title_props), + 'neuron_titles_brain': ('Central\nBrain', title_props), + + # TITLES (MODEL CIRCUIT): + 'model_titles_bandpass': ('Bandpass\nFiltering', title_props), + 'model_titles_envelope': ('Envelope\nExtraction', title_props), + 'model_titles_logarithm': ('Logarithmic\nCompression', title_props), + 'model_titles_adaptation': ('Intensity\nAdaptation', title_props), + 'model_titles_convolution': ('Convolutional\nFiltering', title_props), + 'model_titles_nonlinear': ('Threshold\nNonlinearity', title_props), + 'model_titles_integration': ('Temporal\nAveraging', title_props), + 'model_titles_readout': ('Weighted\nReadout', title_props), + + # SUBPLOT LETTERS: + 'subplot_a': ('a', letter_props), + 'subplot_b': ('b', letter_props), + 'subplot_c': ('c', letter_props), + 'subplot_d': ('d', letter_props), + + ### TEX FONT ### + + # ELEMENT LABELS (MODEL CIRCUIT): + 'model_elements_filt': (r'$x_{\text{filt}}$', element_props), + 'model_elements_env': (r'$x_{\text{env}}$', element_props), + 'model_elements_log': (r'$x_{\text{dB}}$', element_props), + 'model_elements_adapt': (r'$x_{\text{adapt}}$', element_props), + 'model_elements_c1': (r'$c_1$', element_props), + 'model_elements_c2': (r'$c_2$', element_props), + 'model_elements_c3': (r'$c_3$', element_props), + 'model_elements_b1': (r'$b_1$', element_props), + 'model_elements_b2': (r'$b_2$', element_props), + 'model_elements_b3': (r'$b_3$', element_props), + 'model_elements_f1': (r'$f_1$', element_props), + 'model_elements_f2': (r'$f_2$', element_props), + 'model_elements_f3': (r'$f_3$', element_props), + 'model_elements_out': (r'$\hat{y}$', element_props), + + # LINE LABELS (MODEL CIRCUIT): + 'model_lines_env': (r'$\lvert\cdot\lvert,h_{\text{LP}}$', line_props), + 'model_lines_log': (r'$\text{log}$', line_props), + 'model_lines_hp': (r'$h_{\text{HP}}$', line_props), + 'model_lines_k1': (r'$k_1$', line_props), + 'model_lines_k2': (r'$k_2$', line_props), + 'model_lines_k3': (r'$k_3$', line_props), + 'model_lines_t1': (r'$\Theta_1$', line_props), + 'model_lines_t2': (r'$\Theta_2$', line_props), + 'model_lines_t3': (r'$\Theta_3$', line_props), + # 'model_lines_H1': (r'$H(c_1-\Theta_1)$', line_props), + # 'model_lines_H2': (r'$H(c_2-\Theta_2)$', line_props), + # 'model_lines_H3': (r'$H(c_3-\Theta_3)$', line_props), + 'model_lines_lp': (r'$h_{\text{LP}}$', line_props), + 'model_lines_w1': (r'$\omega_1$', line_props), + 'model_lines_w2': (r'$\omega_2$', line_props), + 'model_lines_w3': (r'$\omega_3$', line_props), +} + +# Save each target string: +for name, (text, props) in texts.items(): + plt.rcParams.update(rc_tex if props['use_tex'] else rc_plt) + fig, ax = plt.subplots(figsize=props['figsize'], **fig_kwargs) + ax.set(**ax_kwargs) + ax.axis('off') + ax.text(s=text, size=props['fs'], weight=props['fw'], **text_kwargs) + fig.savefig(f'../figures/{name}_text.svg', dpi=300, + bbox_inches='tight', pad_inches=0) + if show_figs: + plt.show() + plt.close(fig) diff --git a/python/save_kernel_colors.py b/python/save_kernel_colors.py index dac518b..1db66ff 100644 --- a/python/save_kernel_colors.py +++ b/python/save_kernel_colors.py @@ -13,4 +13,6 @@ stage_colors = load_colors('../data/stage_colors.npz') for stage in stages: colors = shade_colors(stage_colors[stage], shade_factors) colors = {str(k): c for k, c in zip(kern_types, colors)} + print(f'\n{stage} colors:') + print(colors) np.savez(f'../data/{stage}_colors.npz', **colors) diff --git a/python/save_latex_texts.py b/python/save_latex_texts.py deleted file mode 100644 index 384dfdf..0000000 --- a/python/save_latex_texts.py +++ /dev/null @@ -1,103 +0,0 @@ -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 = 65 -titles_figsize = (5, 2.5) -elements_fontsize = 80 -elements_figsize = (3, 3) -lines_fontsize = 75 -lines_figsize = (3, 2) -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) diff --git a/python/save_stage_colors.py b/python/save_stage_colors.py index e75b9df..37edce2 100644 --- a/python/save_stage_colors.py +++ b/python/save_stage_colors.py @@ -1,10 +1,10 @@ import matplotlib.pyplot as plt -from color_functions import load_colors, color_selector +from color_functions import load_colors, color_selector, hex_to_rgb from IPython import embed # Settings: -stages = ['filt', 'env', 'log', 'inv', 'conv', 'bi', 'feat'] -file_name = None#'../data/stage_colors' +stages = ['filt', 'env', 'log', 'inv', 'conv', 'bi', 'feat', 'out'] +file_name = '../data/stage_colors' colors = None if True: colors = load_colors('../data/stage_colors.npz') @@ -12,4 +12,4 @@ if True: # Execution: colors = color_selector(len(stages), colors, file_name, labels=stages, hex=True) plt.show() -embed() +embed() \ No newline at end of file