V-System is a Python-based framework for generating synthetic 3D vascular networks using Lindenmayer Systems (L-Systems) — a type of formal grammar traditionally used in plant modelling.
This implementation builds upon and extends the work by
📖 Galarreta-Valverde et al. (SPIE, 2013),
who introduced stochastic rules and biological realism into traditional L-Systems for vessel modelling.
V-System simulates vessel formation through three stages:
- Grammar Generation: Build a rule-based string using iterative stochastic L-System rules.
- Geometry Construction: Convert the string into 3D coordinates for branching and direction.
- Voxelization: Perform voxel traversal to create a 3D binary mask (volumetric image).
V-System runs on Python 3.9 and has been tested on:
- Ubuntu 18.04 LTS
- macOS Big Sur
It should also work on most Linux and Windows systems.
Clone the repository:
git clone https://github.com/psweens/V-System.git
Install required packages:
pip install scikit-image opencv-python bezier matplotlib itk
Or use the full requirements file:
- Generating realistic 3D vascular structures for simulation.
- Training datasets for segmentation algorithms (e.g. VAN-GAN).
- Creating synthetic benchmarks for vascular imaging pipelines.
- Testing robustness of deep learning models under anatomical variability.
Please cite the following if you use V-System in your research:
Version 1.0
Quantification of vascular networks in photoacoustic mesoscopy
Emma L. Brown, Thierry L. Lefebvre, Paul W. Sweeney et al.
Version 2.0
Unsupervised Segmentation of 3D Microvascular Photoacoustic Images Using Deep Generative Learning
Paul W. Sweeney et al., Advanced Science, 2024
This project builds upon foundational work by
🎓 Miguel A. Galarreta-Valverde – PhD Thesis (USP)
For bugs, ideas, or contributions — feel free to open an issue or reach out through the GitHub repository.