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

Tools for Generation of Hybrid recordings #2436

Merged
merged 147 commits into from
Jun 29, 2024

Conversation

yger
Copy link
Collaborator

@yger yger commented Jan 24, 2024

This PR adds to the generation module the possibility to create hybrid recordings. These start from an existing recording and inject known units for benchmarking.

In particular, the user has can retrieve templates from a template database or estimate them from an initial spike sorting output.

The templates can be manipulated with selection, rescalilng and relocation to generate hybrid recordings of jincreasing complexity.

Importantly, a pre-eetimated motion can be used to inject spikes following the existing drift in the recording.

A how to page to showcase all these options is available here: https://spikeinterface--2436.org.readthedocs.build/en/2436/how_to/benchmark_with_hybrid_recordings.html

@yger yger added enhancement New feature or request hybrid Related to Hybrid testing labels Jan 24, 2024
@yger yger self-assigned this Jan 24, 2024
@yger
Copy link
Collaborator Author

yger commented Jan 26, 2024

This PR depends on #2410

@JoeZiminski
Copy link
Collaborator

I am very fascinated by this PR and the somewhat mysterious 'Hybrid' recordings, sounds cool! Could you extend the PR message with an explanation to the naive (me) 😄 ?

@alejoe91
Copy link
Member

@zm711
Copy link
Collaborator

zm711 commented Jun 28, 2024

I was tagged, but I can't find where. Happy to comment on something if my opinion was desired. Just got an alert this morning, but now looking I can't find it :)

@alejoe91
Copy link
Member

I was tagged, but I can't find where. Happy to comment on something if my opinion was desired. Just got an alert this morning, but now looking I can't find it :)

It was about naming. Now one of the parameter is templates_in_uV, but I think it should be are_templates_in_uV? Not sure though since it's not a function

@zm711
Copy link
Collaborator

zm711 commented Jun 28, 2024

Cool, I think it is confusing right now because we have two arguments templates and templates_in_uV which seems to imply that we need to give both (templates and the same templates scaled). The docstring tells us one is a bool, but I do think something like scale_templates or return_scaled (if we need to be consistent) would be clear. are_templates_in_uV could also work with the assumption that we are forcing the user to answer the question, but I think the scale term would be more consistent to the library.

@alejoe91
Copy link
Member

Cool, I think it is confusing right now because we have two arguments templates and templates_in_uV which seems to imply that we need to give both (templates and the same templates scaled). The docstring tells us one is a bool, but I do think something like scale_templates or return_scaled (if we need to be consistent) would be clear. are_templates_in_uV could also work with the assumption that we are forcing the user to answer the question, but I think the scale term would be more consistent to the library.

@zm711 we need to know if the provided templates are already scaled or not, so we don't want a verb IMO, so I'm leaning towards are_templates_in_uV, because it's indeed a question we need the user to provide info for :)

@zm711
Copy link
Collaborator

zm711 commented Jun 28, 2024

@zm711 we need to know if the provided templates are already scaled or not, so we don't want a verb IMO, so I'm leaning towards are_templates_in_uV, because it's indeed a question we need the user to provide info for :)

Then yes I think that are_templates_in_uV is better. I guess my point would be something like are_templates_scaled because our library has an equivalence between uV and scaled.

@alejoe91
Copy link
Member

Then yes I think that are_templates_in_uV is better. I guess my point would be something like are_templates_scaled because our library has an equivalence between uV and scaled.

I like that!

@alejoe91
Copy link
Member

Thank you all for the input! I think this will super important for future benchmarks.

@JoeZiminski see updated PR description :)

Merging!

@alejoe91 alejoe91 merged commit 4539550 into SpikeInterface:main Jun 29, 2024
17 checks passed
@JoeZiminski
Copy link
Collaborator

Cheers, that's awesome! Look forward to trying it

@yger yger deleted the hybrid_raw_clustering branch July 5, 2024 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request hybrid Related to Hybrid testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants