PROBE (Python Repo)
PROBE is an open-source software-hardware system for behavioral experiments in head-fixed rodents using a low-cost, modular experimental rig. The software is primarily written in python to allow easy distribution, use, and end-user modification with bits of C/C++ glued in for low-latency performance. An optional GUI is largely handled by your GPU to allow real-time streaming of ongoing behavior and data acquisition without disrupting your experiments. Currently PROBE is only supported on windows. Triggers dependent on neural activity require access to a raw-stream of imaging data. PROBE only offers native support for PrairieView at this time, but if you have a raw stream it should work. In constrast, software communication with spatial light modulators or hardware-triggered stimulation for optogenetic actions should be platform-independent.
More information on hardware implementation can be found here.
Integration Tests Make sure to launch prairie_mock_server.exe if conducting integration tests with PrairieView. This is automatically launched if calling prairie_probe_test.exe but NOT any other testing application/suite including google tests
Software Reminders These things aren't listed in TODOs Remember to test on Prairie-1 Workstation-3. It has an old Xeon processer so it will be a good test of performance of single-thread performance on a slow processor. Remember to double-check for potential race conditions. Remember to refactor GUI aesthetic and import logo before pushing here from WRD repo Remember to update badge links before ever making public--just placeholders from WRD repo. Figure out whether I need to do anything special for distribution of C++ lib, executables, & Node.js in a pypi package. Figure out whether anti-viruses will get grumpy from having an executable in a pypi package.
Hardware Reminders The sucrose preference robotic spout-swapper has not been tested. Try to test on a nicer NI-DAQ. Might be able to achieve higher best-case performance since they have hardware-timed digital I/O and I won't have to call those in-between analog-input callbacks. Take a second look at the PCB scheme and see if I can simplify the connection from / to DAQ. I probably won't re-fabricate since I did that out-of-pocket, but some optimization there will make building much simpler/more flexible.
Development Statistics (PyCharm Repo)
~75,000 Lines ~75% Coverage 0 Linting Errors
Developmentn Statistics (CLion Repo)
~25,000 Lines ~20% Coverage 0 Linting Errors
Supported Pre-Configured Behaviors
| Module | Task | Description | Recipe | Pilot |
|---|---|---|---|---|
| Disk or Wheel | Locomotion | Hyperactivity & Motor Function | x | x |
| Acoustic Startle | Hearing, Habituation, & Sensitization | x | x | |
| Pre-Pulse Inhibition | Sensorimotor Gating | x | x | |
| Go No-Go | Learning & Memory | |||
| Linear Track | Navigation | Learning & Memory | ||
| Burrow | Shelter Seeking | Anxiety | ||
| Sucrose Preference | Anhedonia | |||
| Attentional Set-Shifting | Behavioral Flexibility | |||
| Go No-Go | Learning & Memory | |||
| Trace Fear Conditioning | Learning & Memory | |||
| Delay Fear Conditioning | Learning & Memory | |||
| Instrumental Learning | Learning & Memory |
Metadata
Release files for neurobeam 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| neurobeam-0.3.0.tar.gz | 139.8 kB | Without provenance | Details for neurobeam-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| neurobeam-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for neurobeam-0.3.0-py3-none-any.whl |
Total release size: 286.8 kB
Release files / neurobeam-0.3.0.tar.gz
| Download URL | neurobeam-0.3.0.tar.gz |
|---|---|
| Size | 139.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a641b4c5087abcaa5a139320a02ac261673372b38558fa4f9a54f0017bcd7ee6
|
|
BLAKE2b-256 checksum How to use checksums |
0ec2055d6294845b2d076c8cb85bb3522a8039864aba18728ed131859ac07cb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Release files / neurobeam-0.3.0-py3-none-any.whl
| Download URL | neurobeam-0.3.0-py3-none-any.whl |
|---|---|
| Size | 147.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3db8a23a841e7a4012f7d09f62ca937c6f946674ec344e804ebf9b4fc69505b7
|
|
BLAKE2b-256 checksum How to use checksums |
b1787577510cb0f9f153f65aec8b6cce453be03afc84173e5c13eec5f79195f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Security for neurobeam 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.