This repository contains tools for processing electrophysiology (ecephys) datasets and creating tiles for visualization in Neurosift.
ecephys_catalog.json- Catalog of ecephys datasets to be processedcreate_ecephys_tiles.py- Main processing scriptnwbextractors.py- NWB file reading utilitiesBufferedStore.py- Buffered storage layer for efficient S3 operations
python create_ecephys_tiles.pypython create_ecephys_tiles.py --dataset 000409python create_ecephys_tiles.py --localpython create_ecephys_tiles.py --catalog my_catalog.jsonThe ecephys_catalog.json file contains a list of datasets to process:
{
"datasets": [
{
"dandiset_id": "000409",
"asset_id": "c04f6b30-82bf-40e1-9210-34f0bcd8be24",
"nwb_url": "https://api.dandiarchive.org/api/assets/c04f6b30-82bf-40e1-9210-34f0bcd8be24/download/",
"electrical_series_path": "/acquisition/ElectricalSeriesAp"
}
],
"metadata": {
"version": "1.0"
}
}When not using --local, the following environment variables must be set:
NEUROSIFT_TILES_AWS_ACCESS_KEY_IDNEUROSIFT_TILES_AWS_SECRET_ACCESS_KEYNEUROSIFT_TILES_S3_ENDPOINT
The script processes each dataset by:
- Loading the NWB file from the specified URL
- Applying bandpass filtering (300-6000 Hz)
- Applying common reference (global median)
- Creating multi-level tiles with downsampling
- Detecting spikes and creating spike count tiles
- Storing results in Zarr format
Processing can be resumed if interrupted, as progress is tracked in status files.