A GUI application for performing manual quality control on in vitro ephys experiments.
We provide binary packages for Windows, which you can download from the releases page. To install on Windows:
sweep_qc_tool.zip
sweep_qc_tool.exe
to start the toolTo run on OSX or Linux you should:
git clone https://github.com/alleninstitute/sweep_qc_tool
cd sweep_qc_tool
python3 -m venv .venv
to create your virtual environment. You would then activate this environment using source .venv/bin/activate
.
pip install -r requirements/base.txt
fbs run
or via python src/main/python/main.py
.)If you invoke the sweep qc tool from the command line, you can customize its behavior by passing optional arguments. See the main file for documentation of these parameters.
With the tool running, you will most likely want to load some data! Navigate to File->load data set from NWB file
and select the NWB file containing your data in the resulting dialog. You ought to see something like:
You can get started right away QCing sweeps. Whenever you see an auto QC state that looks wrong, adjust the manual QC state from default
to passed
or failed
using the dropdown menu. If you want a closer look at one of the images, simply click the thumbnail for an zoomable and pannable popup plot:
When you are done, select File->Export manual states to JSON
to save your work.
In the bottom right corner of the sweep page (the first image above) you should see a red message warning that cell features are outdated
. Indeed, if you switch over to the Features
tab, you will see a blank page! To calculate cell-level features, use Edit->Run feature extraction
. Now when you select the Features
tab, you ought to see something like this (after a short wait):
When you run feature extraction, cell-level features are calculated using the set of passed sweeps. Each time you change this set by failing or passing a sweep, the cell features become outdated, and the warning message will return.
We are actively using and maintaing this code. We welcome issues (particularly bug reports) and pull requests from the community, but cannot promise to address them on any fixed schedule.