All Projects → marcomusy → Vedo

marcomusy / Vedo

Licence: other
A python module for scientific analysis of 3D objects based on VTK and numpy

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Vedo

Pyvista
3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
Stars: ✭ 734 (-0.94%)
Mutual labels:  3d, mesh, scientific-visualization
Assetkit
🎨 Modern 2D/3D - Importer • Exporter • Util - Library, also called (AssetIO)
Stars: ✭ 97 (-86.91%)
Mutual labels:  3d, 3d-graphics, mesh
Sdf
Simple SDF mesh generation in Python
Stars: ✭ 683 (-7.83%)
Mutual labels:  3d, mesh
Hmm
Heightmap meshing utility.
Stars: ✭ 403 (-45.61%)
Mutual labels:  3d, mesh
Draco
Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
Stars: ✭ 4,611 (+522.27%)
Mutual labels:  3d-graphics, mesh
Curated List Of Awesome 3d Morphable Model Software And Data
The idea of this list is to collect shared data and algorithms around 3D Morphable Models. You are invited to contribute to this list by adding a pull request. The original list arised from the Dagstuhl seminar on 3D Morphable Models https://www.dagstuhl.de/19102 in March 2019.
Stars: ✭ 375 (-49.39%)
Mutual labels:  3d, 3d-graphics
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+435.9%)
Mutual labels:  3d, 3d-graphics
Openscad
OpenSCAD - The Programmers Solid 3D CAD Modeller
Stars: ✭ 4,444 (+499.73%)
Mutual labels:  3d, 3d-graphics
Realityui
A Swift Package for creating familiar UI Elements and animations in a RealityKit rendered Augmented Reality or Virtual Reality scene.
Stars: ✭ 275 (-62.89%)
Mutual labels:  3d, 3d-graphics
Klein
P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library
Stars: ✭ 463 (-37.52%)
Mutual labels:  3d, 3d-graphics
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (-39.95%)
Mutual labels:  3d, 3d-graphics
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (-33.33%)
Mutual labels:  3d, 3d-graphics
Dotscad
Reduce the burden of mathematics when playing OpenSCAD
Stars: ✭ 344 (-53.58%)
Mutual labels:  3d, 3d-graphics
Limonengine
3D FPS game engine with full dynamic lighting and shadows
Stars: ✭ 331 (-55.33%)
Mutual labels:  3d, 3d-graphics
Recent Stars 2021
🔥🔥🔥SLAM, Pose/Object tracking, Depth/Disparity/Flow Estimation, 3D-graphic, etc. related papers and code
Stars: ✭ 393 (-46.96%)
Mutual labels:  3d, 3d-graphics
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-62.48%)
Mutual labels:  3d, 3d-graphics
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (-46.02%)
Mutual labels:  3d, 3d-graphics
payton
Payton! Kickstart any 3D OpenGL + GTK Ideas in a few seconds!
Stars: ✭ 45 (-93.93%)
Mutual labels:  scientific-visualization, 3d-graphics
3D-Engine-OpenGL-4
3D Graphics Engine For Games | C++ OpenGL 4.1
Stars: ✭ 19 (-97.44%)
Mutual labels:  3d, 3d-graphics
Vue Gl
Vue.js components rendering 3D WebGL graphics reactively with three.js
Stars: ✭ 434 (-41.43%)
Mutual labels:  3d, 3d-graphics

vlogo

Codacy Badge Downloads lics Anaconda-Server Badge Ubuntu 20.10 DOI CircleCI

vedo is a lightweight and powerful python module for scientific analysis and visualization of 3d objects.

✨ Philosophy

Inspired by the vpython manifesto "3D programming for ordinary mortals", vedo makes it easy to work with three-dimensional meshes and volumes, creating displays and animations in just a few lines of code, even for less experienced programmers.

vedo is based on numpy and VTK, with no other dependencies.

💾 Installation

pip install vedo
additional installation details (click to expand)
  • As some of the features work better and faster on the older VTK version 8 you can install it via:
    pip install vtk==8.1.2

  • To get the latest dev version of vedo use instead:
    pip install -U git+https://github.com/marcomusy/vedo.git

  • Or install it from the conda-forge channel via:
    conda install -c conda-forge vedo


📌 Done? Run any of the built-in examples. In a terminal, type e.g.:

vedo -r covid19

Visualize a file from web URL (or your dropbox!), type:

vedo https://vedo.embl.es/examples/data/panther.stl.gz

📙 Documentation

The webpage of the library with documentation is available here.

📌 Need help? Have any question, or wish to ask for a missing feature? Do not hesitate to open a issue (or send an email).

🎨 Features

The vedo library includes a large set of working examples for a wide range of functionalities:

working with polygonal meshes and point clouds (click to expand)
  • 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.
working with volumetric data and tetrahedral meshes
  • 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)
plotting and histogramming in 2D and 3D
  • Polygonal 3D text rendering with Latex-like syntax and unicode characters, with 14 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 other libraries
  • Integration with the Qt5 framework.
  • Support for FEniCS/Dolfin platform for visualization of PDE/FEM solutions.
  • Interoperability with the trimesh, pymeshlab and pyvista 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 from a terminal window simply with e.g.:

vedo my_mesh.obj

Volumetric files (mhd, vti, slc, tiff, DICOM etc..) can be visualized in different modes:

Volume 3D slicing
vedo --slicer embryo.slc
Ray-casting
vedo -g
2D slicing
vedo --slicer2d
Colorize voxels
vedo --lego
slicer isohead viz_slicer lego

Type vedo -h for the complete list of options.

🐾 Examples

vedo currently includes 300+ working examples and notebooks.

cubecut greyscott quatumsine
Easily work with volumes, tetrahedral and polygonal meshes. Turing system of reaction-diffusion between two molecules. Quantum-tunnelling of a particle in a box hitting a sinusoidal potential.
trimesh dolf whisker
Interoperability with external libraries like trimesh, pymeshlab, and pyvista. Support for the FEniCS/Dolfin library for PDE and finite element solutions. Advanced 2D/3D histogramming and plotting capablities.

Galleries

Check out the example galleries organized by subject here:


📜 References

Scientific publications leveraging vedo (formerly known as vtkplotter):

  • X. Diego et al.: "Key features of Turing systems are determined purely by network topology", Physical Review X, 20 June 2018.
  • M. Musy, K. Flaherty et al.: "A Quantitative Method for Staging Mouse Limb Embryos based on Limb Morphometry", Development, 5 April 2018, doi: 10.1242/dev.154856.
  • G. Dalmasso et al., "Evolution in space and time of 3D volumetric images", in preparation.
  • F. Claudi, A. L. Tyson, T. Branco, "Brainrender. A python based software for visualisation of neuroanatomical and morphological data.", DOI.
  • J. S. Bennett, D. Sijacki, "Resolving shocks and filaments in galaxy formation simulations: effects on gas properties and star formation in the circumgalactic medium", Monthly Notices of the Royal Astronomical Society, Vol. 499, Issue 1, Nov. 2020, DOI.
  • J.D.P. Deshapriya et al., "Spectral analysis of craters on (101955) Bennu". (DOI: 10.1016/j.icarus.2020.114252)

Have you found this software useful for your research? Star ✨ the project and cite it as:

M. Musy et al., "vedo, a python module for scientific analysis and visualization of 3D objects and point clouds", Zenodo, 2021, doi: 10.5281/zenodo.4287635.

embl_logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].