MorphoGen
October 18, 2025 · View on GitHub
Efficient Unconditional Generation of Long-Range Projection Neuronal Morphology via a Global-to-Local Framework. Code is almost one-click runnable. Below we introduce the environment dependencies, file description, datasets used, and the code execution. Paper is here.
Dependencies
python==3.8.5, pytorch==1.8.2, torchvision==0.9.2, cudatoolkit==11.1
See requirements.txt for detailed environment specifications.
File Description
sub_process.py: Converts raw SWC files to standardized point cloud data.distort.py: Distorts true branches to learn the mapping back to original state.DDPM_train.py: Trains the denoising diffusion probabilistic model to predict global structures.Auxiliary_train.py: Trains the auxiliary CNN networks to optimize the local structures.morphology_gen.py: Generates new morphology point clouds and converts into SWC files.
Dataset
Long-range neuronal data is sourced from this study.
- CT subtypes (45-52): 1,085 neurons (all subtypes)
- PT subtypes (57-64): 1,005 neurons
- IT subtypes (34-44): 985 neurons
Code Execution
train the DDPM:
python DDPM_train.py --dataroot ${dataroot} --model_dir${model_dir} --device ${device}
train the Auxiliary CNN:
python Auxiliary_train.py
generate new neuron morphology:
python morphology_gen.py --dataroot ${dataroot} --model${model} --device ${device} --generate_dir ${generate_dir}
Citation
If you find this repository useful, please cite our paper:
InProceedings{Zhu_2025_ICCV,
author = {Zhu, Tianfang and Zhou, Hongyang and Li, Anan},
title = {MorphoGen: Efficient Unconditional Generation of Long-Range Projection Neuronal Morphology via a Global-to-Local Framework},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2025},
pages = {13021-13031}
}
Acknowledgement
Thanks for the wonderful work DiT-3D.