Skip to content

Commit c4e332e

Browse files
committed
update paper
1 parent 341c2d9 commit c4e332e

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

paper/joss/paper.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,18 @@ In the evolving field of neuroscience research, the ability to manage and share
4646

4747
Because files found on DANDI can often be large and unwieldy, various Python tools have emerged to address this 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.
4848

49-
## Features
49+
## Functionality and user experience
5050

51-
Neurodata Without Borders files are structured hierarchically, encapsulating various *neurodata types* that reflect different aspects of neurophysiological experiments. These types range from *BehavioralEvents*, which record discrete actions or occurrences within experiments, to data structures like *Fluorescence*, *ImageSegmentation*, and *RoiResponseSeries*. Other neurodata types include *ElectricalSeries* for electrophysiological signals and *Units* for spike times of neurons. Neurosift provides plugin visualizations for many of these types and facilitates the creation of composite views by allowing users to select and synchronize multiple data types within the same interface. This synchronization extends to navigation actions such as zooming and panning, where different sub-windows, each displaying a different aspect of the data, maintain a shared time axis.
51+
Neurodata Without Borders files are structured hierarchically, encapsulating various *neurodata types* that reflect different aspects of neurophysiological experiments. These types range from *BehavioralEvents*, which record discrete actions or occurrences within experiments, to data structures like *Fluorescence*, *ImageSegmentation*, and *RoiResponseSeries*. Other neurodata types include *ElectricalSeries* for electrophysiological signals and *Units* for spike times of neurons. Neurosift allows interactive navigation of this hierarchical structure and provides plugin visualizations for many of these types. It also facilitates the creation of composite views by allowing users to select and synchronize multiple data types within the same interface. This synchronization extends to navigation actions such as zooming and panning, where different sub-windows, each displaying a different aspect of the data, maintain a shared time axis.
5252

53-
## Architecture
53+
## Architecture and technical innovation
5454

55-
Neurosift is a React/TypeScript/Vite web application. It is a static site 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 is currently being hosted on GitHub Pages, but it could easily be deployed to any other static hosting service.
55+
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 is currently being hosted on GitHub Pages, but it could easily be deployed to any other static hosting service.
5656

5757
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 for web-based access and manipulation of 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 original h5wasm, which built to handle fully downloaded files, Neurosift's fork introduces an innovative approach to efficiently reading 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.
5858

59+
In addition to HDF5-backed NWB files, Neurosift also supports NWB datasets stored using [Zarr][https://zarr.dev], which is a more efficient, cloud-friendly format, but which can be less convenient to manage since NWB-Zarr datasets can contain thousands of individual files in contrast to a single HDF5 file.
60+
5961
## Conclusion
6062

6163
Neurosift makes neurophysiology data more accessible for scientists. By facilitating the exploration of complex datasets directly within a browser, without requiring specialized programming knowledge, it lowers the barrier to entry for data analysis and fosters collaborative research efforts. Looking forward, there is potential for Neurosift to expand its capabilities, with enhanced visualizations and support for additional data types.

0 commit comments

Comments
 (0)