You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: paper/joss/paper.md
+8-6
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,13 @@
1
1
---
2
2
title: 'Neurosift: DANDI exploration and NWB visualization in the browser'
3
3
tags:
4
+
- Neurodata Without Borders (NWB)
5
+
- Distributed Archives for Neurophysiology Data Integration (DANDI)
6
+
- neurophysiology
7
+
- data visualization
8
+
- web visualization
4
9
- javascript
5
10
- web browser
6
-
- neurophysiology
7
-
- DANDI
8
-
- Neurodata Without Borders (NWB)
9
11
authors:
10
12
- name: Jeremy Magland
11
13
orcid: 0000-0002-5286-4375
@@ -22,7 +24,7 @@ affiliations:
22
24
index: 1
23
25
- name: CatalystNeuro, USA
24
26
index: 2
25
-
date: 23 February 2024
27
+
date: 13 March 2024
26
28
bibliography: paper.bib
27
29
---
28
30
@@ -34,7 +36,7 @@ Neurosift, a browser-based visualization tool, is designed for the interactive e
34
36
35
37
In the evolving field of neuroscience research, the ability to manage and share complex data sets is crucial. NWB has emerged as a standard for neurophysiology data, aimed at facilitating data sharing, storage, and analysis. However, the specialized nature of the NWB format necessitates tools that can provide intuitive interfaces for researchers to explore their data effectively. Neurosift is designed to address this need.
36
38
37
-
Because files found on DANDI can often be large and unwieldy, various Python tools have emerged to address this issue by streaming portions of the NWB file without the need to download the entire file. One such tool is NWB Widgets [@nwbwidgets], which provides a suite of interactive widgets for visualizing NWB data within Jupyter notebooks, enabling users to navigate the hierarchical structure of NWB files and directly visualize specific data elements. This package was a large part of the inspiration for Neurosift. The main difference is that NWB Widgets is a Python package that runs within interactive Python environments, while Neurosift is a browser-based tool that can be used without any installation. These two tools cater to different use cases, with Neurosift being more accessible to a wider audience, and being better suited for integration with DANDI.
39
+
Because files found on DANDI can often be large and unwieldy, various tools have emerged to address this issue by streaming portions of the NWB file without the need to download the entire file. One such tool is NWB Widgets [@nwbwidgets], which provides a suite of interactive widgets for visualizing NWB data within Jupyter notebooks, enabling users to navigate the hierarchical structure of NWB files and directly visualize specific data elements. This package was a large part of the inspiration for Neurosift. The main difference is that NWB Widgets is a Python package that runs within interactive Python environments, while Neurosift is a browser-based tool that can be used without any installation. These two tools cater to different use cases, with Neurosift being more accessible to a wider audience, and being better suited for integration with DANDI.
38
40
39
41
# Functionality
40
42
@@ -55,7 +57,7 @@ Neurodata Without Borders files are structured hierarchically and encapsulate va
55
57
56
58
Neurosift is a *static* React/TypeScript website, meaning that it is delivered to the user's browser exactly as stored, without the need for dynamic server-side processing of requests. This approach simplifies deployment and maintenance; it can be deployed to any static hosting service.
57
59
58
-
The main technical challenge in developing Neurosift was the requirement to lazy-load data objects from remote NWB files, which are built on the complex HDF5 format. While HDF5's efficient data organization is ideal for the large, multidimensional datasets typical in neurophysiology, its primary implementations are in the C language. This necessitates a creative solution to enable efficient web-based access to these files. To bridge this gap, Neurosift leverages WebAssembly to run compiled C code in the browser, specifically utilizing a modified version of the h5wasm [@h5wasm] library. Unlike the unmodified h5wasm, which primarily handles fully downloaded files, Neurosift's fork introduces an innovative approach to efficiently read data chunks from remote files. This allows for synchronous data reads without the need for a prior download of the entire file. This solution not only makes Neurosift a powerful tool for neuroscience research but also showcases the potential of WebAssembly in overcoming challenges associated with web-based data analysis tools.
60
+
The main technical challenge in developing Neurosift was the requirement to lazy-load data objects from remote NWB files that are built on the complex HDF5 format. While HDF5's efficient data organization is ideal for the large, multidimensional datasets typical in neurophysiology, its primary implementations are in the C language. This necessitates a creative solution to enable efficient web-based access to these files. To bridge this gap, Neurosift leverages WebAssembly to run compiled C code in the browser, specifically utilizing a modified version of the h5wasm [@h5wasm] library. Unlike the unmodified h5wasm, which primarily handles fully downloaded files, Neurosift's fork introduces an innovative approach to efficiently read data chunks from remote files. This allows for synchronous data reads without the need for a prior download of the entire file. This solution showcases the potential of WebAssembly in overcoming challenges associated with web-based data analysis tools.
0 commit comments