Neurosift is a browser-based tool designed for the visualization of neuroscience data with a focus on NWB (Neurodata Without Borders) files, and enables interactive exploration of the DANDI Archive and OpenNeuro online repositories.
This branch contains the new (v2) version of neurosift. The previous (v1) version is available on the main branch.
The live application is hosted at https://neurosift.app.
Follow these steps to install and run the app locally in development mode:
-
Clone the repository:
git clone <repository-url> cd neurosift
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
The development server typically runs on http://localhost:5173.
Pull requests are welcomed. If you have suggestions, improvements, or bug fixes, please feel free to open a pull request.
Prior to submitting a pull request please be sure that the following commands run successfully:
# Prerequisites:
# pip install black
# npm install
./devel/check_format.sh
npm run build
If the check_format.sh fails then you will want to run the following command to format the code:
./devel/format_code.sh
The formatting includes:
- Python code formatting using black
- TypeScript/JavaScript code formatting using npm scripts
You can use a pre-commit hook to automatically check format code before each commit.
After cloning the repository:
- Install pre-commit:
pip install pre-commit
- Install the git hook scripts:
pre-commit install
After this setup, code will be automatically checked for formatting when you make a commit via ./devel/format_code.sh
.
The following table provides example visualizations of different neurodata types through Neurosift:
Neurodata Type | Name | Dandiset ID | Example Link |
---|---|---|---|
Image | maximum_intensity_projection | 000728 | View |
Images | StimulusPresentation/indexed_images | 000673 | View |
Units | units | 000409 | View |
ElectricalSeries | neurodata_type: ElectricalSeries | 000409 | View |
TimeIntervals / Units / PSTH | /intervals/trials | 000409 | View |
SpatialSeries | pupil_location_spherical | 000728 | View |
LabeledEvents | RewardEventsLinearTrack | 000568 | View |
ImageSegmentation | ophys/ImageSegmentation | - | View |
TwoPhotonSeries | raw_suite2p_motion_corrected | 000871 | View |
TimeIntervals | /intervals/epochs | 000954 | View |
TimeIntervals / FiberPhotometryResponseSeries / TrialAlignedSeries | DfOverFFiberPhotometryResponseSeries | 001084 | View |
BehavioralEvents | behavioral_events | 000115 | View |
Neurosift provides MCP (Model Context Protocol) tools that can be used with Cline in VSCode to interact with the DANDI archive and explore neuroscience data programmatically. For installation and usage instructions, see docs/mcp-neurosift-tools.md.
This project is licensed under the Apache 2.0 License.