vedo

repository·master·Indexed 24 days ago

https://github.com/marcomusy/vedo

A Python module for scientific visualization and analysis of 3D objects, including polygonal meshes, point clouds, and volumetric data. It provides tools for rendering, mesh processing, surface reconstruction, and 2D plotting via vedo.pyplot, as well as a command-line interface for visualizing files and exporting scenes.

Tokens
15.1K
Snippets
37
Records
105
Agent score
81%

What's inside vedo

  1. Explore vedo.addons modules

    master

    The vedo.addons package provides specialized extensions and additional functionality for the core vedo library. It is organized into several submodules, each focusing on a specific domain of visualization and interaction:

    • vedo.addons.core: Core addon functionalities.
    • vedo.addons.axes: Advanced axes and coordinate system tools.
    • vedo.addons.widgets: Specialized UI widgets for 3D visualization.
    • vedo.addons.interaction: Tools to enhance user interaction with 3D scenes.
    • vedo.addons.ui: General user interface components.
    • vedo.addons.sliders: Slider-based controls for parameter manipulation.
    • vedo.addons.cutters: Tools for slicing and cutting through 3D volumes or meshes.
    • vedo.addons.measure: Measurement and analysis tools.
  2. Use vedo.pyplot for 2D plotting and visualization

    master

    The vedo.pyplot module provides a high-level interface for creating 2D plots, charts, and statistical visualizations within the vedo ecosystem. It is organized into several functional sub-modules:

    • vedo.pyplot.figure: For managing figure creation and layout.
    • vedo.pyplot.charts: For creating various types of charts (e.g., bar, pie, line).
    • vedo.pyplot.functions: For mathematical and functional plotting.
    • vedo.pyplot.stats: For statistical visualizations and data analysis plots.
    • vedo.pyplot.graph: For graph and network visualizations.
  3. Explore the vedo API domains

    master

    The vedo API is organized into domain-specific modules. Depending on your task, you should look into the following modules:

    • core: Shared algorithms, transforms, summaries, and common data helpers.
    • mesh: Polygonal surface data structures, metrics, and mesh-specific operations.
    • pointcloud: Point sets, fitting tools, reconstruction, cutting, and geometric analysis.
    • grids: Structured, rectilinear, explicit, unstructured, and tetrahedral datasets.
    • volume: Volumetric data objects, slicing tools, and image-based processing.
    • shapes: Curves, primitives, glyphs, text, markers, and convenience geometry builders.
    • plotter: Rendering windows, scene management, interaction, camera control, and display.
    • visual: Visual mixins, actor appearance, lighting, color mapping, and rendering helpers.
    • addons: Axes, scalar bars, widgets, rulers, cutters, sliders, and annotation tools.
    • applications: Ready-to-use slicers, browsers, editors, morphing tools, and interactive apps.
    • file_io: Readers, writers, downloads, screenshots, scene export, and video utilities.
    • pyplot: Figures, charts, statistical plots, graphs, and high-level plotting helpers.
    • settings: Global configuration for rendering behavior, defaults, interactivity, and style.
  4. Explore vedo.file_io modules

    master

    The vedo.file_io package is organized into several specialized submodules for handling different types of data input and output operations. Depending on your task, you should use one of the following modules:

    • vedo.file_io.loaders: For loading 3D meshes, point clouds, and other geometric data.
    • vedo.file_io.writers: For saving scenes, meshes, or other objects to disk.
    • vedo.file_io.video: For handling video file operations.
    • vedo.file_io.scene: For operations related to saving or loading entire scenes.
    • vedo.file_io.network: For network-based file operations or remote data access.
    • vedo.file_io.terminal: For terminal-related I/O operations.
  5. Explore vedo.shapes modules

    master

    The vedo.shapes module provides a collection of tools for creating and manipulating various geometric and analytical shapes. The module is organized into several specialized sub-modules:

    • glyphs: For creating glyphs (often used for vector fields or directional data).
    • curves: For generating and manipulating curves.
    • primitives: For standard geometric primitives (e.g., spheres, cubes, cylinders).
    • markers: For creating various types of markers in 3D space.
    • text: For rendering text in a 3D scene.
    • analysis: For shape-related analysis tools.
    • VedoLogo: A specific shape representing the vedo logo.
  6. Explore vedo.applications modules

    master
    The vedo.applications module provides high-level, specialized application suites for various scientific visualization and manipulation tasks. These applications are designed to provide interactive workflows for specific domains such as slicing, morphing, and animation.
  7. Use vedo.pointcloud for point cloud processing

    master

    The vedo.pointcloud module provides a suite of tools for handling, analyzing, and transforming point cloud data. It is organized into several functional sub-modules:

    • core: Basic point cloud operations and management.
    • analyze: Tools for statistical and geometric analysis of point clouds.
    • cut: Methods for slicing or cutting point clouds.
    • fits: Functionality for fitting geometric primitives (like planes or spheres) to point cloud data.
    • reconstruct: Algorithms for surface reconstruction from point clouds.
    • transform: Operations for rotating, scaling, and translating point clouds.
  8. Access and configure vedo.settings

    master
    The vedo.settings module provides a centralized way to manage global configuration options for the vedo library. These settings control various aspects of the library's behavior, such as rendering defaults, logging, and display options. You can access and modify these settings directly to ensure consistent behavior across your visualization scripts.
  9. Use vedo.assembly for object alignment

    master
    The vedo.assembly module provides tools for aligning and assembling multiple 3D objects. It is used to manage collections of objects as a single unit, often for tasks involving spatial alignment or hierarchical organization of 3D scenes.
  10. Configure vedo backends in Jupyter Notebooks

    master

    To use vedo in a Jupyter Notebook, you must set vedo.settings.default_backend.

    Supported Backends:

    • 2d: Generates a static image (default).
    • vtk: Opens a standard graphics rendering window.
    • k3d: Interactive rendering (requires pip install k3d).
    • ipyvtklink: Allows interaction with the scene.
    • trame: Interactive rendering (requires pip install trame trame-vtk trame-vuetify).
  11. Use vedo.applications for slicing, morphing, and editing

    master

    The vedo.applications package includes several specialized application modules. Depending on your goal, you can utilize the following modules:

    • slicing: For interactive slicing of volumetric data or meshes.
    • morphing: For creating transitions or morphing between different shapes/states.
    • browsers: For navigating through data or scene hierarchies.
    • editing: For interactive mesh or volume editing tasks.
    • animation: For creating and controlling animations of scenes.
  12. Supported grid types in vedo.grids

    master

    The vedo.grids module provides several specialized grid types for volumetric and mesh-based data representation. Depending on your data structure, you can use one of the following grid classes:

    • unstructured: For unstructured grids where connectivity is explicitly defined.
    • tetmesh: Specifically for tetrahedral meshes.
    • rectilinear: For grids where nodes are aligned along axes but spacing can vary between planes.
    • structured: For regular, structured grids with uniform spacing.
    • explicit: For explicit grid representations.