Processing pipeline, dataset for “Rapid detection and recognition of whole brain activity in a freely behaving Caenorhabditis elegans”
2022-01-22
: We have released our dataset, CenDer PyTorch implementation, human annotation and proofreading MATLAB toolkits.
2022-02-15
: We have fixed Memory problem for long-term recording inference.
2022-08-03
: We have released the training and inference method of our neuron recognition model via jupyter notebooks; we moved annotation and human proofreading toolkit into CeNDeR-annotation.
2022-08-09
: We have released the CeNDeR 2.0 pipeline.
2022-08-13
: We have released the CeNDeR dataset and benchmarks.
2023-08-11
: We have released the CeNDeR demo video on YouTube.
CeNDeR is a streamlined machine learning approach that rapidly detects and recognizes most head ganglion neurons and their calcium activity during animal movements. After learning from a small number of human-annotated examples, a GPU machine is able to process each imaging volume - 1024 x 1024 x 18 in voxels - in less than 1 second and achieves an accuracy of 91% in neuronal detection and above 80% in neuronal tracking over a long video recording. Our paper website: https://doi.org/10.1371/journal.pcbi.1010594.
Data and pretrained models preparation
You can download dataset, pretrained models and CeNDeR system in OSF.
Inference
bash inference.sh
You can also view Jupyter notebook (if you can't open it, please check Nbviewer)
Here we show one volume result (You can check Google Drive for more results):
Segmentated inference
To improve accuracy, one should tune pre-processing results (e.g., C. elegans coordinate system).
- Pre-processing stage inference
python inference.py --only-preprocessing --preprocessing-mode 6 --process-stack-root data/dataset/raw --save-preprocess-result-root data/dataset/proofreading
- Using LABELME (version 4.5.7) to tune
labelme data/dataset/proofreading
- Pipeline inference from modified C. elegans coordinate system:
python inference.py --load-preprocess-result-root data/dataset/proofreading --process-stack-root data/dataset/raw --json-store-root data/dataset_result
Model training
Detection training example:
python src/detection/det_train.py
Recognition training example:
# training in CeNDeR dataset
python src/benchmarks/datasets/fDNC.py --mode 0
python src/recognition/training/exps/e1.py
You can also view Jupyter notebook (if you can't open it, please check Nbviewer)
# training in NeRVE dataset
python src/benchmarks/datasets/fDNC.py --mode 1
python src/benchmarks/datasets/CeNDeR.py --mode 1
python src/recognition/training/exps/e2_wa_nerve.py
Check TensorBoard for training details.
tensorboard --logdir=tb_log
Annotation toolkit
The toolkit can view and annotate whole brain imaging data.