<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bids on Tyler Collins</title>
    <link>https://www.tk11br.ca/tags/bids/</link>
    <description>Recent content in Bids on Tyler Collins</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>2022-2026 Tyler Collins. Content licensed under CC BY-NC 4.0.</copyright>
    <lastBuildDate>Tue, 05 May 2026 00:00:00 -0400</lastBuildDate>
    <atom:link href="https://www.tk11br.ca/tags/bids/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>EEGStudyFlow</title>
      <link>https://www.tk11br.ca/posts/eegstudyflow/</link>
      <pubDate>Tue, 05 May 2026 00:00:00 -0400</pubDate>
      <guid>https://www.tk11br.ca/posts/eegstudyflow/</guid>
      <description>A working template that guides students and supervisors through the decisions behind a reproducible EEG study.</description>
      <content:encoded><![CDATA[<p>Starting an EEG study means making dozens of small decisions. Where will the original recordings live? How will they become a BIDS dataset? Which software environment will the study use? Where does preprocessing end and analysis begin?</p>
<p>A student has to answer these questions before they&rsquo;ve had enough experience to know what the consequences will be. Their supervisor then has to review those answers, remember what everyone decided, and figure out whether the project can still be reproduced two years later.</p>
<p>A classic example is storing processed files by stage. Unless you remember exactly what ran and in what order, you can end up with a tree of files and lose the plot completely. Good luck reproducing an error from somewhere in the middle of that.</p>
<p><a href="https://github.com/Andesha/EEGStudyFlow">EEGStudyFlow</a> is my opinionated answer. It&rsquo;s a working template and an educational example for running an EEG study. I&rsquo;ve made these decisions many different ways, and the repository records the defaults I now trust. A new student shouldn&rsquo;t have to rediscover every bad option firsthand.</p>
<h2 id="one-repository-per-study">One repository per study</h2>
<p>When you start a study, clone EEGStudyFlow and rename the new copy. That&rsquo;s now the study&rsquo;s source of truth. The student works through it as the study develops, and the supervisor can come back to the same place to see how the data were imported, processed, and analyzed.</p>
<p>The notebooks follow the study instead of being a pile of disconnected code examples. They cover:</p>
<ul>
<li>testing the Python environment and plotting setup</li>
<li>inspecting a source recording before settling on an import process</li>
<li>initializing a BIDS study from the original files</li>
<li>preprocessing the recordings with <a href="https://github.com/Andesha/pylossless">PyLossless</a></li>
<li>running a traditional event-related potential analysis across participants</li>
</ul>
<p>Each step gives the next one a known structure. Raw source files stay separate from the BIDS dataset, and processed derivatives stay separate from both. The instructions and analysis live beside the study without getting mixed into the recordings.</p>
<p>When someone asks which script ran, when the filtering happened, or which subjects were rejected, you can find the answer inside the study. It documents itself as you work.</p>
<h2 id="opinionated-on-purpose">Opinionated on purpose</h2>
<p>EEGStudyFlow doesn&rsquo;t try to list every valid way to run an EEG study. That would recreate the problem it&rsquo;s meant to solve. It gives students a path they can trust and supervisors a common starting point for teaching and review.</p>
<p>The notebooks don&rsquo;t hide the decisions behind a single command. Students can see what happens when the source data become BIDS, what PyLossless produces, and what the analysis consumes. They can learn the workflow while using it, then come back when they reach the next stage of the study.</p>
<p>The detailed explanations live in the repository, close to the code they describe. The short version is this: if you&rsquo;re starting an EEG study and don&rsquo;t yet know which setup decisions will matter later, clone EEGStudyFlow before making them. If you supervise EEG students, it gives you one place to send them and one place to check their work.</p>
<p>It&rsquo;s what I would&rsquo;ve wanted when I first started.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
