Skip to content

Releases: OpenGeoVis/PVGeo

JOSS Paper

28 Jun 21:21
Compare
Choose a tag to compare

This release marks the conclusion of our JOSS review for PVGeo in openjournals/joss-reviews#1451

v2.0.0 Alpha Release

21 Apr 23:32
Compare
Choose a tag to compare

PVGeo has undergone a lot recent development to catch up with development for vtki

  • pep8 refactoring
  • Documentation overhaul and migration to GitHub Pages
  • Bug fixes

vtki Support

16 Jan 08:25
Compare
Choose a tag to compare

The v1.2.0 release comes with a significant new dependancy: vtki. The vtkInterface Python package (vtki) is a helper module that takes a different approach to interfacing with VTK through NumPy and direct array access. The package brings a much more Pythonic interface to using the VTK data objects that go in and out of PVGeo algorithms. From this point forward, we will provide full support for pairing PVGeo with vtki as a visualization library so that users can leverage powerful visualization routines and tools built for pure Python envrionments such as vtki's:

  • Direct filtering on data objects: dataset.threshold()
import PVGeo
dataset = PVGeo.model_build.CreateUniformGrid().Apply()

# Apply a threshold over a data range
dataset.threshold([100, 500])
  • IPython interactive plotting tools

interactive-viz

slicer-tool

New Features

  • Support for Open Mining Format project files through the omfvtk optional dependency
  • External library interfacing with a new base class: PVGeo.InterfacedBaseReader
  • Support for discretize meshes and other UBC data formats

Resources

Be sure to check out all the Jupyter notebooks in the examples repository to learn more about using PVGeo and vtki!

Deprecations

  • The Table to Grid filter has officially been removed and replaced by the optimized Table to Time Grid filter: PVGeo.grids.TableToTimeGrid

Automatic Documentation!

11 Jul 20:49
Compare
Choose a tag to compare

Major overhaul to code documentation for a new Sphinx documentation generator. Any tagged commits to master now rebuild the code docs at http://docs.pvgeo.org

This new documentation generator automatically iterates through the PVGeo and pvmacros modules to build the documentation on the fly. This allows for developers to create new features and immediately have the docs reflect those features, thus relieving developers from having to write a docs page for their new work.

Full Release

09 Jul 19:46
Compare
Choose a tag to compare

PVGeo is finally at a stage for a full release! I overhauled the library to make PVGeo work as a standalone python package as well as wrapped the package for use in ParaView versions 5.5.3 and above. In this overhaul, I implemented an automated testing suite and PyPI deployment on Travis CI which enables PVGeo to be installed via pip (see details).

Get Involved:

Notable New Features

  • Some 10+ new filters... most notably:
    • Voxelize Points: turns a point data set into a gridded data set made of voxels for volumetric operations.
    • Various slicing filters like Many Slices Along Points.
    • Array Math: Perform any mathematical operation on two input arrays from a vtkDataObject.
    • Rotate Points: Rotate the points in a vtkPolyData object around any origin. Will be extended to handle different types of VTK data objects.
    • UBC Mesh Model Appender: Append a time series of a model data to an already read UBC mesh type.
  • Re-implementation of all readers to be lightweight on the VTK pipeline. I enabled the readers to handle reading data up-front on the first request for all timesteps then allowing the pipeline to request data for specific time steps. This results in minimal lag when dealing with larger time series files.
  • UBC Mesh readers (Tensor and OcTree) can now handle time series models.
  • Various enhancements and overhaul to all previously implemented readers, filters, and sources.

Coming Soon:

  • A new repository with Jupyter notebooks on how to use PVGeo in a standalone python environment.
  • ParaView tutorials with sample data on every doc page (similar to Many Slices Along Points).
  • A more comprehensive Development Guide.

Deployed on PyPI

08 Jul 08:46
Compare
Choose a tag to compare

The PVGeo package is now deployed on PyPI and wrapped for use in ParaView versions > 5.5.2

Rename of Python Module: PVGeo

11 Jun 07:44
Compare
Choose a tag to compare

The flagship python module is now called PVGeo

Major changes to the PVGPpy module

10 Jun 23:25
Compare
Choose a tag to compare

Completely overhauled the PVGPpy module to be ready for the transition to using VTKPythonAlgorithmBase subclasses outlined in Merge Request !2516 for ParaView.

We will be phasing out the src directory and XML build scripts on the rebuild-pvpy branch moving forward.

By using VTKPythonAlgorithmBase subclasses moving forward, we can deliver a single Python module that can be used both as a standalone package in Python environments or imported to ParaView to harness plugins from the Graphical User Interface.

Proceed with caution until next minor release: 0.8.0

Beta 6.4 Multiple Input Ports and Array Selections

08 Jun 16:25
Compare
Choose a tag to compare

Filters with multiple inputs now put each input on its own port using the input selector to select inputs by name. Check out the src/filters_general/example_filter_mult.py (Example Filter Multiple Inputs) to see how to use filters with multiple input ports and to see how to use choosing input arrays to process.

Beta 6.3: Model Building and Bug Squashing Galore

08 Jun 07:09
Compare
Choose a tag to compare

In addition to the following new features, I went on a bug hunting sprint and overhauled many of the file readers to squash out quirky bugs and implement stable solutions for most tasks and data parsing.

Notable New Features:

  • The Model Building Suite: There is a new beta Model Building plugin suite dedicated to creating various types of rectilinear grids alongside your data. I will soon implement the ability to save those model discretizations out to common formats like the UBC Tensor Mesh. Check out the new Sources->PVGP Model Building menu and take a look at the Create Odd Rectilinear Grid model generator.
  • Multiple Inputs: Filters with multiple inputs now use the input selector to select various inputs by name. Check out the src/filters_general/example_filter_mult.py (Example Filter Multiple Inputs) to see how it works.