SkillAgentSearch skills...

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/CeNDeR
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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):

result

</details> <details> <summary> Segmentated inference </summary>

To improve accuracy, one should tune pre-processing results (e.g., C. elegans coordinate system).

  1. 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
  1. Using LABELME (version 4.5.7) to tune
labelme data/dataset/proofreading
  1. 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

View on GitHub
GitHub Stars23
CategoryDevelopment
Updated8mo ago
Forks0

Languages

Jupyter Notebook

Security Score

82/100

Audited on Jul 18, 2025

No findings