From 3e07684093e5437e61dacfa8c68415199a9eed12 Mon Sep 17 00:00:00 2001 From: Jan Benda Date: Thu, 22 May 2025 19:03:41 +0200 Subject: [PATCH] updated figure captions --- ampullaryexamplecell.py | 15 +++-- .../baseline-2012-12-13-ao-invivo-1.npz | Bin 0 -> 99264 bytes .../baseline-2012-12-20-ac-invivo-1.npz | Bin 0 -> 99264 bytes .../baseline-2012-12-21-ak-invivo-1.npz | Bin 0 -> 99264 bytes .../baseline-2013-01-08-ab-invivo-1.npz | Bin 0 -> 99264 bytes dataoverview.py | 11 +++- modelsusceptcontrasts.py | 47 +++++++++------- modelsusceptlown.py | 48 +++++++++------- noisesplit.py | 53 +++++++++++------- nonlinearbaseline.tex | 25 ++++----- punitexamplecell.py | 16 +++--- regimes.py | 22 +++++--- 12 files changed, 142 insertions(+), 95 deletions(-) create mode 100644 data/simulations/baseline-2012-12-13-ao-invivo-1.npz create mode 100644 data/simulations/baseline-2012-12-20-ac-invivo-1.npz create mode 100644 data/simulations/baseline-2012-12-21-ak-invivo-1.npz create mode 100644 data/simulations/baseline-2013-01-08-ab-invivo-1.npz diff --git a/ampullaryexamplecell.py b/ampullaryexamplecell.py index dcaa118..02dc831 100644 --- a/ampullaryexamplecell.py +++ b/ampullaryexamplecell.py @@ -52,15 +52,15 @@ def plot_response_spectrum(ax, s, eodf, rate, freqs, prr): ax.show_spines('b') mask = (freqs > 30) & (freqs < 890) ax.plot(freqs[mask], power_db[mask], **s.lsC1) - ax.plot(freqs[eod_i], power_db[eod_i], **s.psFEOD) - ax.plot(freqs[rate_i], power_db[rate_i], **s.psF0) + ax.plot(freqs[eod_i], power_db[eod_i] + 2, **s.psFEOD) + ax.plot(freqs[rate_i], power_db[rate_i] + 2, **s.psF0) ax.set_xlim(0, 900) ax.set_ylim(-25, 5) ax.set_xticks_delta(300) ax.set_xlabel('$f$', 'Hz') - ax.text(freqs[eod_i], power_db[eod_i] + 2, '$f_{\\rm EOD}$', + ax.text(freqs[eod_i], power_db[eod_i] + 4, '$f_{\\rm EOD}$', ha='center') - ax.text(freqs[rate_i], power_db[rate_i] + 2, '$r$', + ax.text(freqs[rate_i], power_db[rate_i] + 4, '$r$', ha='center') ax.yscalebar(1.05, 0, 10, 'dB', ha='right') @@ -131,7 +131,7 @@ def plot_diagonals(ax, s, fbase, contrast1, freqs1, chi21, contrast2, freqs2, ch nlips.append(nlip) nlifs.append(nlif) print(f' SI at {100*contrast:.1f}% contrast: {nli:.2f}') - ax.axvline(fbase, **s.lsGrid) + #ax.axvline(fbase, **s.lsGrid) ax.plot(diags[1][0], 1e-3*diags[1][1], **s.lsC2) ax.plot(diags[0][0], 1e-3*diags[0][1], **s.lsC1) ax.plot(nlifs[1], 1e-3*nlips[1], **s.psC2) @@ -148,7 +148,7 @@ def plot_diagonals(ax, s, fbase, contrast1, freqs1, chi21, contrast2, freqs2, ch ax.text(nlifs[0] - 25, 1e-3*nlips[0], f'{100*contrast1:.0f}\\%', ha='right') ax.text(nlifs[0] + 35, 1e-3*nlips[0], f'SI={nlis[0]:.1f}') - ax.text(fbase, 1.75, '$r$', ha='center') + #ax.text(fbase, 1.75, '$r$', ha='center') if __name__ == '__main__': @@ -181,6 +181,9 @@ if __name__ == '__main__': *example_cell[0]) fcutoff2, contrast2, freqs2, gain2, chi22 = load_spectra(data_path, *example_cell[1]) + print(f' contrast1: {100*contrast1:4.1f}% contrast2: {100*contrast2:4.1f}%') + print(f' fcutoff1 : {fcutoff1:3.0f}Hz fcutoff2 : {fcutoff2:3.0f}Hz') + print(f' duration1: {time1[-1]:4.1f}s duration2: {time2[-1]:4.1f}s') s = plot_style() s.cell_color1 = s.ampul_color1 diff --git a/data/simulations/baseline-2012-12-13-ao-invivo-1.npz b/data/simulations/baseline-2012-12-13-ao-invivo-1.npz new file mode 100644 index 0000000000000000000000000000000000000000..ff094090b38ba561f63576b3a0bd603980e25da2 GIT binary patch literal 99264 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�GUc?VQ1!mm#d54U&m9gLyAQ92%v9QwDQihS0|E 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 F{{XI@jt2k$ literal 0 HcmV?d00001 diff --git a/data/simulations/baseline-2012-12-21-ak-invivo-1.npz b/data/simulations/baseline-2012-12-21-ak-invivo-1.npz new file mode 100644 index 0000000000000000000000000000000000000000..bb8c65e6d8381f3fe986d49fe7f5dcd4cb390cba GIT binary patch literal 99264 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 literal 0 HcmV?d00001 diff --git a/dataoverview.py b/dataoverview.py index 443b232..db7893d 100644 --- a/dataoverview.py +++ b/dataoverview.py @@ -86,8 +86,9 @@ def plot_corr(ax, data, xcol, ycol, zcol, zmin, zmax, xpdfmax, cmap, color, def nli_stats(title, data, column, nli_thresh): print(title) print(f' nli threshold: {nli_thresh:.1f}') - nrecs = data.rows() - ncells = len(np.unique(data['cell'])) + cells = np.unique(data['cell']) + ncells = len(cells) + nrecs = len(data) print(f' cells: {ncells}') print(f' recordings: {nrecs}') hcells = np.unique(data[data(column) > nli_thresh, 'cell']) @@ -95,7 +96,11 @@ def nli_stats(title, data, column, nli_thresh): print(f' high nli recordings: n={np.sum(data(column) > nli_thresh):3d}, ' f'{100*np.sum(data(column) > nli_thresh)/nrecs:4.1f}%') nsegs = data['nsegs'] - print(f' number of segments: {np.min(nsegs):4.0f} - {np.max(nsegs):4.0f}, median={np.median(nsegs):4.0f}, mean={np.mean(nsegs):4.0f}, std={np.std(nsegs):4.0f}') + print(f' number of segments: {np.min(nsegs):4.0f} - {np.max(nsegs):4.0f}, median={np.median(nsegs):4.0f}, mean={np.mean(nsegs):4.0f}, std={np.std(nsegs):4.0f}') + nrecs = [] + for cell in cells: + nrecs.append(len(data[data["cell"] == cell, :])) + print(f' number of recordings per cell: {np.min(nrecs):4.0f} - {np.max(nrecs):4.0f}, median={np.median(nrecs):4.0f}, mean={np.mean(nrecs):4.0f}, std={np.std(nrecs):4.0f}') def plot_cvbase_nli_punit(ax, data, ycol, nli_thresh, color): diff --git a/modelsusceptcontrasts.py b/modelsusceptcontrasts.py index 179d490..78d7f0c 100644 --- a/modelsusceptcontrasts.py +++ b/modelsusceptcontrasts.py @@ -3,6 +3,7 @@ import matplotlib.pyplot as plt from scipy.stats import pearsonr, linregress, gaussian_kde from thunderlab.tabledata import TableData from pathlib import Path +from spectral import whitenoise, diag_projection, peakedness from plotstyle import plot_style, labels_params, significance_str @@ -26,24 +27,24 @@ def sort_files(cell_name, all_files, n): return files, nums -def plot_chi2(ax, s, data_file): +def plot_chi2(ax, s, data_file, rate): + fcutoff = 300 data = np.load(data_file) n = data['n'] alpha = data['alpha'] freqs = data['freqs'] pss = data['pss'] - dt_fix = 1 # 0.0005 - prss = np.abs(data['prss'])/dt_fix*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) + chi2 = np.abs(data['prss'])*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) ax.set_visible(True) ax.set_aspect('equal') - i0 = np.argmin(freqs < -300) + i0 = np.argmin(freqs < -fcutoff) i0 = np.argmin(freqs < 0) - i1 = np.argmax(freqs > 300) + i1 = np.argmax(freqs > fcutoff) if i1 == 0: i1 = len(freqs) freqs = freqs[i0:i1] - prss = prss[i0:i1, i0:i1] - vmax = np.quantile(prss, 0.996) + chi2 = chi2[i0:i1, i0:i1] + vmax = np.quantile(chi2, 0.996) ten = 10**np.floor(np.log10(vmax)) for fac, delta in zip([1, 2, 3, 4, 6, 8, 10], [0.5, 1, 1, 2, 3, 4, 5]): @@ -51,18 +52,22 @@ def plot_chi2(ax, s, data_file): vmax = fac*ten ten *= delta break - pc = ax.pcolormesh(freqs, freqs, prss, vmin=0, vmax=vmax, + pc = ax.pcolormesh(freqs, freqs, chi2, vmin=0, vmax=vmax, rasterized=True) if 'noise_frac' in data: ax.set_title('$c$=0\\,\\%', fontsize='medium') else: ax.set_title(f'$c$={100*alpha:g}\\,\\%', fontsize='medium') - ax.set_xlim(0, 300) - ax.set_ylim(0, 300) + ax.set_xlim(0, fcutoff) + ax.set_ylim(0, fcutoff) ax.set_xticks_delta(100) ax.set_yticks_delta(100) ax.set_xlabel('$f_1$', 'Hz') ax.set_ylabel('$f_2$', 'Hz') + dfreqs, diag = diag_projection(freqs, chi2, 2*fcutoff) + nli, nlif = peakedness(dfreqs, diag, rate, median=False) + ax.text(0.95, 0.88, f'SI($r$)={nli:.1f}', ha='right', zorder=50, + color='white', fontsize='medium', transform=ax.transAxes) cax = ax.inset_axes([1.04, 0, 0.05, 1]) cax.set_spines_outward('lrbt', 0) if alpha == 0.1: @@ -75,14 +80,18 @@ def plot_chi2(ax, s, data_file): def plot_chi2_contrasts(axs, s, cell_name): - print(f' {cell_name}') + d = sims_path / f'baseline-{cell_name}.npz' + data = np.load(d) + rate = float(data['rate']) + cv = float(data['cv']) + print(f' {cell_name}: r={rate:3.0f}Hz, CV={cv:4.2f}') files, nums = sort_files(cell_name, sims_path.glob(f'chi2-split-{cell_name}-*.npz'), 1) - plot_chi2(axs[0], s, files[-1]) + plot_chi2(axs[0], s, files[-1], rate) for k, alphastr in enumerate(['010', '030', '100']): files, nums = sort_files(cell_name, sims_path.glob(f'chi2-noisen-{cell_name}-{alphastr}-*.npz'), 2) - plot_chi2(axs[k + 1], s, files[-1]) + plot_chi2(axs[k + 1], s, files[-1], rate) def plot_nli_cv(ax, s, data, alpha, cells): @@ -173,12 +182,10 @@ def plot_summary_contrasts(axs, s, cells): if __name__ == '__main__': s = plot_style() #labels_params(xlabelloc='right', ylabelloc='top') - fig, axs = plt.subplots(6, 4, cmsize=(s.plot_width, 0.95*s.plot_width), - height_ratios=[1, 1, 1, 1, 0, 1]) + fig, axs = plt.subplots(5, 4, cmsize=(s.plot_width, 0.95*s.plot_width), + height_ratios=[3, 3, 3, 3, 0, 3]) fig.subplots_adjust(leftm=7, rightm=9, topm=2, bottomm=3.5, - wspace=1, hspace=0.7) - for ax in axs.flat: - ax.set_visible(False) + wspace=1, hspace=0.5) print('Example cells:') for k in range(len(model_cells)): plot_chi2_contrasts(axs[k], s, model_cells[k]) @@ -186,8 +193,8 @@ if __name__ == '__main__': fig.common_yticks(axs[k, :]) fig.common_xticks(axs[:4, k]) print() - plot_summary_contrasts(axs[5], s, model_cells) - fig.common_yticks(axs[5, :]) + plot_summary_contrasts(axs[4], s, model_cells) + fig.common_yticks(axs[4, :]) fig.tag(axs, xoffs=-4.5, yoffs=1.8) fig.savefig() print() diff --git a/modelsusceptlown.py b/modelsusceptlown.py index cc3cbb1..1983e91 100644 --- a/modelsusceptlown.py +++ b/modelsusceptlown.py @@ -3,6 +3,7 @@ import matplotlib.pyplot as plt from scipy.stats import pearsonr, linregress, gaussian_kde from thunderlab.tabledata import TableData from pathlib import Path +from spectral import whitenoise, diag_projection, peakedness from plotstyle import plot_style, labels_params, significance_str @@ -23,24 +24,24 @@ def sort_files(cell_name, all_files, n): return files, nums -def plot_chi2(ax, s, data_file): +def plot_chi2(ax, s, data_file, rate): + fcutoff = 300 data = np.load(data_file) n = data['n'] alpha = data['alpha'] freqs = data['freqs'] pss = data['pss'] - dt_fix = 1 # 0.0005 - prss = np.abs(data['prss'])/dt_fix*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) + chi2 = np.abs(data['prss'])*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) ax.set_visible(True) ax.set_aspect('equal') - i0 = np.argmin(freqs < -300) + i0 = np.argmin(freqs < -fcutoff) i0 = np.argmin(freqs < 0) - i1 = np.argmax(freqs > 300) + i1 = np.argmax(freqs > fcutoff) if i1 == 0: i1 = len(freqs) freqs = freqs[i0:i1] - prss = prss[i0:i1, i0:i1] - vmax = np.quantile(prss, 0.996) + chi2 = chi2[i0:i1, i0:i1] + vmax = np.quantile(chi2, 0.996) ten = 10**np.floor(np.log10(vmax)) for fac, delta in zip([1, 2, 3, 4, 6, 8, 10], [0.5, 1, 1, 2, 3, 4, 5]): @@ -48,19 +49,23 @@ def plot_chi2(ax, s, data_file): vmax = fac*ten ten *= delta break - pc = ax.pcolormesh(freqs, freqs, prss, vmin=0, vmax=vmax, + pc = ax.pcolormesh(freqs, freqs, chi2, vmin=0, vmax=vmax, rasterized=True) ns = f'$N={n}$' if n <= 100 else f'$N=10^{np.log10(n):.0f}$' if 'noise_frac' in data: ax.set_title(f'$c$=0\\,\\%, {ns}', fontsize='medium') else: ax.set_title(f'$c$={100*alpha:g}\\,\\%, {ns}', fontsize='medium') - ax.set_xlim(0, 300) - ax.set_ylim(0, 300) + ax.set_xlim(0, fcutoff) + ax.set_ylim(0, fcutoff) ax.set_xticks_delta(100) ax.set_yticks_delta(100) ax.set_xlabel('$f_1$', 'Hz') ax.set_ylabel('$f_2$', 'Hz') + dfreqs, diag = diag_projection(freqs, chi2, 2*fcutoff) + nli, nlif = peakedness(dfreqs, diag, rate, median=False) + ax.text(0.95, 0.88, f'SI($r$)={nli:.1f}', ha='right', zorder=50, + color='white', fontsize='medium', transform=ax.transAxes) cax = ax.inset_axes([1.04, 0, 0.05, 1]) cax.set_spines_outward('lrbt', 0) if alpha == 0.1: @@ -73,16 +78,20 @@ def plot_chi2(ax, s, data_file): def plot_chi2_contrasts(axs, s, cell_name, n=None): - print(f' {cell_name}') + d = sims_path / f'baseline-{cell_name}.npz' + data = np.load(d) + rate = float(data['rate']) + cv = float(data['cv']) + print(f' {cell_name}: r={rate:3.0f}Hz, CV={cv:4.2f}') files, nums = sort_files(cell_name, sims_path.glob(f'chi2-split-{cell_name}-*.npz'), 1) idx = -1 if n is None else nums.index(n) - plot_chi2(axs[0], s, files[idx]) + plot_chi2(axs[0], s, files[idx], rate) for k, alphastr in enumerate(['010', '030', '100']): files, nums = sort_files(cell_name, sims_path.glob(f'chi2-noisen-{cell_name}-{alphastr}-*.npz'), 2) idx = -1 if n is None else nums.index(n) - plot_chi2(axs[k + 1], s, files[idx]) + plot_chi2(axs[k + 1], s, files[idx], rate) def plot_nli_diags(ax, s, data, alphax, alphay, xthresh, ythresh, cell_name): @@ -176,27 +185,28 @@ def plot_summary_diags(axs, s, xthresh, ythresh, cell_name): if __name__ == '__main__': + nsmall = 100 xthresh = 1.2 ythresh = 1.8 s = plot_style() - fig, axs = plt.subplots(6, 4, cmsize=(s.plot_width, 0.85*s.plot_width), + fig, axs = plt.subplots(4, 4, cmsize=(s.plot_width, 0.85*s.plot_width), height_ratios=[1, 1, 0, 1, 0, 1]) fig.subplots_adjust(leftm=7, rightm=9, topm=2, bottomm=4, - wspace=1, hspace=1) + wspace=1, hspace=0.8) for ax in axs.flat: ax.set_visible(False) print('Example cells:') plot_chi2_contrasts(axs[0], s, model_cell) - plot_chi2_contrasts(axs[1], s, model_cell, 10) + plot_chi2_contrasts(axs[1], s, model_cell, nsmall) for k in range(2): fig.common_yticks(axs[k, :]) for k in range(4): fig.common_xticks(axs[:2, k]) print() - plot_summary_contrasts(axs[3], s, xthresh, ythresh, model_cell) - plot_summary_diags(axs[5], s, xthresh, ythresh, model_cell) + plot_summary_contrasts(axs[2], s, xthresh, ythresh, model_cell) + plot_summary_diags(axs[3], s, xthresh, ythresh, model_cell) + fig.common_yticks(axs[2, 1:]) fig.common_yticks(axs[3, 1:]) - fig.common_yticks(axs[5, 1:]) fig.tag(axs, xoffs=-4.5, yoffs=1.8) axs[1, 0].set_visible(False) fig.savefig() diff --git a/noisesplit.py b/noisesplit.py index f752e32..dc9ad36 100644 --- a/noisesplit.py +++ b/noisesplit.py @@ -1,7 +1,7 @@ import numpy as np import matplotlib.pyplot as plt from pathlib import Path -from spectral import whitenoise +from spectral import whitenoise, diag_projection, peakedness from plotstyle import plot_style @@ -25,10 +25,11 @@ def sort_files(cell_name, all_files, n): return files, nums -def plot_chi2(ax, s, freqs, chi2, nsegs): +def plot_chi2(ax, s, freqs, chi2, nsegs, rate): + fcutoff = 300 ax.set_aspect('equal') i0 = np.argmin(freqs < 0) - i1 = np.argmax(freqs > 300) + i1 = np.argmax(freqs > fcutoff) if i1 == 0: i1 = len(freqs) freqs = freqs[i0:i1] @@ -45,15 +46,22 @@ def plot_chi2(ax, s, freqs, chi2, nsegs): prev_delta = delta pc = ax.pcolormesh(freqs, freqs, chi2, vmin=0, vmax=vmax, rasterized=True) - ax.set_xlim(0, 300) - ax.set_ylim(0, 300) + ax.set_xlim(0, fcutoff) + ax.set_ylim(0, fcutoff) ax.set_xticks_delta(100) ax.set_yticks_delta(100) ax.set_xlabel('$f_1$', 'Hz') ax.set_ylabel('$f_2$', 'Hz') - ax.text(1, 1.1, f'$N=10^{{{np.log10(nsegs):.0f}}}$', - ha='right', transform=ax.transAxes) - + if nsegs < 10000: + ax.text(1, 1.1, f'$N={nsegs}$', + ha='right', transform=ax.transAxes) + else: + ax.text(1, 1.1, f'$N=10^{{{np.log10(nsegs):.0f}}}$', + ha='right', transform=ax.transAxes) + dfreqs, diag = diag_projection(freqs, chi2, 2*fcutoff) + nli, nlif = peakedness(dfreqs, diag, rate, median=False) + ax.text(0.95, 0.88, f'SI($r$)={nli:.1f}', ha='right', zorder=50, + color='white', fontsize='medium', transform=ax.transAxes) cax = ax.inset_axes([1.04, 0, 0.05, 1]) cax.set_spines_outward('lrbt', 0) cb = fig.colorbar(pc, cax=cax) @@ -65,6 +73,7 @@ def plot_chi2(ax, s, freqs, chi2, nsegs): def plot_overn(ax, s, files, nmax=1e6): + fcutoff = 300 ns = [] stats = [] for fname in files: @@ -79,7 +88,7 @@ def plot_overn(ax, s, files, nmax=1e6): chi2 = np.abs(data['prss'])/dt_fix*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) ns.append(n) i0 = np.argmin(freqs < 0) - i1 = np.argmax(freqs > 300) + i1 = np.argmax(freqs > fcutoff) if i1 == 0: i1 = len(freqs) chi2 = chi2[i0:i1, i0:i1] @@ -115,7 +124,7 @@ def plot_overn(ax, s, files, nmax=1e6): ax.set_ylabel('$|\\chi_2|$ [Hz]') -def plot_chi2_contrast(ax1, ax2, s, files, nums, nsmall, nlarge): +def plot_chi2_contrast(ax1, ax2, s, files, nums, nsmall, nlarge, rate): for ax, n in zip([ax1, ax2], [nsmall, nlarge]): i = nums.index(n) data = np.load(files[i]) @@ -124,11 +133,13 @@ def plot_chi2_contrast(ax1, ax2, s, files, nums, nsmall, nlarge): freqs = data['freqs'] pss = data['pss'] chi2 = np.abs(data['prss'])*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) - cax = plot_chi2(ax, s, freqs, chi2, n) + cax = plot_chi2(ax, s, freqs, chi2, n, rate) cax.set_ylabel('') + print(f'Modeled cell {"-".join(files[i].name.split("-")[2:-2])} at {100*alpha:4.1f}% contrast: noise_frac={1:3.1f}, nsegs={n}') + print() -def plot_chi2_split(ax1, ax2, s, files, nums, nsmall, nlarge): +def plot_chi2_split(ax1, ax2, s, files, nums, nsmall, nlarge, rate): for ax, n in zip([ax1, ax2], [nsmall, nlarge]): i = nums.index(n) data = np.load(files[i]) @@ -138,8 +149,10 @@ def plot_chi2_split(ax1, ax2, s, files, nums, nsmall, nlarge): freqs = data['freqs'] pss = data['pss'] chi2 = np.abs(data['prss'])*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) - cax = plot_chi2(ax, s, freqs, chi2, n) + cax = plot_chi2(ax, s, freqs, chi2, n, rate) cax.set_ylabel('') + print(f'Modeled cell {"-".join(files[i].name.split("-")[2:-1])} at {100*alpha:4.1f}% contrast: noise_frac={noise_frac:3.1f}, nsegs={n}') + print() return alpha, noise_frac @@ -152,12 +165,15 @@ def plot_chi2_data(ax, s, cell_name, run): data_file = data_path / f'{cell_name}-spectral-s{run:02d}.npz' data = np.load(data_file) n = data['n'] + nfft = data['nfft'] + deltat = data['deltat'] alpha = data['alpha'] freqs = data['freqs'] pss = data['pss'] chi2 = np.abs(data['prss'])*0.5/np.sqrt(pss.reshape(1, -1)*pss.reshape(-1, 1)) - print(f'Measured cell {data_file.name} at {100*alpha:.1f}% contrast: r={ratebase:3.0f}Hz, CV={cvbase:4.2f}') - plot_chi2(ax, s, freqs, chi2, n) + print(f'Measured cell {"-".join(data_file.name.split("-")[:-2])} at {100*alpha:4.1f}% contrast: r={ratebase:3.0f}Hz, CV={cvbase:4.2f}, dt={1000*deltat:4.2f}ms, nfft={nfft}, win={1000*deltat*nfft:6.1f}ms, nsegs={n}') + print() + plot_chi2(ax, s, freqs, chi2, n, ratebase) return alpha, ratebase, eodf @@ -263,7 +279,7 @@ if __name__ == '__main__': files, nums = sort_files(example_cell[0], data_files, 2) axss[1].text(xt, yt, 'P-unit model', fontsize='large', transform=axs[1, 1].transAxes, color=s.model_color1) - plot_chi2_contrast(axss[1], axss[2], s, files, nums, nsmall, nlarge) + plot_chi2_contrast(axss[1], axss[2], s, files, nums, nsmall, nlarge, ratebase) axr1 = plot_noise_split(axss[0], data_contrast, 0, 1, wtime, wnoise) plot_overn(axss[3], s, files, nmax=1e6) axss[3].legend(loc='lower center', bbox_to_anchor=(0.5, 1.2), @@ -273,7 +289,7 @@ if __name__ == '__main__': axss = axs[2] data_files = sims_path.glob(f'chi2-noisen-{example_cell[0]}-{1000*contrast:03.0f}-*.npz') files, nums = sort_files(example_cell[0], data_files, 2) - plot_chi2_contrast(axss[1], axss[2], s, files, nums, nsmall, nlarge) + plot_chi2_contrast(axss[1], axss[2], s, files, nums, nsmall, nlarge, ratebase) axr2 = plot_noise_split(axss[0], contrast, 0, 1, wtime, wnoise) plot_overn(axss[3], s, files, nmax=1e6) @@ -286,7 +302,7 @@ if __name__ == '__main__': axss[1].text(xt + 0.9, yt, f'(noise split)', fontsize='large', transform=axss[1].transAxes) noise_contrast, noise_frac = plot_chi2_split(axss[1], axss[2], s, - files, nums, nsmall, nlarge) + files, nums, nsmall, nlarge, ratebase) axr3 = plot_noise_split(axss[0], 0, noise_contrast, noise_frac, wtime, wnoise) plot_overn(axss[3], s, files, nmax=1e6) @@ -303,4 +319,3 @@ if __name__ == '__main__': [axr3] + axs[3, 1:].tolist()], xoffs=[-4.5, 1, 1, -4.5], yoffs=2) fig.savefig() - print() diff --git a/nonlinearbaseline.tex b/nonlinearbaseline.tex index 7ca8b35..7425497 100644 --- a/nonlinearbaseline.tex +++ b/nonlinearbaseline.tex @@ -420,7 +420,7 @@ We here analyze nonlinear responses in two types of primary electroreceptor affe \begin{figure*}[t] \includegraphics[width=\columnwidth]{lifsuscept} - \caption{\label{fig:lifresponse} First- (linear) and second-order response functions of the leaky integrate-and-fire model. \figitem{A} Magnitude of the first-order response function $|\chi_1(f)|$, also known as the ``gain'' function, quantifies the response amplitude relative to the stimulus amplitude, both measured at the stimulus frequency. \figitem{B} Magnitude of the second-order response function $|\chi_2(f_1, f_2)|$ quantifies the response at the sum of two stimulus frequencies. For linear systems, the second-order response function is zero, because linear systems do not create new frequencies and thus there is no response at the sum of the two frequencies. The plots show the analytical solutions from \citep{Lindner2001} and \citep{Voronenko2017} with $\mu = 1.1$ and $D = 0.001$. Note that the leaky integrate-and-fire model is formulated without dimensions, frequencies are given in multiples of the inverse membrane time constant.} + \caption{\label{fig:lifresponse} First- (linear) and second-order response functions of the leaky integrate-and-fire model. \figitem{A} Magnitude of the first-order response function $|\chi_1(f)|$, also known as the ``gain'' function, quantifies the response amplitude relative to the stimulus amplitude, both measured at the same stimulus frequency. \figitem{B} Magnitude of the second-order response function $|\chi_2(f_1, f_2)|$ quantifies the response at the sum of two stimulus frequencies. For linear systems, the second-order response function is zero, because linear systems do not create new frequencies and thus there is no response at the sum of the two frequencies. The plots show the analytical solutions from \citet{Lindner2001} and \citet{Voronenko2017} with $\mu = 1.1$ and $D = 0.001$. Note that the leaky integrate-and-fire model is formulated without dimensions, frequencies are given in multiples of the inverse membrane time constant.} \end{figure*} We like to think about signal encoding in terms of linear relations with unique mapping of a given input value to a certain output of the system under consideration. Indeed, such linear methods, for example the transfer function or first-oder susceptibility shown in figure~\ref{fig:lifresponse}, have been widely and successfully applied to describe and predict neuronal responses and are an invaluable tool to characterize neural systems \citep{Borst1999}. Nonlinear mechanisms, on the other hand, are key on different levels of neural processing. Deciding for one action over another is a nonlinear process on the systemic level. On the cellular level, spiking neurons are inherently nonlinear. Whether an action potential is elicited depends on the membrane potential to exceed a threshold \citep{Hodgkin1952, Koch1995}. Because of such nonlinearities, understanding and predicting neuronal responses to sensory stimuli is in general a difficult task. @@ -450,16 +450,16 @@ When stimulating with both foreign signals simultaneously, additional peaks appe \begin{figure*}[p] \includegraphics[width=\columnwidth]{regimes} - \caption{\label{fig:nonlin_regime} Linear and nonlinear responses of a model P-unit in a three-fish setting in dependence on increasing stimulus amplitudes. The model P-unit was stimulated with two sinewaves of equal amplitude (contrast) at difference frequencies $\bone=30$\,Hz and $\btwo=130$\,Hz relative the receiver's EOD frequency. \btwo{} was set to match the baseline firing rate \fbase{} of the P-unit. The model used has the cell identifier 2013-01-08-aa (table~\ref{modelparams}). \figitem{A--D} Top: the stimulus, an amplitude modulation of the receiver's EOD resulting from the stimulation with the two sine waves. The contrasts of both beats increase from \panel{A} to \panel{D} as indicated. Middle: Spike raster of the model P-unit response. Bottom: power spectrum of the firing rate estimated from the spike raster with a Gaussian kernel ($\sigma=1$\,ms). \figitem{A} At low stimulus contrasts the response is linear. The only peaks in the response spectrum are at the two stimulating beat frequencies (green and purple marker) and their amplitudes increase linearly with stimulus contrast (thin lines). \figitem{B} At intermediate stimulus contrasts, nonlinear responses appear at the sum and the difference of the stimulus frequencies (orange and red marker). Their amplitudes grow quadraticlaly with stimulus constrast (thin lines). \figitem{C} At stronger stimulation the amplitudes of these nonlinear repsonses deviate from the quadratic dependency on stimulus contrast. \figitem{D} At higher stimulus contrasts additional peaks appear in the power spectrum. \figitem{E} Amplitude of the linear (at $\Delta f_1$ and $\Delta f_2$) and nonlinear (at $\Delta f_2 - \Delta f_1$ and $\Delta f_1 + \Delta f_2$) responses of the model P-unit as a function of beat contrast (thick lines). Thin lines indicate the initial linear and quadratic dependence on stimulus amplitude for the linear and nonlinear responses, respectively.} + \caption{\label{fig:regimes} Linear and nonlinear responses of a model P-unit in a three-fish setting in dependence on stimulus amplitudes. The model P-unit (identifier ``2018-05-08-ad'', table~\ref{modelparams}) was stimulated with two sinewaves of equal amplitude (contrast) at difference frequencies $\Delta f_1=40$\,Hz and $\Delta f_2=228$\,Hz relative the receiver's EOD frequency. $\Delta f_2$ was set to match the baseline firing rate $r$ of the P-unit. \figitem{A--D} Top: the stimulus, an amplitude modulation of the receiver's EOD resulting from the stimulation with the two sine waves. The contrasts of both beats increase from \panel{A} to \panel{D} as indicated. Middle: Spike raster of the model P-unit response. Bottom: power spectrum of the firing rate estimated from the spike raster. \figitem{A} At low stimulus contrasts the response is linear. The only peaks in the response spectrum are at the two stimulating beat frequencies (green and purple marker). \figitem{B} At moderately higher stimulus contrast, the peaks in the response spectrum at the two beat frequencies are larger. \figitem{C} At intermediate stimulus contrasts, nonlinear responses start to appear at the sum and the difference of the stimulus frequencies (orange and red marker). \figitem{D} At higher stimulus contrasts additional peaks appear in the power spectrum. \figitem{E} Amplitude of the linear (at $\Delta f_1$ and $\Delta f_2$) and nonlinear (at $\Delta f_2 - \Delta f_1$ and $\Delta f_1 + \Delta f_2$) responses of the model P-unit as a function of beat contrast (thick lines). Thin lines indicate the initial linear and quadratic dependence on stimulus amplitude for the linear and nonlinear responses, respectively. In the linear regime, below a stimulus contrast of about 1.2\,\% (left vertical line), the only peaks in the response spectrum are at the stimulus frequencies. In the weakly nonlinear regime up to a contrast of about 3.5\,\% peaks arise at the sum and the difference of the two stimulus frequencies. At stronger stimulation the amplitudes of these nonlinear repsonses deviate from the quadratic dependency on stimulus contrast.} \end{figure*} The stimuli used in \figref{fig:motivation} had the same not-small amplitude. Whether this stimulus condition falls into the weakly nonlinear regime as in \citet{Voronenko2017} is not clear. In order to illustrate how the responses to two beat frequencies develop over a range of amplitudes we use a stochastic leaky-integrate-and-fire (LIF) based P-unit model fitted to a specific electrophysiologically measured cell \citep{Barayeu2023}. -At very low stimulus contrasts (in the example cell less than approximately 1.5\,\% relative to the receiver's EOD amplitude) the spectrum has small peaks only at the beat frequencies (\subfigref{fig:nonlin_regime}{A}, green and purple). The amplitudes of these peaks initially increase linearly with stimulus amplitude (\subfigref{fig:nonlin_regime}{E}, thin lines), an indication of the linear response at lowest stimulus amplitudes. +At very low stimulus contrasts (in the example cell less than approximately 1.5\,\% relative to the receiver's EOD amplitude) the spectrum has small peaks only at the beat frequencies (\subfigref{fig:regimes}{A}, green and purple). The amplitudes of these peaks initially increase linearly with stimulus amplitude (\subfigref{fig:regimes}{E}, thin lines), an indication of the linear response at lowest stimulus amplitudes. -This linear regime is followed by the weakly nonlinear regime (in the example cell between approximately 1.5\,\% and 4\,\% stimulus contrasts). In addition to the peaks at the stimulus frequencies, peaks at the sum and the difference of the stimulus frequencies appear in the response spectrum (\subfigref{fig:nonlin_regime}{B}, orange and red). The amplitudes of these two peaks initially increase quadratically with stimulus amplitude (\subfigref{fig:nonlin_regime}{E}, thin lines). Note, that we have chosen $\Delta f_2$ to match the baseline firing rate $f_{base}$ of the neuron. +This linear regime is followed by the weakly nonlinear regime (in the example cell between approximately 1.5\,\% and 4\,\% stimulus contrasts). In addition to the peaks at the stimulus frequencies, peaks at the sum and the difference of the stimulus frequencies appear in the response spectrum (\subfigref{fig:regimes}{B}, orange and red). The amplitudes of these two peaks initially increase quadratically with stimulus amplitude (\subfigref{fig:regimes}{E}, thin lines). Note, that we have chosen $\Delta f_2$ to match the baseline firing rate $f_{base}$ of the neuron. -At higher stimulus amplitudes, the linear response and the weakly-nonlinear response begin to deviate from their linear and quadratic dependency on amplitude (\subfigrefb{fig:nonlin_regime}{C \& E}) and additional peaks appear in the response spectrum (\subfigrefb{fig:nonlin_regime}{D}). At high stimulus contrasts, additional nonlinearities in the system, in particular clipping of the firing rate, shape the responses. +At higher stimulus amplitudes, the linear response and the weakly-nonlinear response begin to deviate from their linear and quadratic dependency on amplitude (\subfigrefb{fig:regimes}{C \& E}) and additional peaks appear in the response spectrum (\subfigrefb{fig:regimes}{D}). At high stimulus contrasts, additional nonlinearities in the system, in particular clipping of the firing rate, shape the responses. For this example, we chose very specific stimulus (beat) frequencies. %One of these matching the P-unit's baseline firing rate. In the following, however, we are interested in how the nonlinear responses depend on different combinations of stimulus frequencies in the weakly nonlinear regime. For the sake of simplicity we will drop the $\Delta$ notation even though P-unit stimuli are beats. @@ -471,7 +471,7 @@ Weakly nonlinear responses are expected in cells with sufficiently low intrinsic \begin{figure*}[p] \includegraphics[width=\columnwidth]{punitexamplecell} - \caption{\label{fig:punit} Linear and nonlinear stimulus encoding in a low-CV P-unit (cell identifier ``2010-06-21-ai"). \figitem{A} Interspike interval (ISI) distribution of the cell's baseline activity, i.e. the cell is driven only by the unperturbed own electric field. The low CV of the ISIs indicates quite regular firing. \figitem{B} Power spectral density of the baseline response with peaks at the cell's baseline firing rate \fbase{} and the fish's EOD frequency \feod{}. \figitem{C} Random amplitude modulation stimulus (top, with cutoff frequency of 300\,Hz) and evoked responses (spike raster, bottom) of the same P-unit. The stimulus contrast (right) measures the strength of the AM. \figitem{D} Gain of the transfer function (first-order susceptibility), \eqnref{linearencoding_methods}, computed from the responses to 10\,\% (light purple) and 20\,\% contrast (dark purple) RAM stimulation of 10\,s duration. \figitem{E, F} Absolute value of the second-order susceptibility, \eqnref{eq:susceptibility}, for both the low and high stimulus contrast. Pink triangles mark vertical, horizontal, and diagonal lines where \fone, \ftwo{} or \fsum{} are equal to \fbase{}. \figitem{G} Second-order susceptibilities projected onto the diagonal (means of all anti-diagonals of the matrices shown in \panel{E, F}). Dots mark \fbase{}, horizontal dashed lines mark medians of the projected susceptibilities.} + \caption{\label{fig:punit} Linear and nonlinear stimulus encoding in example P-units. \figitem{A} Interspike interval (ISI) distribution of a cell's baseline activity, i.e. the cell is driven only by the unperturbed own electric field (cell identifier ``2020-10-27-ag''). This cell has a rather high baseline firing rate $r$ and an intermediate CV$_{\text{base}}$ of its interspike intervals, as indicated. \figitem{B} Power spectral density of the cell's baseline response with peaks at the cell's baseline firing rate $r$ and the fish's EOD frequency $f_{\text{EOD}}$. \figitem{C} Random amplitude modulation stimulus (top, red, with cutoff frequency of 300\,Hz) and evoked responses (spike raster, bottom) of the same P-unit for two different stimulus contrasts (right). The stimulus contrast quantifies the standard deviation of the AM relative to the fish's EOD amplitude. \figitem{D} Gain of the transfer function (first-order susceptibility), \eqnref{linearencoding_methods}, computed from the responses to 10\,\% (light blue) and 20\,\% contrast (dark blue) RAM stimulation of 5\,s duration. \figitem{E} Absolute value of the second-order susceptibility, \eqnref{eq:susceptibility}, for both the low and high stimulus contrast. At the lower stimulus contrast an anti-diagonal where the sum of the two stimulus frequencies equals the neuron's baseline frequency clearly sticks out of the noise floor. \figitem{F} At the higher contrast, the anti-diagonal is weaker. \figitem{G} Second-order susceptibilities projected onto the diagonal (means of all anti-diagonals of the matrices shown in \panel{E, F}). The anti-diagonals from \panel{E} and \panel{F} show up as a peak close to the cell's baseline firing rate $r$. The susceptibility index, SI($r$), quantifies the height of this peak relative to the values in the vicinity \notejb{See equation XXX}. \figitem{H} ISI distributions (top) and second-order susceptibilities (bottom) of four more example P-units (``2021-06-18-ae'', ``2012-03-30-ah'', ``2018-08-24-ak'', ``2018-08-14-ac'') covering the range of baseline firing rates and CV$_{\text{base}}$s as indicated. The first two cells show an anti-diagonal, but not the full expected triangular structure. The second-order susceptibilities of the other two cells are mostly flat and consequently the SI($r$) values are close to one.} \end{figure*} Noise stimuli, here random amplitude modulations (RAM) of the EOD (\subfigref{fig:punit}{C}, top trace, red line), are commonly used to characterize stimulus-driven responses of sensory neurons using transfer functions (first-order susceptibility), spike-triggered averages, or stimulus-response coherences. Here, we additionally estimate the second-order susceptibility to quantify nonlinear encoding. P-unit spikes align more or less clearly with fluctuations in the RAM stimulus. A higher stimulus intensity, here a higher contrast of the RAM relative to the EOD amplitude (see methods), entrains the P-unit response more clearly (light and dark purple for low and high contrast stimuli, \subfigrefb{fig:punit}{C}). Linear encoding, quantified by the transfer function, \eqnref{linearencoding_methods}, is similar for the two RAM contrasts in this low-CV P-unit (\subfigrefb{fig:punit}{D}), as expected for a linear system. The first-order susceptibility is low for low frequencies, peaks in the range below 100\,Hz and then falls off again \citep{Benda2005}. @@ -487,7 +487,7 @@ In contrast, a high-CV P-unit (CV$_{\text{base}}=0.4$) does not exhibit pronounc \begin{figure*}[p] \includegraphics[width=\columnwidth]{ampullaryexamplecell} - \caption{\label{fig:ampullary} Linear and nonlinear stimulus encoding in an ampullary afferent (cell identifier ``2012-04-26-ae"). \figitem{A} Interspike interval (ISI) distribution of the cell's baseline activity. The very low CV of the ISIs indicates almost perfect periodic spiking. \figitem{B} Power spectral density of baseline activity with peaks at the cell's baseline firing rate and its harmonics. \figitem{C} Bad-limited white noise stimulus (top, with a cutoff frequency of 150\,Hz) added to the fish's self-generated electric field and spike raster of the evoked responses (bottom) for two stimulus contrasts as indicated (right). \figitem{D} Gain of the transfer function, \eqnref{linearencoding_methods}, of the responses to stimulation with 2\,\% (light green) and 20\,\% contrast (dark green) of 10\,s duration. \figitem{E, F} Absolute value of the second-order susceptibility, \eqnref{eq:susceptibility}, for both stimulus contrasts as indicated. Pink triangles indicate the baseline firing rate. \figitem{G} Projections of the second-order susceptibilities in \panel{E, F} onto the diagonal. } + \caption{\label{fig:ampullary} Linear and nonlinear stimulus encoding in example ampullary afferents. \figitem{A} Interspike interval (ISI) distribution of the cell's baseline activity (cell identifier ``2012-04-26-ae''). The very low CV of the ISIs indicates almost perfect periodic spiking. \figitem{B} Power spectral density of baseline activity with peaks at the cell's baseline firing rate and its harmonics. Ampullary afferents do not respond to the fish's EOD frequency, $f_{\text{EOD}}$. \figitem{C} Band-limited white noise stimulus (top, red, with a cutoff frequency of 150\,Hz) added to the fish's self-generated electric field (no amplitude modulation) and spike raster of the evoked responses (bottom) for two stimulus contrasts as indicated (right). \figitem{D} Gain of the transfer function, \eqnref{linearencoding_methods}, of the responses to stimulation with 5\,\% (light green) and 10\,\% contrast (dark green) of 10\,s duration. \figitem{E, F} Absolute value of the second-order susceptibility, \eqnref{eq:susceptibility}, for both stimulus contrasts as indicated. Both show a strong anti-diagonal where the two stimulus frequencies add up to the afferent's baseline firing rate. \figitem{G} Projections of the second-order susceptibilities in \panel{E, F} onto the diagonal. \figitem{H} ISI distributions (top) and second-order susceptibilites (bottom) of four more example afferents (``2010-11-26-an'', ``2011-10-25-ac'', ``2011-02-18-ab'', and ``2014-01-16-aj'').} \end{figure*} Electric fish possess an additional electrosensory system, the passive or ampullary electrosensory system, that responds to low-frequency exogenous electric stimuli. The population of ampullary afferents is much less heterogeneous, and known for the much lower CVs of their baseline ISIs (CV$_{\text{base}}=0.06$ to $0.22$, \citealp{Grewe2017}). Ampullary cells do not phase-lock to the EOD and the ISIs are unimodally distributed (\subfigrefb{fig:ampullary}{A}). As a consequence of the high regularity of their baseline spiking activity, the corresponding power spectrum shows distinct peaks at the baseline firing rate \fbase{} and its harmonics. Since the cells do not respond to the self-generated EOD, there is no peak at \feod{} (\subfigrefb{fig:ampullary}{B}). When driven by a low-contrast noise stimulus (note: this is no longer an AM stimulus, \subfigref{fig:ampullary}{C}), ampullary cells exhibit very pronounced bands in the second-order susceptibility, where \fsum{} is equal to \fbase{} or its harmonic (yellow diagonals in \subfigrefb{fig:ampullary}{E}), implying strong nonlinear response components at these frequency combinations (\subfigrefb{fig:ampullary}{G}, top). With higher stimulus contrasts these bands disappear (\subfigrefb{fig:ampullary}{F}), the projection onto the diagonal loses its distinct peak at \fsum{} and its overall level is reduced (\subfigrefb{fig:ampullary}{G}, bottom). @@ -498,7 +498,7 @@ In the example recordings shown above (\figsrefb{fig:punit} and \fref{fig:ampull \begin{figure*}[p] \includegraphics[width=\columnwidth]{noisesplit} - \caption{\label{fig:noisesplit} Estimation of second-order susceptibilities in the limit of weak stimuli. \figitem{A} \suscept{} estimated from $N=11$ 0.5\,s long segments of an electrophysiological recording of another low-CV P-unit (cell 2012-07-03-ak, $\fbase=120$\,Hz, CV=0.20) driven with a weak RAM stimulus with contrast 2.5\,\%. Pink edges mark the baseline firing rate where enhanced nonlinear responses are expected. \figitem[i]{B} \textit{Standard condition} of model simulations with intrinsic noise (bottom) and a RAM stimulus (top). \figitem[ii]{B} \suscept{} estimated from simulations of the cell's LIF model counterpart (cell 2012-07-03-ak, table~\ref{modelparams}) based on the same number of FFT segments $N=11$ as in the electrophysiological recording. \figitem[iii]{B} Same as \panel[ii]{B} but using $10^6$ segments. \figitem[i-iii]{C} Same as in \panel[i-iii]{B} but in the \textit{noise split} condition: there is no external RAM signal driving the model. Instead, a large part (90\,\%) of the total intrinsic noise is treated as a signal and is presented as an equivalent amplitude modulation (\signalnoise, center), while the intrinsic noise is reduced to 10\,\% of its original strength (see methods for details). Simulating one million segments, this reveals the full expected trangular structure of the second-order susceptibility.} + \caption{\label{fig:noisesplit} Estimation of second-order susceptibilities. \figitem{A} \suscept{} (right) estimated from $N=198$ 256\,ms long FFT segments of an electrophysiological recording of another P-unit (cell ``2017-07-18-ai'', $r=78$\,Hz, CV$_{\text{base}}=0.22$) driven with a RAM stimulus with contrast 5\,\% (left). \figitem[i]{B} \textit{Standard condition} of model simulations with intrinsic noise (bottom) and a RAM stimulus (top). \figitem[ii]{B} \suscept{} estimated from simulations of the cell's LIF model counterpart (cell ``2017-07-18-ai'', table~\ref{modelparams}) based on a similar number of $N=100$ FFT segments. As in the electrophysiological recording only a weak anti-diagonal is visible. \figitem[iii]{B} Same as \panel[ii]{B} but using $10^6$ FFT segments. Now, the expected triangular structure is revealed. \figitem[iv]{B} Convergence of the \suscept{} estimate as a function of FFTsegements. \figitem{C} At a lower stimulus contrast of 1\,\% the estimate did not converge yet even for $10^6$ FFT segments. \figitem[i]{D} Same as in \panel[i]{B} but in the \textit{noise split} condition: there is no external RAM signal (red) driving the model. Instead, a large part (90\,\%) of the total intrinsic noise is treated as a signal and is presented as an equivalent amplitude modulation ($s_{\xi}(t)$, orange), while the intrinsic noise is reduced to 10\,\% of its original strength (bottom, see methods for details). \figitem[i]{D} 100 FFT segements are still not sufficient for estimating \suscept{}. \figitem[iii]{D} Simulating one million segments reveals the full expected trangular structure of the second-order susceptibility. \figitem[iv]{D} In the noise-split condition, the \suscept{} estimate converges already at about $10^{4}$ FFT Segements.} \end{figure*} %\notejb{Since the model overestimated the sensitivity of the real P-unit, we adjusted the RAM contrast to 0.9\,\%, such that the resulting spike trains had the same CV as the electrophysiological recorded P-unit during the 2.5\,\% contrast stimulation (see table~\ref{modelparams} for model parameters).} \notejb{chi2 scale is higher than in real cell} @@ -514,7 +514,7 @@ Note, that the increased number of segments goes along with a substantial reduct \begin{figure}[p] \includegraphics[width=\columnwidth]{modelsusceptcontrasts} - \caption{\label{fig:modelsusceptcontrasts}Dependence of second order susceptibility on stimulus contrast. \figitem{A} Second-order susceptibilities estimated for increasing stimulus contrasts $c=0, 1, 3$ and $10$\,\% as indicated ($N=10^7$ FFT segments for $c=1$\,\%, $N=10^6$ segments for all other contrasts, see \subfigrefb{fig:trialnr}{E}). $c=0$\,\% refers to the noise-split configuration (limit to vanishing external RAM signal, see \figrefb{fig:noisesplit}). Shown are simulations of the P-unit model cell ``2017-07-18-ai'' (table~\ref{modelparams}) with a baseline firing rate of $82$\,Hz and CV$=0.23$. The cell shows a clear triangular pattern in its second-order susceptibility even up to a contrast of $10$\,\%. Note, that for $c=1$\,\% (\panel[ii]{D}), the estimate did not converge yet. \figitem{B} Cell ``2012-12-13-ao'' (baseline firing rate of $146$\,Hz, CV$=0.23$) also has strong interactions at its baseline firing rate that survive up to a stimulus contrast of $3$\,\%. \figitem{C} Model cell ``2012-12-20-ac'' (baseline firing rate of $212$\,Hz, CV$=0.26$) shows a weak triangular structure in the second-order susceptibility that vanishes for stimulus contrasts greater than $1$\,\%. \figitem{D} Cell ``2013-01-08-ab'' (baseline firing rate of $218$\,Hz, CV$=0.55$) does not show any triangular pattern in its second-order susceptibility. Nevertheless, interactions between low stimulus frequencies become substantial at higher contrasts. \figitem{E} The presence of an elevated second-order susceptibility where the stimulus frequency add up to the neuron's baseline frequency, can be identified by values of the peakedness of the projected nonlinearity (\nli{}, \eqnref{eq:nli_equation2}) greater than one (horizontal black line). The \nli{} (density to the right) is plotted as a function of the model neuron's baseline CV for all $39$ model cells (table~\ref{modelparams}). Model cells have been visually categorized based on the presence of a triangular pattern in their second-order susceptibility estimated in the noise-split configuration (legend). The cells from \panel{A--D} are marked by a black circle. Pearson's correlation coefficients $r$, the corresponding significance level $p$ and regression line (dashed gray line) are indicated. The higher the stimulus contrast, the less cells show weakly nonlinear interactions as expressed by the triangular structure in the second-order susceptibility.} + \caption{\label{fig:modelsusceptcontrasts}Dependence of second order susceptibility on stimulus contrast. \figitem{A} Second-order susceptibilities estimated for increasing stimulus contrasts $c=0, 1, 3$ and $10$\,\% as indicated ($N=10^7$ FFT segments for $c=1$\,\%, $N=10^6$ segments for all other contrasts). $c=0$\,\% refers to the noise-split configuration (limit to vanishing external RAM signal, see \subfigrefb{fig:noisesplit}{D}). Shown are simulations of the P-unit model cell ``2017-07-18-ai'' (table~\ref{modelparams}) with a baseline firing rate of $82$\,Hz and CV$=0.23$. The cell shows a clear triangular pattern in its second-order susceptibility even up to a contrast of $10$\,\%. Note, that for $c=1$\,\% (\panel[ii]{D}), the estimate did not converge yet. \figitem{B} Cell ``2012-12-13-ao'' (baseline firing rate of $146$\,Hz, CV$=0.23$) also has strong interactions at its baseline firing rate that survive up to a stimulus contrast of $3$\,\%. \figitem{C} Model cell ``2012-12-20-ac'' (baseline firing rate of $212$\,Hz, CV$=0.26$) shows a weak triangular structure in the second-order susceptibility that vanishes for stimulus contrasts larger than $1$\,\%. \figitem{D} Cell ``2013-01-08-ab'' (baseline firing rate of $218$\,Hz, CV$=0.55$) does not show any triangular pattern in its second-order susceptibility. Nevertheless, interactions between low stimulus frequencies become substantial at higher contrasts. \figitem{E} The presence of an elevated second-order susceptibility where the stimulus frequency add up to the neuron's baseline frequency, can be identified by the susceptibility index (SI($r$), \eqnref{eq:nli_equation2}) greater than one (horizontal black line). The SI($r$) (density to the right) is plotted as a function of the model neuron's baseline CV for all $39$ model cells (table~\ref{modelparams}). Model cells have been visually categorized based on the presence of a triangular pattern in their second-order susceptibility estimated in the noise-split configuration (legend). The cells from \panel{A--D} are marked by a black circle. Pearson's correlation coefficients $r$, the corresponding significance level $p$ and regression line (dashed gray line) are indicated. The higher the stimulus contrast, the less cells show weakly nonlinear interactions as expressed by the triangular structure in the second-order susceptibility.} \end{figure} \subsection{Weakly nonlinear interactions in many model cells} @@ -526,7 +526,7 @@ The \nli{} correlates with the cell's CV of its baseline interspike intervals ($ \subsection{Weakly nonlinear interactions vanish for higher stimulus contrasts} -As pointed out in the context of stimulation with sine waves (\figrefb{fig:nonlin_regime}), the weakly nonlinear regime can only be observed for sufficiently weak stimulus amplitudes. In the model cells we estimated second-order susceptibilities for RAM stimuli with a contrast of 1, 3, and 10\,\%. For the 10\,\% contrast, $10^5$ FFT segments were sufficient for estimating the susceptibility (\figrefb{fig:trialnr}\,\panel[iv]{E}). The estimate converged similarly as in the noise-split configuration (\figrefb{fig:trialnr}\,\panel[i]{E}). For 3\,\% contrast, one million segments were just sufficient (\figrefb{fig:trialnr}\,\panel[iii]{E}) and for 1\,\% contrast even $10^7$ segments were sometimes not enough for a good estimate (\figrefb{fig:trialnr}\,\panel[ii]{E}). This again demonstrates the detrimental effect of smaller signal-to-noise ratios on the estimate of the second-order susceptibility and the advantage of the noise-split method. +As pointed out in the context of stimulation with sine waves (\figrefb{fig:regimes}), the weakly nonlinear regime can only be observed for sufficiently weak stimulus amplitudes. In the model cells we estimated second-order susceptibilities for RAM stimuli with a contrast of 1, 3, and 10\,\%. For the 10\,\% contrast, $10^5$ FFT segments were sufficient for estimating the susceptibility (\figrefb{fig:trialnr}\,\panel[iv]{E}). The estimate converged similarly as in the noise-split configuration (\figrefb{fig:trialnr}\,\panel[i]{E}). For 3\,\% contrast, one million segments were just sufficient (\figrefb{fig:trialnr}\,\panel[iii]{E}) and for 1\,\% contrast even $10^7$ segments were sometimes not enough for a good estimate (\figrefb{fig:trialnr}\,\panel[ii]{E}). This again demonstrates the detrimental effect of smaller signal-to-noise ratios on the estimate of the second-order susceptibility and the advantage of the noise-split method. The estimates for 1\,\% contrast (\figrefb{fig:modelsusceptcontrasts}\,\panel[ii]{E}), however, were quite similar to the estimates from the noise-split method, corresponding to a stimulus contrast of 0\,\% ($r=0.92$, $p\ll 0.001$). Thus, RAM stimuli with 1\,\% contrast are sufficiently small to not destroy weakly nonlinear interactions by their linearizing effect. 48\,\% of the model cells have a \nli{} value greater than 1.2. @@ -535,8 +535,7 @@ At a RAM contrast of 3\,\% the \nli{} values become smaller (\figrefb{fig:models \begin{figure}[tp] \includegraphics[width=\columnwidth]{modelsusceptlown} \notejb{We could remove D?} - \notejb{Replace D by C for 100 or 1000 trials?} - \caption{\label{fig:modelsusceptlown}Inferring the triangular structure of the second-order susceptibility from limited data. \figitem{A} Reliably estimating the structure of the second-order susceptibility requires a high number of FFT segements $N$ in the order of one or even ten millions (\figrefb{fig:trialnr}). As an example, susceptibilities of the model cell ``2012-12-21-ak-invivo-1'' (baseline firing rate of 157\,Hz, CV=0.15) are shown for the noise-split configuration ($c=0$\,\%) and RAM stimulus contrasts of $c=1$, $3$, and $10$\,\% as indicated. For contrasts below $10$\,\% this cell shows a nice triangular pattern in its susceptibilities, quite similar to the introductory example of a LIF in \figrefb{fig:lifresponse}. \figitem{B} However, with limited data of $N=10$ trials the susceptibility estimates are noisy and show almost no structure, except for a faint diagonal at the cell's baseline firing rate. \figitem{C} Correlating the estimates of \nli{}, that quantify the height of the ridge where the two stimulus frequencies add up to the neuron's baseline firing rate, based on ten segments (density to the right) with the converged ones based on one or ten million segments at a given stimulus contrast. The black diagonal line is the identity line and the dashed line is a linear regression. The correlation coefficient and corresponding significance level are indicated in the top left corner. The thin vertical line is a threshold at 1.2, the thin horizontal line a threshold at 1.6. The number of cells within each of the resulting four quadrants denote the false positives (top left), true positives (top right), true negatives (bottom left), and false negatives (bottom right). \figitem{D} Relation between the estimates based on ten trials with the one in the noise-split configuration based on one million trials. Cells are categorized as in \subfigref{fig:modelsusceptcontrasts}{E}.} + \caption{\label{fig:modelsusceptlown}Inferring the triangular structure of the second-order susceptibility from limited data. \figitem{A} Reliably estimating the structure of the second-order susceptibility requires a high number of FFT segements $N$ in the order of one or even ten millions. As an example, susceptibilities of the model cell ``2012-12-21-ak-invivo-1'' (baseline firing rate of 157\,Hz, CV=0.15) are shown for the noise-split configuration ($c=0$\,\%) and RAM stimulus contrasts of $c=1$, $3$, and $10$\,\% as indicated. For contrasts below $10$\,\% this cell shows a nice triangular pattern in its susceptibilities, quite similar to the introductory example of a LIF in \figrefb{fig:lifresponse}. \figitem{B} However, with limited data of $N=100$ trials the susceptibility estimates are noisy and show much less structure, except for the anti-diagonal at the cell's baseline firing rate. \figitem{C} Correlating the estimates of SI($r$), that quantify the height of the ridge where the two stimulus frequencies add up to the neuron's baseline firing rate, based on 100 FFT segments (density to the right) with the converged ones based on one or ten million segments at a given stimulus contrast. The black diagonal line is the identity line and the dashed line is a linear regression. The correlation coefficient and corresponding significance level are indicated in the top left corner. The thin vertical line is a threshold at 1.2, the thin horizontal line a threshold at 1.8. The number of cells within each of the resulting four quadrants denote the false positives (top left), true positives (top right), true negatives (bottom left), and false negatives (bottom right) for predicting a triangular structure in the converged susceptibility estimate. \figitem{D} Relation between the estimates based on 100 trials with the one in the noise-split configuration based on one million trials. Cells are categorized as in \subfigref{fig:modelsusceptcontrasts}{E}.} \end{figure} \subsection{Weakly nonlinear interactions can be deduced from limited data} @@ -555,7 +554,7 @@ Overall, observing \nli{} values greater than at least 1.6, even for a number of \begin{figure*}[tp] \includegraphics[width=\columnwidth]{dataoverview} - \caption{\label{fig:dataoverview} Nonlinear responses in P-units and ampullary cells. The second-order susceptibility is condensed into the peakedness of the nonlinearity, \nli{} \eqnref{eq:nli_equation}, that relates the amplitude of the projected susceptibility at a cell's baseline firing rate to its median (see \subfigrefb{fig:punit}{G}). Each of the recorded neurons contributes at maximum with two stimulus contrasts. Black squares and circles highlight recordings conducted in a single cell. Squares in \panel{A, C, E} correspond to the cell in \figrefb{fig:punit} and circles to the cell in \figrefb{fig:punithighcv}. Squares in \panel{B, D, F} correspond to the cell in \figrefb{fig:ampullary}. \figitem{A, B} There is a negative correlation between the CV during baseline and \nli. \figitem{C, D} There is a negative correlation between the CV during stimulation and \nli. \figitem{E, F} \nli{} is plotted against the response modulation, (see methods), an indicator of the subjective stimulus strength for a cell. There is a negative correlation between response modulation and \nli. Restricting the analysis to the weakest stimulus that was presented to each unique neuron, does not change the results. The number of unique neurons is 221 for P-units and 45 for ampullary cells. + \caption{\label{fig:dataoverview} Nonlinear responses in P-units and ampullary afferents. The second-order susceptibility is condensed into the susceptibility index, SI($r$) \eqnref{eq:nli_equation}, that quantifies the relative amplitude of the projected susceptibility at a cell's baseline firing rate (see \subfigrefb{fig:punit}{G}). Each of the recorded neurons contributes on average two stimulus contrasts. Black squares and circles highlight recordings conducted in a single cell. Squares in \panel{A, C, E} correspond to the cell in \figrefb{fig:punit} and circles to the cell in \figrefb{fig:punithighcv}. Squares in \panel{B, D, F} correspond to the cell in \figrefb{fig:ampullary}. \figitem{A, B} There is a negative correlation between the CV during baseline and \nli. \figitem{C, D} There is a negative correlation between the CV during stimulation and \nli. \figitem{E, F} \nli{} is plotted against the response modulation, (see methods), an indicator of the subjective stimulus strength for a cell. There is a negative correlation between response modulation and \nli. Restricting the analysis to the weakest stimulus that was presented to each unique neuron, does not change the results. The number of unique neurons is 221 for P-units and 45 for ampullary cells. % The two example P-units shown before are highlighted with dark markers in \subfigrefb{fig:dataoverview}{A, C, E} (squares -- \figrefb{fig:punit}, circles -- \figrefb{fig:punithighcv}). % Several of the recorded neurons contribute with two samples to the population analysis as their responses have been recorded to two different contrasts of the same RAM stimulus. Higher stimulus contrasts lead to a stronger drive and thus stronger response modulations (see color code bar in \subfigref{fig:dataoverview}{A}, see methods). % The example cell shown above (\figref{fig:ampullary}) was recorded at two different stimulus intensities and the \nli{} values are highlighted with black squares. diff --git a/punitexamplecell.py b/punitexamplecell.py index 9f78ccd..43ddf14 100644 --- a/punitexamplecell.py +++ b/punitexamplecell.py @@ -35,7 +35,6 @@ data_path = Path('data') / 'cells' def load_baseline(path, cell_name): d = path / f'{cell_name}-baseline.npz' data = np.load(d) - ['eodf', 'isis', 'isih', 'lags', 'corrs', 'freqs', 'prr'] eodf = float(data['eodf']) rate = float(data['ratebase/Hz']) cv = float(data['cvbase']) @@ -112,15 +111,15 @@ def plot_response_spectrum(ax, s, eodf, rate, freqs, prr): ax.show_spines('b') mask = freqs < 890 ax.plot(freqs[mask], power_db[mask], **s.lsC1) - ax.plot(freqs[eod_i], power_db[eod_i], **s.psFEOD) - ax.plot(freqs[rate_i], power_db[rate_i], **s.psF0) + ax.plot(freqs[eod_i], power_db[eod_i] + 2, **s.psFEOD) + ax.plot(freqs[rate_i], power_db[rate_i] + 2, **s.psF0) ax.set_xlim(0, 900) ax.set_ylim(-25, 5) ax.set_xticks_delta(300) ax.set_xlabel('$f$', 'Hz') - ax.text(freqs[eod_i], power_db[eod_i] + 2, '$f_{\\rm EOD}$', + ax.text(freqs[eod_i], power_db[eod_i] + 4, '$f_{\\rm EOD}$', ha='center') - ax.text(freqs[rate_i], power_db[rate_i] + 2, '$r$', + ax.text(freqs[rate_i], power_db[rate_i] + 4, '$r$', ha='center') ax.yscalebar(1.05, 0, 10, 'dB', ha='right') @@ -199,7 +198,7 @@ def plot_diagonals(ax, s, fbase, contrast1, freqs1, chi21, contrast2, freqs2, ch nlips.append(nlip) nlifs.append(nlif) print(f' SI at {100*contrast:.1f}% contrast: {nli:.2f}') - ax.axvline(fbase, **s.lsGrid) + #ax.axvline(fbase, **s.lsGrid) ax.plot(diags[1][0], 1e-3*diags[1][1], **s.lsC2) ax.plot(diags[0][0], 1e-3*diags[0][1], **s.lsC1) ax.plot(nlifs[1], 1e-3*nlips[1], **s.psC2) @@ -216,7 +215,7 @@ def plot_diagonals(ax, s, fbase, contrast1, freqs1, chi21, contrast2, freqs2, ch ax.text(nlifs[0] - 50, 1e-3*nlips[0], f'{100*contrast1:.0f}\\%', ha='right') ax.text(nlifs[0] + 70, 1e-3*nlips[0], f'SI={nlis[0]:.1f}') - ax.text(fbase, 4.3, '$r$', ha='center') + #ax.text(fbase, 4.3, '$r$', ha='center') if __name__ == '__main__': @@ -250,6 +249,9 @@ if __name__ == '__main__': *example_cell[0]) fcutoff2, contrast2, freqs2, gain2, chi22 = load_spectra(data_path, *example_cell[1]) + print(f' contrast1: {100*contrast1:4.1f}% contrast2: {100*contrast2:4.1f}%') + print(f' fcutoff1 : {fcutoff1:3.0f}Hz fcutoff2 : {fcutoff2:3.0f}Hz') + print(f' duration1: {time1[-1]:4.1f}s duration2: {time2[-1]:4.1f}s') s = plot_style() s.cell_color1 = s.punit_color1 diff --git a/regimes.py b/regimes.py index 0fc240c..3f812bb 100644 --- a/regimes.py +++ b/regimes.py @@ -153,7 +153,7 @@ def plot_raster(ax, s, spikes, tmax): def compute_power(path, contrast, spikes, nfft, dt): if not path.exists(): - print(f' Compute power spectrum for contrast = {100*contrast:4.1f}%') + print(f'Compute power spectrum for contrast = {100*contrast:4.1f}%') psds = [] time = np.arange(nfft + 1)*dt tmax = nfft*dt @@ -167,7 +167,7 @@ def compute_power(path, contrast, spikes, nfft, dt): np.savez(path, nfft=nfft, deltat=dt, nsegs=len(spikes), freqs=freqs, prr=prr) else: - print(f' Load power spectrum for contrast = {100*contrast:4.1f}%') + print(f'Load power spectrum for contrast = {100*contrast:4.1f}%') data = np.load(path) freqs = data['freqs'] prr = data['prr'] @@ -267,12 +267,16 @@ def plot_peaks(ax, s, alphas, contrasts, powerf1, powerf2, powerfsum, ax.text(100*alpha, ymax, tag, ha='center') #ax.axvline(contrast, **s.lsGrid) #ax.text(contrast, 630, tag, ha='center') - ax.axvline(1.2, **s.lsLine) - ax.axvline(3.5, **s.lsLine) + cthresh1 = 1.2 + cthresh2 = 3.5 + print(f'Linear regime ends at a contrast of about {cthresh1:4.1f}%') + print(f'Weakly non-linear regime ends at a contrast of about {cthresh2:4.1f}%') + ax.axvline(cthresh1, **s.lsLine) + ax.axvline(cthresh2, **s.lsLine) yoffs = 35 - ax.text(1.2/2, yoffs, 'linear\nregime', + ax.text(cthresh1/2, yoffs, 'linear\nregime', ha='center', va='center') - ax.text((1.2 + 3.5)/2, yoffs, 'weakly\nnonlinear\nregime', + ax.text((cthresh1 + cthresh2)/2, yoffs, 'weakly\nnonlinear\nregime', ha='center', va='center') ax.text(5.5, yoffs, 'strongly\nnonlinear\nregime', ha='center', va='center') @@ -294,8 +298,10 @@ if __name__ == '__main__': cell = cell_parameters(parameters, model_cell) nfft = 2**18 - print(f'Loaded data for cell {model_cell}: ' - f'baseline rate = {ratebase:.0f}Hz, CV = {cvbase:.2f}') + print(f'Loaded data for cell {model_cell}: ') + print(f' baseline rate = {ratebase:.0f}Hz, CV = {cvbase:.2f}') + print(f' f1 = {beatf1:.0f}Hz, f2 = {beatf2:.0f}Hz') + print() s = plot_style() fig, (axes, axa) = plt.subplots(2, 1, height_ratios=[4, 3],