Skip to content

flatironinstitute/neurosift

Repository files navigation

neurosift (v2)

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.

For developers

Follow these steps to install and run the app locally in development mode:

  1. Clone the repository:

    git clone <repository-url>
    cd neurosift
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

    The development server typically runs on http://localhost:5173.

Contributions

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

Pre-commit hooks

You can use a pre-commit hook to automatically check format code before each commit.

After cloning the repository:

  1. Install pre-commit:
pip install pre-commit
  1. 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.

Example Views

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

MCP Tools for Cline

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.

License

This project is licensed under the Apache 2.0 License.