

Your friendly python module
for scientific analysis and visualization of 3d objects.
💾 Installation
pip install vedo
- To install the latest dev version of
vedo:
pip install -U git+https://github.com/marcomusy/vedo.git
- To install from the conda-forge channel:
conda install -c conda-forge vedo
🚀 Quick Start
from vedo import Sphere, show
sphere = Sphere().c("tomato")
show(sphere, axes=1).close()
This opens an interactive 3D window with a simple object and axes.
📙 Documentation
The webpage of the library with documentation is available here.
📌 Need help? Have a question, or wish to ask for a missing feature?
Do not hesitate to ask any questions on the image.sc forum
or by opening a github issue.
🎨 Features
The library includes hundreds of working examples
for a wide range of functionalities
- Import meshes from VTK format, STL, Wavefront OBJ, 3DS, Dolfin-XML, Neutral, GMSH, OFF, PCD (PointCloud),
- Export meshes as ASCII or binary to VTK, STL, OBJ, PLY ... formats.
- Analysis tools like Moving Least Squares, mesh morphing and more..
- Tools to visualize and edit meshes (cutting a mesh with another mesh, slicing, normalizing, moving vertex positions, etc..).
- Split mesh based on surface connectivity. Extract the largest connected area.
- Calculate areas, volumes, center of mass, average sizes etc.
- Calculate vertex and face normals, curvatures, feature edges. Fill mesh holes.
- Subdivide faces of a mesh, increasing the number of vertex points. Mesh simplification.
- Coloring and thresholding of meshes based on associated scalar or vectorial data.
- Point-surface operations: find nearest points, determine if a point lies inside or outside of a mesh.
- Create primitive shapes: spheres, arrows, cubes, torus, ellipsoids...
- Generate glyphs (associate a mesh to every vertex of a source mesh).
- Create animations easily by just setting the position of the displayed objects in the 3D scene. Add trailing lines and shadows to moving objects is supported.
- Straightforward support for multiple sync-ed or independent renderers in the same window.
- Registration (alignment) of meshes with different techniques.
- Mesh smoothing.
- Delaunay triangulation in 2D and 3D.
- Generate meshes by joining nearby lines in space.
- Find the closest path from one point to another, traveling along the edges of a mesh.
- Find the intersection of a mesh with lines, planes or other meshes.
- Interpolate scalar and vectorial fields with Radial Basis Functions and Thin Plate Splines.
- Add sliders and buttons to interact with the scene and the individual objects.
- Visualization of tensors.
- Analysis of Point Clouds
- Moving Least Squares smoothing of 2D, 3D and 4D clouds
- Fit lines, planes, spheres and ellipsoids in space
- Identify outliers in a distribution of points
- Decimate a cloud to a uniform distribution.
- Import data from VTK format volumetric TIFF stacks, DICOM, SLC, MHD and more
- Import 2D images as PNG, JPEG, BMP
- Isosurfacing of volumes
- Composite and maximum projection volumetric rendering
- Generate volumetric signed-distance data from an input surface mesh
- Probe volumes with lines and planes
- Generate stream-lines and stream-tubes from vectorial fields
- Slice and crop volumes
- Support for other volumetric structures (structured and grid data)
- Polygonal 3D text rendering with Latex-like syntax and unicode characters, with 30 different fonts.
- Fully customizable axis styles
- donut plots and pie charts
- Scatter plots in 2D and 3D
- Surface function plotting
- 1D customizable histograms
- 2D hexagonal histograms
- Polar plots, spherical plots and histogramming
- Draw latex-formatted formulas in the rendering window.
- Quiver, violin, whisker and stream-line plots
- Graphical markers analogous to matplotlib
- Integration with the Qt5 framework.
- Interoperability with the trimesh, pyvista and pymeshlab libraries.
- Export 3D scenes and embed them into a web page.
- Embed 3D scenes in jupyter notebooks with K3D (can export an interactive 3D-snapshot page here).
⌨ Command Line Interface
Visualize a polygonal mesh or a volume from a terminal window simply with:
vedo https://vedo.embl.es/examples/data/embryo.tif
Volume 3D slicingvedo --slicer embryo.slc | Ray-castingvedo -g | 2D slicingvedo --slicer2d |
|---|
 |  |  |
Type vedo -h for the complete list of options.
🐾 Gallery
vedo currently includes hundreds of working examples and notebooks.
Run any of the built-in examples. In a terminal type: vedo -r warp2
Check out the example galleries organized by subject here:

✏ Contributing
Any contributions are greatly appreciated.
If you have a suggestion, bugfix, feature, or documentation improvement, please open an issue or submit a pull request.
See CONTRIBUTING.md for contribution guidelines and workflow details.
📜 References
Scientific publications leveraging vedo:
2026
- L. Aviñó-Esteban et al., "Limblab: pipeline for 3D analysis and visualisation of limb bud gene expression", BMC Bioinformatics 27(1): 6 (2026).
- D. Krsikapa, I. Y. Kim, "Gradient-based optimization of component layout: addressing accessibility and mounting in assembly system design", Journal of Mechanical Design 148(3): 031702 (2026).
2025
- A. Kharlamova et al., "Spatial CAPTCHA: Generatively Benchmarking Spatial Reasoning for Human-Machine Differentiation", arXiv preprint arXiv:2510.03863 (2025).
- J. F. Fuhrmann et al., "Apical extracellular matrix regulates fold morphogenesis in the Drosophila wing disc", bioRxiv 2025-09 (2025).
- B. Li et al., "Three-dimensional spatial transcriptomics at isotropic resolution enabled by generative deep learning", bioRxiv 2025-08 (2025).
- T.-T. Hsu et al., "Shared Alteration of Whole-Brain Connectivity and Olfactory Deficits in Multiple Autism Mouse Models", bioRxiv 2025-02 (2025).
- A. Arrabi et al., "C-arm guidance: A self-supervised approach to automated positioning during stroke thrombectomy", 2025 IEEE 22nd International Symposium on Biomedical Imaging (ISBI).
- L. Aviñó-Esteban, H. Cardona-Blaya, J. Sharpe, "Spatio-temporal reconstruction of gene expression patterns in developing mice", Development 152: DEV204313 (2025), DOI.
- B. Bortolon et al., "GRASPLAT: Enabling dexterous grasping through novel view synthesis", 2025 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).
- L. Carreira et al., "Targeted nano-energetic material exploration through active learning algorithm implementation", Energetic Materials Frontiers 6(1): 3-13 (2025).
- M. Chirillo et al., "PyReconstruct: A fully open-source, collaborative successor to Reconstruct", Proceedings of the National Academy of Sciences 122(31): e2505822122 (2025).
- B. Clayton et al., "A facile method to create continuum stochastic sheet-based cellular materials", Additive Manufacturing: 104917 (2025).
- A. Gross et al., "STRESS, an automated geometrical characterization of deformable particles for in vivo measurements of cell and tissue mechanical stresses", Scientific Reports 15(1): 28599 (2025).
- A. Gauvain et al., "HydroModPy: A Python toolbox for deploying catchment-scale shallow groundwater models" (2025).
- K. N. Halwachs et al., "Effects of Stiffness and Degradability on Cardiac Fibroblast Contractility and Extracellular Matrix Secretion in Three-Dimensional Hydrogel Scaffolds", ACS Biomaterials Science & Engineering 11(11): 6521-6533 (2025).
- R. Kliman et al., "Toward an Automated System for Nondestructive Estimation of Plant Biomass", Plant Direct 9(3): e70043 (2025).
2024