Web lists-archives.com

Bug#926192: ITP: vtkplotter -- a python class for scientific visualization of 3D objects with VTK




Package: wnpp
Severity: wishlist
Owner: Drew Parsons <dparsons@xxxxxxxxxx>

* Package name    : vtkplotter
  Version         : 2019.1.2
  Upstream Author : Marco Musy <marco.musy@xxxxxxxxx>
* URL             : https://vtkplotter.embl.es/
* License         : MIT
  Programming Lang: Python
  Description     : a python class for scientific visualization of 3D objects with VTK

A python module for scientific visualization, analysis and animation
of 3D objects and point clouds based on VTK and numpy.

Intuitive and straightforward API which can be combined with VTK seamlessly in a program, whilst mantaining access to the full range of VTK native classes.

It includes a large set of working examples for the all following functionalities:

*   Import meshes from VTK format, STL, Wavefront OBJ, 3DS, XML, Neutral, GMSH, OFF, PCD (PointCloud), volumetric TIFF stacks, SLC, MHD, 2D images PNG, JPEG.
*   Export meshes as ASCII or binary to VTK, STL, OBJ, PLY formats.
*   Mesh analysis through the built-in methods of VTK package. Additional analysis tools like Moving Least Squares, mesh morphing.
*   Tools to visualize and edit meshes (cutting a mesh with another mesh, slicing, normalizing, moving vertex positions, etc..). Interactive cutter widget.
*   Split mesh based on surface connectivity. Extract the largest connected area.
*   Calculate mass properties, like area, volume, center of mass, average size 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 a mesh.
*   Create primitive objects like: spheres, arrows, cubes, torus, ellipsoids...
*   Generate glyphs (associating a mesh to each vertex of a source mesh).
*   Create animations easily by just defining the position of the displayed objects in the 3D scene. Add trailing lines to moving objects automatically.
*   Straightforward support for multiple sync-ed or independent renderers in the same window.
*   Registration (alignment) of meshes with different techniques.
*   Mesh smoothing with Laplacian and WindowedSinc algorithms.
*   Delaunay triangulation in 2D and 3D.
*   Generate meshes by joining nearby lines in space.
*   Find the closest path from one point to another, travelling along the edges of a mesh.
*   Find the intersection of a mesh with a line (or with another mesh).
*   Analysis of Point Clouds:
    -  Moving Least Squares smoothing of 2D, 3D and 4D clouds
    -  Fit lines, planes and spheres in space
    -  Perform PCA (Principal Component Analysis) on point coordinates
    -  Identify outliers in a distribution of points
    -  Decimate a cloud to a uniform distribution.
*   Basic histogramming and function plotting in 1D and 2D.
*   Interpolate scalar and vectorial fields with Radial Basis Functions and Thin Plate Splines.
*   Analysis of volumetric datasets:
    -  Isosurfacing of volumes
    -  Direct maximum projection rendering
    -  Generate volumetric signed-distance data from an input surface mesh
    -  Probe a volume with lines and planes.
*   Add sliders and buttons to interact with the scene and the individual objects.
*   Examples using SHTools package for spherical harmonics expansion of a mesh shape.
*   Integration with the Qt5 framework.
*   Support for FEniCS/dolfin package.

vtkplotter is published in M. Musy et al. "vtkplotter, a python module
for scientific visualization and analysis of 3D objects and point
clouds based on VTK (Visualization Toolkit)",
Zenodo, 10 February 2019, doi:10.5281/zenodo.2561402.

This package will be maintained under the Debian Science team
(alongside FEniCS/dolfin)