All data and code shared here is subject to the Eyewire II Principles of Collaboration. By the use of this repository, you agree to be bound by these Principles.
The code in this repository is under MIT license. All data in the repository, as stated in the principles of collaboration, is shared under CC-BY-NC-4.0. For the data, the license holders are H. Sebastian Seung, Thomas Euler, Philipp Berens, and Greg Schwartz.
This repository hosts the functional data from OGB-1 recordings in the Eyewire II dataset.
This is work-in-progress and currently holds:
- notebooks to generate the calcium related figures from the Eyewire II resource paper notebooks/analysis/manuscript/*.ipynb
- pre-processed calcium traces from recordings over five recording fields, stored as parquet files/*.parquet
- morphological data (proofread cell master list, 2P-to-EM ROI mapping) in data/morphological-data/*
- tutorial notebooks to facilitate data exploration notebooks/tutorial/*.ipynb
Documentation is still incomplete:
- a description of the preprocessed data can be found here.
- a description of the stimuli can be found here.
Feel free to open issues to ask questions and request features!
To use the code in this repository out of the box, you can use uv to reproduce our python environment. Follow these steps:
- Install
uv - Clone this repository and navigate to its root folder
- Run
uv run jupyter labto start jupyter lab - it should open in your browser, and allows you to run our notebooks.
On the first call, uv run will install all dependencies into a uv virtual environment (placed in the .venv folder), which is then invoked on all further calls of uv run.
All data loading is handled by eyewire2_functional_analysis.data_loader. The easiest way to load all three DataFrames at once is:
from eyewire2_functional_analysis import data_loader
data_folder = "data/preprocessed-data"
df_rois, df_fields, df_outline = data_loader.load_all_dfs(data_folder)You can also load each DataFrame individually using load_df_rois(), load_df_fields(), or load_df_outline().
To merge the ROI-level data with the morphological master spreadsheet:
morph_folder = "data/morphological-data"
version = "2026-03-17" # replace with the date of your master list
df_rois_morph = data_loader.load_df_rois_morph(
morph_folder=morph_folder,
morph_spreadsheet_filename=f"Eyewire II Proofread Cells Master List - All Cells {version}.csv",
nuc_col_master="Final NucID",
seg_col_master="Final SegID",
data_folder=data_folder,
)See the tutorial notebooks for full usage examples:
- plot_raw_data.ipynb — load data and plot raw + preprocessed traces for individual ROIs
- plot_data_overview.ipynb — plot chirp and bar response overviews grouped by cell type and recording field
- plot_morph_and_func.ipynb — plot morphology and functional data for individual cells