{"id":451,"date":"2021-06-18T22:20:59","date_gmt":"2021-06-18T20:20:59","guid":{"rendered":"https:\/\/benediktehinger.de\/blog\/science\/?p=451"},"modified":"2021-06-18T22:21:01","modified_gmt":"2021-06-18T20:21:01","slug":"visualization-of-deconvolution-with-pluto-jl","status":"publish","type":"post","link":"https:\/\/benediktehinger.de\/blog\/science\/visualization-of-deconvolution-with-pluto-jl\/","title":{"rendered":"Visualization of deconvolution with pluto.jl"},"content":{"rendered":"\n<p>I just started dabbling with Pluto.jl and very quickly it allows to give very insightful notebooks.<\/p>\n\n\n\n<p>For example, take this signal:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/benediktehinger.de\/blog\/science\/upload\/sites\/2\/2021\/06\/grafik.png\"><img loading=\"lazy\" decoding=\"async\" width=\"930\" height=\"620\" src=\"https:\/\/benediktehinger.de\/blog\/science\/upload\/sites\/2\/2021\/06\/grafik.png\" alt=\"\" class=\"wp-image-452\" srcset=\"https:\/\/benediktehinger.de\/blog\/science\/upload\/sites\/2\/2021\/06\/grafik.png 930w, https:\/\/benediktehinger.de\/blog\/science\/upload\/sites\/2\/2021\/06\/grafik-300x200.png 300w, https:\/\/benediktehinger.de\/blog\/science\/upload\/sites\/2\/2021\/06\/grafik-768x512.png 768w\" sizes=\"auto, (max-width: 930px) 100vw, 930px\" \/><\/a><figcaption>X in samples, y in &#8220;\u00b5V&#8221;, blue = 1 EEG channel, orange= event onsets<\/figcaption><\/figure>\n\n\n\n<p>Clearly, the simulated event-responses (the event-related potentials) overlap in time (e.g. at ~sample 350). We could do a &#8220;naive&#8221; regression on all timepoints relative to the event-onset, ignoring any overlap &#8211; or we could use linear deconvolution aka. overlap-correction to correct for the overlap (as the name says ;).<\/p>\n\n\n\n<p>What follows is the beauty of Pluto.jl &#8211; simple reactive\/interactive notebooks. As shown in the following gif, it is very easy to show the dependency of deconvolution-success on window-size and noise:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/benediktehinger.de\/upload\/pluto_deconvolve_1.gif\" alt=\"\"\/><figcaption>Mass Univariate analysis on the left, deconvolution on the right<\/figcaption><\/figure>\n\n\n\n<p>Looks pretty robust for this simulation! Cool!<\/p>\n\n\n\n<p>If you want to try for yourself: here is the<a href=\"https:\/\/github.com\/unfoldtoolbox\/Unfold.jl\/blob\/main\/docs\/nb_unfold-overlap.jl\"> notebook <\/a> and <a href=\"https:\/\/github.com\/unfoldtoolbox\/Unfold.jl\">here <\/a>the link to the Unfold.jl toolbox<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I just started dabbling with Pluto.jl and very quickly it allows to give very insightful notebooks. For example, take this signal: Clearly, the simulated event-responses (the event-related potentials) overlap in time (e.g. at ~sample 350). We could do a &#8220;naive&#8221; regression on all timepoints relative to the event-onset, ignoring any overlap &#8211; or we could use linear deconvolution aka. overlap-correction to correct for the overlap (as the name says ;). What follows is the beauty of Pluto.jl &#8211; simple reactive\/interactive notebooks. As shown in the following gif, it is very easy to show the dependency of deconvolution-success on window-size and&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-451","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/posts\/451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/comments?post=451"}],"version-history":[{"count":0,"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/posts\/451\/revisions"}],"wp:attachment":[{"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/media?parent=451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/categories?post=451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benediktehinger.de\/blog\/science\/wp-json\/wp\/v2\/tags?post=451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}