pyvista

3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)

MIT License

Downloads
284.8K
Stars
2.4K
Committers
153

Bot releases are hidden (Show)

pyvista - Widgets Overhaul, BackgroundPlotter improvements, & Bug Fixes

Published by banesullivan about 5 years ago

This update brings some major changes to the widgets (the previous API for widgets is broken. Please see new API)

New Features

  • New Sphere and Spline widgets (see #383 and #401) with major overahul to allow support from many widgets in a single scene
  • New OBJ scene exporter (see #392)
  • New toolbar for the BackgroundPlotter for controlling the camera (see #351)
  • UniformGrid objects can now be cast to RectilinearGrid objects (see #381)

Bug Fixes

  • NaN camera position issue resolved (see #383)
  • Scalar mapping issues for uint8 arrays fixed (see #384)
  • Fix q-key for closing the BackgroundPlotter (see #388)
  • Properly grab screenshots when BackgroundPlotter closes (see #382)
  • Fix issue when trying to plot multiple sets of point labels
  • Add access to repeat option on the Texture class
  • new viewport parameter to control text location in BasePlotter.add_text (see #390)
  • Resolve some major Python 2.7 issues for backwards compatibility (see #393)
  • Ignore strange errors when automatically grabbing depth image
  • Fix issue with lines_from_points (see #394 and #399)
  • Fix issue where Plotter class couldn’t accept the title argument.
pyvista - Depth Mapping, anti-aliasing, improvements, and cleanup

Published by banesullivan about 5 years ago

New Features

  • New depth mapping feature for the rendering window (see #369 and #368)
  • New layout options for subplotting (see #380). Many thanks to @marcomusy
  • Anti-aliasing features (see #365)
  • Background color and number of colors are now settable for the scalar bar (see #370)
  • New relaxation parameter for the PolyData.smooth filter (see #374)
  • Major overhaul of the widget tools to improve performance (see #376)
  • New shallow_copy and deep_copy methods (see #377)
  • Improve default options for texture mapping
  • Wrapped the vtkTexture class
  • Enable use of edl keyword argument for eye dome lighting in the .plot() function.
  • New shortcuts for the point_data_to_cell_data() and cell_data_to_point_data() filters as ptc() and ctp() respectively.

Bug Fixes

  • Minor improvements for supporting Panel (ref #268)
  • Fix BackgroundPlotter menu bar on some Linux platforms (see #371)
  • Much cleanup, typos, etc., fixed by @marcomusy in #380
  • Much PEP8 cleanup inside the library
pyvista - Widgets Bugfix

Published by banesullivan about 5 years ago

There was a serious bug with the plane widget that somehow made it in the last release. This patch release resolves that issue and adds support for MultiBlock datasets with the widgets.

pyvista - Widgets, Point Picking, and Tables

Published by banesullivan about 5 years ago

New Features

  • Add full support for widgets in the rendering scene! (See #360)
    • Box widget - Create a box in 3D space. Includes a convenience method for clipping meshes
    • Plane widget - Create an implicit plane in 3D space. Includes a convenience method for clipping and slicing meshes
    • Slider widget - Add a slider bar to the render window. Includes a convenience method for thresholding meshes
    • Line widget - Create and orient a line in 3D space.
  • Point picking (see #362)
    • Single point picking on meshes and in 3D space
    • Trace lines across meshes using a geodesic path
    • Trace lines through a scene by picking points on meshes or in 3D space
    • Trace out horizon surfaces
  • Wrap the vtkTable class (see #274 and the new pyvista.Table class)
  • Add a structured grid cylinder helper method (see pyvista.CylinderStructured) which works creates a pyvista.StructuredGrid mesh in the shape of a cylinder.
  • New .ribbon() filter for PolyData objects - create surfaces (“ribbons”) from lines
  • interpolate_befor_map is now set too True as default (see #363 and this example for details)

Bug Fixes

  • Resolve issues with the lines_from_points helper methods (see #357)
  • Fix an issue when fetching null points on datasets
pyvista - Labeled Scalar Bars, Surface Clipping, & Bug Fixes

Published by banesullivan about 5 years ago

Exciting New Features

  • Labeled scalar bars!!! 🎉 (See #348 and this example) Now arrays with strings categories can be color mapped
  • Ability to clip a mesh using the surface of another mesh (see #354 and this example)
  • Parallel projection (see #337)
  • New MCubes reader (.tri files)
  • New cell quality and gradient filters (see #354)
  • Implement the + operator to support all PyVista meshes

Bug Fixes

  • Subplotting borders fixed
  • Handle arrays with no name (see #306)
  • Fix the fly_to method
  • Typos and grammar fixed in the example gallery - huge thanks to @JasonTlin
  • Fixed issue with the + operator that appeared in v0.21.3
  • Clear the menu bar for the BackgroundPlotter when closing on Mac OS (see #350)
pyvista - Bug Fixes and General Cleanup

Published by banesullivan about 5 years ago

This release is primarily full of bug fixes and general cleanup around the filters and plotting methods.

Bug Fixes

  • Fix points ordering issue with gridded datasets
  • Fix issues with overlapping colorers (see #319)
  • Fix rare bug when scalars are the wrong size
  • Handle panel runtime errors on import (see #322)
  • Fix smooth_shading issue for non-PolyData datasets
  • Fix subplot indexing issues (see #346)

Changes

  • Memory footprint is improved (see #338)
  • panel notebook rendering is now off by default
  • New downloadable examples!
  • Filters were overhauled into their own module and generalized across datasets (see #323)
  • Improved control over axes widgets (see #334 and #342)
  • Improvements to add_mesh and add_volume docstrings
  • Deprecate BasePlotter.plot (see #341)
  • Enable use of poly lines with PolyData (see #344)
  • Add more lighting controls (see #343)
pyvista - BackgroundPlotter updates and bug fixes

Published by banesullivan about 5 years ago

  • Fix 32bit Python on 64bit OS ID type issues (see #316)
  • BackgroundPlotter changes:
    • Window title (see #305)
    • Add callback support (see #304)
    • Fix closing issues (see #315)
    • Add offscreen support (see #309)
    • Fix window resizing issue (see #315)
  • Fix typos
  • Add null_value support for the .interpolate filter
  • Replace AppVeyor with Azure Pipelines for Windows testing (see #317)
  • Add more special array names to the exclusion list for active scalars (see #307)
  • Update docstring for .add_text to detail how return type can vary (see #312)
pyvista - Enhancements and Bug Fixes

Published by banesullivan over 5 years ago

This release is loaded with bug fixes and enhancements that weren't quite ready at v0.21.0

New Features

  • Added option to use a scalar array for opacity mapping or custom transfer functions (see #297)
  • Overhauled the .clip filter to no longer triangulate regions unaffected by the clipping plane (see
    https://github.com/pyvista/pyvista-support/issues/13 and this discussion)
  • Add surface cell picking for visible cells only (see #281 and #277)
  • Use Scooby’s .Report() convention (see #284)
  • Improved point labels behavior and formatting (see #286)

Bug Fixes

  • Changed defaults for volume rendering to make sure it typically works on all OS and all GPUs
  • Fixed non-uniform subsetting issue with the .glyph filter (see #302)
  • Fixed installation issue on CentOS
  • Point labels can now be tracked by name when plotting
  • Fixed bug where the cell picking callback would be called after empty selection
  • Fixed issue where MultiBlock datasets weren’t wrapping properly
  • Fixed volume rendering of MultiBlock datasets
  • Fixed camera clipping planes bug when orbiting a scene
  • Fixed issue if passing texture=False to add_mesh
  • Fixed coloring issue with Box axes widget
  • Fixed issue when shading a dataset and passing an array by name
  • Fixed issue where parse_color would get tricked by RGBA tuples
  • Fixed BackgroundPlotter closing event bug (see #293)
  • Added default window title to rcParams
pyvista - Volume Rendering and More!

Published by banesullivan over 5 years ago

New Features

Most Exciting

  • Volume Rendering (see #272 and #231) 🎉 🎆 - many thanks to @supersubscript!
  • Show selection interactively with enable_cell_picking (see #278)
  • Slice along line filter (see #267)
  • Default colormap is now viridis

Also Pretty Exciting

  • Compute arc lengths of poly lines and splines (see #252)
  • Enable subset glyphing (see #269)
  • Enable filters on composite datasets (see #270)
  • Major reorganization of internal modules to clean up the API (see #272)
  • PolyData.project_points_to_plane filter (see #276)
  • Nee dependency: scooby for pyvista.generate_report() to make bug reporting easier.
  • Support for colorcet and cmocean colormaps

Bug Fixes

  • Fix color mapping issue for uint8 arrays (see #266)
  • Fix bugs with the auto documentation
  • Fix create_grid if cell dimension is 1
  • Use a better default for add_text so that text stays in the corner (see #275)
  • Fix frog example (see #237)
  • Enhance clipping algorithm for UniformGrids
pyvista -

Published by banesullivan over 5 years ago

This release has quite a few significant bug fixes and some useful new features inspired by user requests and contributions

New Features

  • New linked cameras feature for subletting (see #255)
  • Add new plot_over_line filter (see #250)
  • Clearing scalar arrays (see #232)
  • Add support for Splines (see #246)
  • More parametric geometries
  • Add method to clear textures: .clear_textures()
  • New internal class, PointSet to manage common attributes between point based datasets

Bug Fixes

  • Fix the frog example (see #237)
  • Fix bug with pyvista.Cone (see #249)
  • Fix bug where PolyData constructor did not always produce vertex cells (see #227)
  • Fix length calculation for geodesic path (see #261)
  • Other bug fixes with respect to the geodesic path filter
pyvista - Geometric Objects and Minor Bugs-Fixes

Published by banesullivan over 5 years ago

  • New Supertorid geometric object (see #225 and #242)
  • New software contract with Sphinx-Gallery to make Using PyVista with SG easier (see https://github.com/sphinx-gallery/sphinx-gallery/pull/494)
  • Improved smooth shading (see #230)
  • Add camera position argument for .show() method
  • Update orbiting function
  • Improve output of .clip filter (see #238)
  • Improve error message for reading invalid files (see #239)
pyvista - JOSS, name change, new features, bug fixes, and more!

Published by banesullivan over 5 years ago

This marks the release of a lot of new features since about v0.18.0. We've
been under rapid development lately and these features are also comming with
our review in the Journal of Open-Source Software
(JOSS). Listed below are some notable changes.

Enhancements

  • Updates to pyvista.rcParams
  • Add lots more example data download functions (see #195)
  • PolyData filters updates (see #194)
  • Add .streamlines() filter (see #199)
  • Add .interpolate() filter (see d0baf2c)
  • Refactor keyword argument scale_factor to factor (see 367e5bb)
  • Add support for string scalar arrays and better point labelling (see #200)
  • Add MultiBlock.copy() method (see 1481696)
  • Add MultiBlock negative indexing support (see 1481696)
  • Enable default plotting theme environment variable (see 3aeb812)
  • Add PolyData.extract_selection_points() filter (see #205)
  • Add support for field data arrays (#207)
  • Enhance __repr__ methods (see a86c3ff)
  • Add box orientation axes widget (see #218)

Bugfixes

  • Fix window closing bug on Windows (see #190)
  • Fix SEGY reader import issue (see 8f52ddb)
  • Fix broken file not found error message (see 5ccad7a)
  • Fix scalar bar slot issue in multi plots (see 6235f57)
  • RGB plotting bug-fix (see cf4e6cd)
  • Fix plot texture example (#216)
pyvista - PyVista: Recent name change

Published by banesullivan over 5 years ago

This version marks the beginning of this software being released as PyVista:

pip install -U pyvista
pyvista - Zenodo Repository

Published by banesullivan over 5 years ago

pyvista -

Published by akaszynski over 5 years ago

Bug fixes

  • Objects would sometimes not be collected due to way the scalar dictionary was initialized.
  • Windows plots now close without having to press q.
  • __repr__ method for most objects now displays correctly.

Features

  • Added opacity example.
  • Added movie example.
  • Now using vtkLightingKit for lighting rather than a single headlamp.

Changes

  • show_bounds is now show_grid when using vtki.plot
pyvista -

Published by banesullivan over 5 years ago

  • Fix Delaunay spelling mistake per #118
    • vtki.PolyData.delauney_2d -> vtki.PolyData.delaunay_2d
  • Add delaunay_2d filter to vtki.UnstructuredGrid
  • Update size limit for repr to automatically compute the volume of mesh
  • Update scalar bar arguments and add usage example
  • Enable DICOM reader per this thread
  • Add dark plotting theme: vtki.set_plot_theme('dark')
  • Add global topography download examples
  • Add DICOM knee download example
  • pycharm PIL hotfix
pyvista -

Published by banesullivan over 5 years ago

Bug Fixes:

  • Fixed issue with saving screenshots after exiting the window (see #109)
  • General updates and bug fixes for the readers/writers
  • Update __repr__ methods on all objects
  • Fix lighting keyword argument issues

Additions

  • Downloadable sample datasets: examples.download_*(see #112)
  • PolyData *.vtp reader/writer
  • Abstract class protections (see #113)
  • Support plotting multi component arrays (see #114)
  • Camera resetters for viewing common planes (see #115)
  • Camera disable/enable functions for plotter (see #115)
  • More choices for camera interaction styles
    • vtki.BasePlotter.enable_*_style
  • Ability to contour when slicing
  • New Isocontour IPython tool (see docs and #117)
  • Enable Rectilinear grids to be instantiated as 2D
pyvista -

Published by banesullivan over 5 years ago

Major new changes

  • A major overhaul to plotting code:
    • Most notably: new subplotting code (see #107 and Multi-Window Plot)
    • Keyword arguments updates (see #106)
  • New universal reading code added to parse file extensions for the appropriate VTK reader see #100

Notable Changes

  • Volume calculation code. See #103, Volumetric Analysis, and new filters
  • Many new filters (see Filters):
    • split_bodies (see #104)
    • warp_by_scalar
    • triangulate
    • cell_data_to_point_data
    • delaunay_3d
    • PolyData.smooth (see Volume Smoothing)
  • Scalar bar updates (see #85 and #106)
  • Added ability to orbit a rendering scene: BasePlotter.orbit_on_path
  • New input text (float) fields next to the sliders on the Qt scale axes dialog. See #96 and #101
    • Includes better testing of Qt plotting code
  • Improvements to code quality from issues raised by Codacy
  • Legacy reader is now more robust - reads all data in the file
  • Refactor of load_texture to read_texture
  • Plot textures by default if available and no preferences given
  • More geometric objects (see Geometric Objects):
    • vtki.Line
    • vtki.Cube
      vtki.Cone
    • vtki.Box
    • vtki.Polygon
    • vtki.Disc
  • vtki.MultiBlock updates
    • Get block by key name
  • New geo-focused example dataset examples.load_channels (see #108)
  • Windows key bug fixed (see #92)
  • Major documentation updates with auto summaries
pyvista -

Published by banesullivan over 5 years ago

  • New menu options for the vtki.BackgroundPlotter
    • Save a screenshot
    • Export the scene in vtkjs format
    • Control bounds axes
    • Control orientation marker
  • Bug fixes
    • Windows key issue when plotting
    • Update/fix clip_box filter
    • Interactive axes widget fixed
    • Fix default parameters and plotting parameters when using ipy_tools
    • Better errors when trying to plot non existing arrays
    • Textures with no color specified now always uses white regardless of plotting theme preference.
  • Enable interactive scalar bars (see #79)
  • MultiBlock dataset updates
    • Can now use a -1 index to access the last block
  • Added ability to close all open plotters: vtki.close_all()
  • Fix the rename_scalar function
  • Updates to the scalar dictionaries
    • now share a common class with common methods
    • new pop and update methods that behave as expected on the VTK side
  • Add the ability to control the color of plotted NaN values
  • Update VTK legacy reader to always read all available scalar arrays
  • Change isometric view keyboard shortcut to v
pyvista -

Published by banesullivan over 5 years ago

  • New plotter keyboard shortcut for isometric views: i key
  • New glyph filter and arrows property
  • Alias the rng keyword argument with clim for plotting scalars
  • Major testing improvements and bug fixes