CeNDeR
Processing pipeline, dataset, human annotation and proofreading toolkit for “Rapid detection and recognition of whole brain activity in a freely behaving Caenorhabditis elegans”
Install / Use
/learn @Wenlab/CeNDeRREADME
CeNDeR
Processing pipeline, dataset for “Rapid detection and recognition of whole brain activity in a freely behaving Caenorhabditis elegans”
Top News
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.
Introduction
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.

Pipeline inference
<details> <summary> Data and pretrained models preparation </summary>You can download dataset, pretrained models and CeNDeR system in OSF.
</details> <details open> <summary> Inference </summary>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):

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
</details>
<details>
<summary> Model training </summary>
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
</details>
<details>
<summary> Annotation toolkit </summary>
The toolkit can view and annotate whole brain imaging data.
</details>Contributors
- Yuxiang Wu (
elephantameler@mail.ustc.edu.cn) - Tianqi Xu (
xutq@ustc.edu.cn) - Quan Wen (
qwen@ustc.edu.cn)
