This is a list of the major areas of ongoing and future development. It is meant to give an overview of what we're currently planning, as well as to provoke discussions about which features to prioritize. Bullet points with a are ones that would require major changes to the GUI architecture, and may not be worth pursuing. Our Our development resources are extremely limited, so if you think you might be interested in helping out with any of these goals, please let us know!
Info |
---|
Sub-pages describe previous projects that may or may not be active. |
UI Upgrades
Short-term:
- Replace record/audio "drawers" with separate modules (current project of Aaron Cuevas)
- Create a full-screen visualizer for the Channel Map module
Longer-term:
- Implement copy/paste for processors
...
Plugins
Short-term:
Set up central repository for user-contributed pluginsIntegrate plugin browsing and installation into the GUI itself- Get plugin generator working across Mac, Linux, and Windows
- Refine methods for automatic parameter editor generation
- Set up central repository for user-contributed plugins
Longer-term:
- Remove waveforms from spike events to reduce inter-plugin transmission bandwidth (waveforms can be recovered by looking back into the original data set)
- Convert plugin format to VST3 Integrate plugin browsing and installation into the GUI itself
...
Matlab/Python/Julia integration
Short-term:
- Refine Python plugin and add documentation and tutorials (current project of Clayton Barnes)
Longer-term:
- Refine Julia plugin and add documentation and tutorials
- Create a plugin that be programmed using the Matlab Code Generator
...
Networking
Longer-term:
- Create a Network Streaming modules that can be used to send data between GUI instances, or to other software
...
Backend
Short term:
...
- Allow data to pass through Sinks
Longer-term:
- Migrate to a Reactive C++ framework, to make it easier to combine asynchronous data sources Optionally allow waveforms from spike events to reduce inter-plugin transmission bandwidth
Add channel depth metadata, to facilitate more intuitive visualization
...
Testing
Short term:
- Set up continuous integration
- Create a standard battery of tests to run prior to each release
- Choose a testing framework and start building unit tests for individual methods
Longer-term:
- Set up continuous integration
...
Data format
Short term:
- Make the File Reader compatible with Open Ephys, Binary, and NWB format
- Update the NWB format to be compatible with the 2.0 specification
Longer-term:
- Migrate all configuration files to JSON instead of XML