<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Motion-Clouds | Laurent Perrinet</title><link>https://laurentperrinet.github.io/project/motion-clouds/</link><atom:link href="https://laurentperrinet.github.io/project/motion-clouds/index.xml" rel="self" type="application/rss+xml"/><description>Motion-Clouds</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en</language><copyright>This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License Please note that multiple distribution, publication or commercial usage of copyrighted papers included in this website would require submission of a permission request addressed to the journal in which the paper appeared.</copyright><lastBuildDate>Tue, 01 Nov 2016 00:00:00 +0000</lastBuildDate><image><url>https://laurentperrinet.github.io/media/icon_hu_f2990a9a83ba401.png</url><title>Motion-Clouds</title><link>https://laurentperrinet.github.io/project/motion-clouds/</link></image><item><title>Differential response of the retinal neural code with respect to the sparseness of natural images</title><link>https://laurentperrinet.github.io/publication/ravello-16-droplets/</link><pubDate>Tue, 01 Nov 2016 00:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/publication/ravello-16-droplets/</guid><description>&lt;p&gt;
&lt;figure id="figure-sparse-coding-of-images-in-the-retina-follows-regular-statistics-at-the-global-not-the-local-scale"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img alt="Sparse coding of images in the retina follows regular statistics at the global, not the local scale" srcset="
/publication/ravello-16-droplets/retina_hu_9dcbe652ecb7e7d0.webp 400w,
/publication/ravello-16-droplets/retina_hu_280fefb37042a1c6.webp 760w,
/publication/ravello-16-droplets/retina_hu_70aa0be87b3aaecb.webp 1200w"
src="https://laurentperrinet.github.io/publication/ravello-16-droplets/retina_hu_9dcbe652ecb7e7d0.webp"
width="760"
height="376"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption data-pre="Figure&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered"&gt;
Sparse coding of images in the retina follows regular statistics at the global, not the local scale
&lt;/figcaption&gt;&lt;/figure&gt;
See &lt;a href="https://laurentperrinet.github.io/sciblog/posts/2017-11-21_retina_sparseness.html" target="_blank" rel="noopener"&gt;supplementray code&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id="how-does-the-retina-respond-to-stimuli-with-different-sparseness"&gt;How does the retina respond to stimuli with different sparseness?&lt;/h1&gt;
&lt;p&gt;This stimulus is generated simply using the &lt;a href="https://github.com/NeuralEnsemble/MotionClouds/blob/master/MotionClouds/MotionClouds.py#L282" target="_blank" rel="noopener"&gt;Motion Clouds library&lt;/a&gt; by defining a sparse draw of events:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;np&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;MotionClouds&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;mc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;plt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# PARAMETERS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;seed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2042&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;seed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;seed&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;seed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;N_sparse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sparse_base&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;2.e5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sparseness&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;logspace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_sparse&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;sparse_base&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sparseness&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# TEXTON&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;N_X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_Y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_frame&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;256&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;256&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;fx&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fy&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ft&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_grids&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N_X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_Y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;mc_i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;envelope_gabor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fx&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fy&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ft&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sf_0&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.05&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;B_sf&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.025&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;B_theta&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;inf&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;values&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;randn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N_X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_Y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_frame&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;chance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argsort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;values&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ravel&lt;/span&gt;&lt;span class="p"&gt;()))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;chance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chance&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;float&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;chance&lt;/span&gt; &lt;span class="o"&gt;/=&lt;/span&gt; &lt;span class="n"&gt;chance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;chance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;chance&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reshape&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;N_X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_Y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_frame&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;fig&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;axs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;subplots&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N_sparse&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fig_width&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fig_width&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;N_sparse&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i_ax&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;l0_norm&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sparseness&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;threshold&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;l0_norm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;mask&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;zeros_like&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chance&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;chance&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;threshold&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;1.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;im&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;mc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rectif&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random_cloud&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mc_i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;events&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;values&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;axs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i_ax&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;imshow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;im&lt;/span&gt;&lt;span class="p"&gt;[:,&lt;/span&gt; &lt;span class="p"&gt;:,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;vmin&lt;/span&gt;&lt;span class="o"&gt;=-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;vmax&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cmap&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gray&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#axs[i_ax].text(9, 80, r&amp;#39;$n=%.0f\%%$&amp;#39; % (noise*100), color=&amp;#39;white&amp;#39;, fontsize=10)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;axs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i_ax&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;$\epsilon=&lt;/span&gt;&lt;span class="si"&gt;%.0e&lt;/span&gt;&lt;span class="s1"&gt;$&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;l0_norm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;white&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fontsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;axs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i_ax&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_xticks&lt;/span&gt;&lt;span class="p"&gt;([])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;axs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i_ax&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_yticks&lt;/span&gt;&lt;span class="p"&gt;([])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tight_layout&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;fig&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;subplots_adjust&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hspace&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;wspace&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;bottom&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;top&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Spatiotemporal tuning of retinal ganglion cells dependent on the context of signal presentation</title><link>https://laurentperrinet.github.io/publication/ravello-15/</link><pubDate>Thu, 01 Jan 2015 00:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/publication/ravello-15/</guid><description>&lt;ul&gt;
&lt;li&gt;Follow-up paper
&lt;div class="pub-list-item view-citation" style="margin-bottom: 1rem"&gt;
&lt;i class="far fa-file-alt pub-icon" aria-hidden="true"&gt;&lt;/i&gt;
&lt;span class="article-metadata li-cite-author"&gt;
&lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/cesar-u-ravello/"&gt;Cesar U Ravello&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/laurent-u-perrinet/"&gt;Laurent U Perrinet&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/maria-jos%C3%A9-escobar/"&gt;Maria-José Escobar&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/adri%C3%A1n-g-palacios/"&gt;Adrián G Palacios&lt;/a&gt;&lt;/span&gt;
&lt;/span&gt;
(2019).
&lt;a href="https://laurentperrinet.github.io/publication/ravello-19/"&gt;Speed-Selectivity in Retinal Ganglion Cells is Sharpened by Broad Spatial Frequency, Naturalistic Stimuli&lt;/a&gt;.
&lt;em&gt;Scientific Reports&lt;/em&gt;.
&lt;p&gt;
&lt;a href="#" class="btn btn-outline-primary btn-page-header btn-sm js-cite-modal"
data-filename="/publication/ravello-19/cite.bib"&gt;
Cite
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://doi.org/10.1038/s41598-018-36861-8" target="_blank" rel="noopener"&gt;
DOI
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://www.insb.cnrs.fr/fr/cnrsinfo/des-la-retine-le-systeme-visuel-prefere-des-images-naturelles" target="_blank" rel="noopener"&gt;
Press&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://doi.org/10.1038%2Fs41598-018-36861-8" target="_blank" rel="noopener"&gt;
URL&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://hal.science/hal-02007905" target="_blank" rel="noopener"&gt;
HAL&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Motion Clouds: Model-based stimulus synthesis of natural-like random textures for the study of motion perception</title><link>https://laurentperrinet.github.io/publication/sanz-12/</link><pubDate>Wed, 14 Mar 2012 00:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/publication/sanz-12/</guid><description>&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img alt="header" srcset="
/publication/sanz-12/sanz-12_hu_b5b3e0b24f0ea4cc.webp 400w,
/publication/sanz-12/sanz-12_hu_6c05bcb8895a2b49.webp 760w,
/publication/sanz-12/sanz-12_hu_7e3a9d1dda4947cf.webp 1200w"
src="https://laurentperrinet.github.io/publication/sanz-12/sanz-12_hu_b5b3e0b24f0ea4cc.webp"
width="760"
height="207"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;strong&gt;MotionClouds&lt;/strong&gt; are random dynamic stimuli optimized to study motion perception.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://neuralensemble.github.io/MotionClouds/" target="_blank" rel="noopener"&gt;Web-site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NeuralEnsemble/MotionClouds" target="_blank" rel="noopener"&gt;Source code&lt;/a&gt; using
&lt;i class="fab fa-python pr-1 fa-fw"&gt;&lt;/i&gt; Python.&lt;/li&gt;
&lt;li&gt;37 citations on &lt;a href="https://scholar.google.com/scholar?cluster=3286688289699014452&amp;amp;hl=fr&amp;amp;as_sdt=7,39" target="_blank" rel="noopener"&gt;Google Scholar&lt;/a&gt; (last updated 22/10/2021)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://neuralensemble.org/MotionClouds/ms/MotionClouds_Supplementary.pdf" target="_blank" rel="noopener"&gt;Supplementary information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Follow-up paper
&lt;div class="pub-list-item view-citation" style="margin-bottom: 1rem"&gt;
&lt;i class="far fa-file-alt pub-icon" aria-hidden="true"&gt;&lt;/i&gt;
&lt;span class="article-metadata li-cite-author"&gt;
&lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/jonathan-vacher/"&gt;Jonathan Vacher&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/andrew-isaac-meso/"&gt;Andrew Isaac Meso&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/laurent-u-perrinet/"&gt;Laurent U Perrinet&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/gabriel-peyr%C3%A9/"&gt;Gabriel Peyré&lt;/a&gt;&lt;/span&gt;
&lt;/span&gt;
(2018).
&lt;a href="https://laurentperrinet.github.io/publication/vacher-16/"&gt;Bayesian Modeling of Motion Perception using Dynamical Stochastic Textures&lt;/a&gt;.
&lt;em&gt;Neural Computation&lt;/em&gt;.
&lt;p&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://laurentperrinet.github.io/publication/vacher-16/vacher-16.pdf" target="_blank" rel="noopener"&gt;
PDF
&lt;/a&gt;
&lt;a href="#" class="btn btn-outline-primary btn-page-header btn-sm js-cite-modal"
data-filename="/publication/vacher-16/cite.bib"&gt;
Cite
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://doi.org/10.1162/neco_a_01142" target="_blank" rel="noopener"&gt;
DOI
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://www.mitpressjournals.org/doi/abs/10.1162/neco_a_01142" target="_blank" rel="noopener"&gt;
URL&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://arxiv.org/abs/1611.01390" target="_blank" rel="noopener"&gt;
arXiv&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class="pub-list-item view-citation" style="margin-bottom: 1rem"&gt;
&lt;i class="far fa-file-alt pub-icon" aria-hidden="true"&gt;&lt;/i&gt;
&lt;span class="article-metadata li-cite-author"&gt;
&lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/jonathan-vacher/"&gt;Jonathan Vacher&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/andrew-isaac-meso/"&gt;Andrew Isaac Meso&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/laurent-u-perrinet/"&gt;Laurent U Perrinet&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/gabriel-peyr%C3%A9/"&gt;Gabriel Peyré&lt;/a&gt;&lt;/span&gt;
&lt;/span&gt;
(2015).
&lt;a href="https://laurentperrinet.github.io/publication/vacher-15-nips/"&gt;Biologically Inspired Dynamic Textures for Probing Motion Perception&lt;/a&gt;.
&lt;em&gt;Advances in Neural Information Processing Systems&lt;/em&gt;.
&lt;p&gt;
&lt;a href="#" class="btn btn-outline-primary btn-page-header btn-sm js-cite-modal"
data-filename="/publication/vacher-15-nips/cite.bib"&gt;
Cite
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://hal.science/hal-01225867" target="_blank" rel="noopener"&gt;
Pdf&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://papers.nips.cc/paper/5769-biologically-inspired-dynamic-textures-for-probing-motion-perception.pdf" target="_blank" rel="noopener"&gt;
PDF&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://arxiv.org/abs/1511.02705" target="_blank" rel="noopener"&gt;
arXiv&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;This library was notably used in the following paper
&lt;div class="pub-list-item view-citation" style="margin-bottom: 1rem"&gt;
&lt;i class="far fa-file-alt pub-icon" aria-hidden="true"&gt;&lt;/i&gt;
&lt;span class="article-metadata li-cite-author"&gt;
&lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/claudio-simoncini/"&gt;Claudio Simoncini&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/laurent-u-perrinet/"&gt;Laurent U Perrinet&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/anna-montagnini/"&gt;Anna Montagnini&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/pascal-mamassian/"&gt;Pascal Mamassian&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/guillaume-s-masson/"&gt;Guillaume S Masson&lt;/a&gt;&lt;/span&gt;
&lt;/span&gt;
(2012).
&lt;a href="https://laurentperrinet.github.io/publication/simoncini-12/"&gt;More is not always better: dissociation between perception and action explained by adaptive gain control&lt;/a&gt;.
&lt;em&gt;Nature Neuroscience&lt;/em&gt;.
&lt;p&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://laurentperrinet.github.io/publication/simoncini-12/simoncini-12.pdf" target="_blank" rel="noopener"&gt;
PDF
&lt;/a&gt;
&lt;a href="#" class="btn btn-outline-primary btn-page-header btn-sm js-cite-modal"
data-filename="/publication/simoncini-12/cite.bib"&gt;
Cite
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://doi.org/10.1038/nn.3229" target="_blank" rel="noopener"&gt;
DOI
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://www.nature.com/neuro/journal/vaop/ncurrent/full/nn.3229.html" target="_blank" rel="noopener"&gt;
URL&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id="figure-figure-4-broadband-vs-narrowband-stimuli-from-a-through-b-to-c-the-frequency-bandwidth-bf-increases-while-all-other-parameters-such-as-f0-are-kept-constant-the-mc-with-the-broadest-bandwidth-is-thought-to-best-represent-natural-stimuli-since-as-those-it-contains-many-frequency-components-a-bf--005-supplemental-movie-s4-b-bf--015-supplemental-movie-s5-c-bf--04-supplemental-movie-s6"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img alt="**Figure 4** Broadband vs. narrowband stimuli. From A through B to C, the frequency bandwidth Bf increases, while all other parameters (such as f0) are kept constant. The MC with the broadest bandwidth is thought to best represent natural stimuli, since, as those, it contains many frequency components. A: Bf = 0:05 (Supplemental Movie S4). B: Bf = 0:15 (Supplemental Movie S5). C: Bf = 0:4 (Supplemental Movie S6)." srcset="
/publication/sanz-12/featured_hu_656f11c12e68069a.webp 400w,
/publication/sanz-12/featured_hu_97ece0507ba08c10.webp 760w,
/publication/sanz-12/featured_hu_9071b375469732c5.webp 1200w"
src="https://laurentperrinet.github.io/publication/sanz-12/featured_hu_656f11c12e68069a.webp"
width="80%"
height="460"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
&lt;strong&gt;Figure 4&lt;/strong&gt; Broadband vs. narrowband stimuli. From A through B to C, the frequency bandwidth Bf increases, while all other parameters (such as f0) are kept constant. The MC with the broadest bandwidth is thought to best represent natural stimuli, since, as those, it contains many frequency components. A: Bf = 0:05 (Supplemental Movie S4). B: Bf = 0:15 (Supplemental Movie S5). C: Bf = 0:4 (Supplemental Movie S6).
&lt;/figcaption&gt;&lt;/figure&gt;</description></item></channel></rss>