|
| 1 | +# GSoC NIU Projects 2025: `spikewrap` |
| 2 | + |
| 3 | +If you are interested in any of these [spikewrap](https://github.com/neuroinformatics-unit/spikewrap) projects, |
| 4 | +[get in touch](https://spikewrap.neuroinformatics.dev/community/index.html)! |
| 5 | +Feel free to open a new topic on our [Zulip GSoC channel](https://neuroinformatics.zulipchat.com/#narrow/channel/487898-GSoC) and ask the community. |
| 6 | + |
| 7 | +Our working language is English. |
| 8 | + |
| 9 | + |
| 10 | +<!-- ------------------------------ --> |
| 11 | +:::{dropdown} {fas}`database;sd-text-primary` Add motion correction preprocessing |
| 12 | + |
| 13 | +Extracellular electrophysiology is a technique used to record the activity of thousands of neurons in the brain simultaneously. |
| 14 | +Understanding how this neural activity drives behavior requires reliably identifying and distinguishing individual neurons |
| 15 | +based on their electrophysiological signatures—a process known as spike sorting. |
| 16 | + |
| 17 | +[spikewrap](https://spikewrap.neuroinformatics.dev/) is a Python package designed to streamline electrophysiology |
| 18 | +preprocessing and spike sorting across experimental projects. It leverages |
| 19 | +[SpikeInterface](https://spikeinterface.readthedocs.io/en/latest/index.html), a popular package that exposes many electrophysiology processing tools. |
| 20 | +The aim of spikewrap is to abstract away implementation details and make running electrophysiological analysis as simple as possible. |
| 21 | + |
| 22 | +This project involves adding 'motion correction' preprocessing to spikewrap. |
| 23 | + |
| 24 | +**Deliverables** |
| 25 | +<!-- Goals, or expected status after Community Bonding Period, Start of Coding, End of Coding. Stretch goals? --> |
| 26 | +- Add SpikeInterface [motion correction](https://spikeinterface.readthedocs.io/en/latest/modules/motion_correction.html) functionality to spikewrap |
| 27 | +- Test motion correction functions. |
| 28 | +- Document the new functionality |
| 29 | + |
| 30 | +**Duration** |
| 31 | +<!-- Small (~90 hours), Medium (~175 hours) or Large (~350 hours) --> |
| 32 | +Large (~350 hours) |
| 33 | + |
| 34 | + |
| 35 | +**Difficulty** |
| 36 | +<!-- Is this project geared more toward a student level or a more advanced developer level? --> |
| 37 | +In terms of coding requirements, a beginner or intermediate developer would be well suited. |
| 38 | +However, the project will require working closely with extracellular electrophysiological data, |
| 39 | +which can be quite complex. Therefore, domain knowledge of extracellular electrophysiology would be an advantage. |
| 40 | + |
| 41 | + |
| 42 | +**Required skills** |
| 43 | +Experience with Python and running neuroscience (preferably electrophysiology) experiments. |
| 44 | + |
| 45 | +**Nice-to-haves** |
| 46 | +Experience with extracellular electrophysiology. |
| 47 | + |
| 48 | +**Potential mentors** |
| 49 | +- [@JoeZiminski](https://github.com/JoeZiminski) |
| 50 | + |
| 51 | +**Further reading** |
| 52 | +<!-- The best pages include links to more detailed descriptions and related materials for each project. They might even include actual use cases! --> |
| 53 | + |
| 54 | +[spikewrap](https://spikewrap.neuroinformatics.dev/) and [SpikeInterface](https://spikeinterface.readthedocs.io/en/latest/index.html) documentation. |
| 55 | + |
| 56 | +::: |
| 57 | + |
| 58 | + |
| 59 | +<!-- ------------------------------ --> |
| 60 | +:::{dropdown} {fas}`database;sd-text-primary` Extend spikewrap test functionality |
| 61 | + |
| 62 | +[spikewrap](https://spikewrap.neuroinformatics.dev/) is a young project in the prototyping phase. |
| 63 | +Testing the package is not straightforward and requires access to GPU hardware and SLURM scheduling software |
| 64 | +on a high-performance compute (HPC) cluster. Currently, test suite is currently lagging development. |
| 65 | + |
| 66 | +This project will involve developing a comprehensive test suite for running experimental pipelines in spikewrap. |
| 67 | +This will involve running all possible options the software supports on an HPC system, leveraging GPU, SLURM and |
| 68 | +singularity image functionality. |
| 69 | + |
| 70 | +- **Duration** |
| 71 | +<!-- Small (~90 hours), Medium (~175 hours) or Large (~350 hours) --> |
| 72 | +Large (~350 hours) |
| 73 | + |
| 74 | +**Difficulty** |
| 75 | +<!-- Is this project geared more toward a student level or a more advanced developer level? --> |
| 76 | +This project is well-suited for a beginner to intermediate level developer, in particular with an interest |
| 77 | +in testing infrastructure. Less domain knowledge is required for this project compared to `Add motion correction preprocessing`. |
| 78 | + |
| 79 | + |
| 80 | +**Required skills** |
| 81 | +Experience with Python |
| 82 | + |
| 83 | +**Potential mentors** |
| 84 | +- [@JoeZiminski](https://github.com/JoeZiminski) |
| 85 | + |
| 86 | +**Further reading** |
| 87 | +<!-- The best pages include links to more detailed descriptions and related materials for each project. They might even include actual use cases! --> |
| 88 | + |
| 89 | +[spikewrap](https://spikewrap.neuroinformatics.dev/) and [SpikeInterface](https://spikeinterface.readthedocs.io/en/latest/index.html) documentation. |
| 90 | + |
| 91 | +::: |
0 commit comments