Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Content for spike detection tut #143

Merged
merged 21 commits into from
Nov 13, 2024
Merged

Content for spike detection tut #143

merged 21 commits into from
Nov 13, 2024

Conversation

cjsha
Copy link
Member

@cjsha cjsha commented Nov 1, 2024

Resolve #122

This commit is just the initial content

@cjsha cjsha added this to the One milestone Nov 1, 2024
@cjsha cjsha changed the title Add initial content for spike detection tut Content for spike detection tut Nov 1, 2024
@ChucklesOnGitHub
Copy link
Contributor

Added a style proposal that needs additional work, but covers style choices we can add to the sytle guide if we agree.
Proposes:

  • break up the text into steps
  • removed superfluous info about what could be done that wasn't shown
  • removed the use of first person, instead used "we" to make it familiar
  • removed informal language ("and whatever stuff" or sth)
  • tried to be specific about what "hardware" -> changed to "headstage"
  • named operations in order of occurence (specifically related to menu clicks)
  • "in my case" --> "in this example"

Needs:

  • correct the workflow with changes in the text (F32), etc
  • headings and numbering to be correct
  • add screenshots and videos
  • proofread

@ChucklesOnGitHub
Copy link
Contributor

we need the list of scale and shift to be outside of the tutorial, since it should include parameters for all datastreams on the devices (auxiliary channels in rhd, LFP band in np1e).

@jonnew
Copy link
Member

jonnew commented Nov 6, 2024

Related: open-ephys/bonsai-onix1#367

- Add videos for visualizing data
- Restructure some spike tutorial content from more bullet points to
  less bullet points
@cjsha
Copy link
Member Author

cjsha commented Nov 8, 2024

Nice work, thanks Ceci. Some comments:

break up the text into steps

My first draft was too blocky, but this recent iteration feels a little too chopped up into bullet points to me. I try to find a middle ground in this commit, let me know what you think

I made it so that each step corresponds to a step corresponds to a part of the workflow.

tried to be specific about what "hardware" -> changed to "headstage"

I only reverted one instance of this because I use hardware to refer to breakout board and headstage64

named operations in order of occurence (specifically related to menu clicks)

I updated a page in the user gui that describes how to visualize data. I'm thinking we can link out to that instead of describing how to do it in the tutorial

correct the workflow with changes in the text (F32), etc

done, I think

headings and numbering to be correct

I'm not sure if the steps are better as headings as we discussed over discord or numbers. I'll let you handle this

add screenshots and videos

I added screenshots to the user guide where it describes how to visualize data. We don't have access to a live source of spikes, so I'm not sure how to add visualizers for those steps?

we need the list of scale and shift to be outside of the tutorial, since it should include parameters for all datastreams on the devices (auxiliary channels in rhd, LFP band in np1e).

I'm fine with this. We can make a page about this in the hardware docs? I made an issue about it open-ephys/onix-docs#74

Additional proposals:

  • I'm not in love with "Working with ephys data in Bonsai" bc I think 90% of tutorials can have that name. I'd still be ok with "Spike Detection", and then in the top of the page say something like "This tutorial shows how to use ONIX hardware and the OpenEphys.Onix1 Bonsai package to perform basic online signal processing functions such as channel selection, filtering, visualization using simple online spike detection with a fixed threshold as an example." But I also understand how using that as the name of the tutorial can be reductive for someone searching for the basics.

@cjsha cjsha marked this pull request as ready for review November 8, 2024 17:35
@ChucklesOnGitHub
Copy link
Contributor

Cris, this is looking so good! I love the new flow.

  • Fantastic to have a visualizers guide outside of the tutorial

    • Added tips relevant to multichannel data that are really obscure for new users
    • Tried my best with the intro text, but please revise for technical correctness
  • I really motivated this incorrectly by calling it spike tutorial. It's a signal processing tutorial for ephys data. I want to show people how to do things they are used to doing once they stick a probe in the brain: channel mapping/selection, filtering, some detection of sorts so they can start working in Bonsai. Help them answer the q "do i have any good data?" which is usually "where are my spikes?" within Bonsai. There are better ways of doing this, both for spike visualization (ephys socket) and for real-time processing for closed-loop applications (spike sorting and ripple detection nodes not available/mainstream yet). re: Jon's comment here. In this basic signal processing tutorial, putting a threshold on filtered data is an example of what could be done on high-pass filtered data, as could be doing phase detection on low-pass filtered data.

    • I changed the title of the tutorial, re-wrote the intro text and changed the name of the issue to reflect this better.
    • We could add phase detection on the LFP or a notch filter as exampe but I left it out for now.
  • Language revision: I want to use plain language. I'm looking out for fluff, jargon, over-complex words and words like "simply" and "just" (it's important), as well as spellchecking. We could do a small language style list we both agree with.

    • Made clarity edits with this in mind
    • When do you use operator and when do you use node?

I'm not sure if the steps are better as headings as we discussed over discord or numbers. I'll let you handle this

  • Changed big steps to headings. I think this is helpful since sections are in order but kind of independent functions. Allows linking easily and sections show up in the side menu. Lmk if this works, I think some sections might benefit from numbering inside: Stream ephys data into Bonsai
  • I only split up one section due to processing steps being different (channel selection, data conversion), still need to include the proper wf edit.

We don't have access to a live source of spikes, so I'm not sure how to add visualizers for those steps?

  • I think the Visualize Data section is general enough that a specific visualizer might not be necessary yet.
  • I could take screenshots of waveforms picked up from noise but this is not ideal :/

I made an issue about it open-ephys/onix-docs#74

  • after we finish this, we can update the tutorial.
  • i couldn't find the edits I had made to the table

- Add another page that contains the scale/shift table
- Edits to the top of page introduction
  - Don't discuss what the tutorial doesn't (refer to comment)
  - Don't talk about bonsai's visualization disadvantages. instead, frame it as the gui's visualization advantages
@ChucklesOnGitHub ChucklesOnGitHub merged commit b9761e0 into main Nov 13, 2024
3 checks passed
@cjsha cjsha deleted the issues-122 branch November 13, 2024 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tutorial on signal processing of ephys data
3 participants