Recent Releases of PVGeo

PVGeo - JOSS Paper

This release marks the conclusion of our JOSS review for PVGeo in https://github.com/openjournals/joss-reviews/issues/1451

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 7 years ago

PVGeo - v2.0.0 Alpha Release

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

Scientific Software - Peer-reviewed - Python
Published by banesullivan about 7 years ago

PVGeo - vtki Support

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()

```py 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

Scientific Software - Peer-reviewed - Python
Published by banesullivan over 7 years ago

PVGeo - Automatic Documentation!

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.

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Full Release

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:

  • Merge requests welcome!
  • Join the community on Slack
  • Questions or need to contact us: info@pvgeo.org

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.

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Deployed on PyPI

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

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Rename of Python Module: PVGeo

The flagship python module is now called PVGeo

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Major changes to the PVGPpy module

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*

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Beta 6.4 Multiple Input Ports and Array Selections

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.

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Beta 6.3: Model Building and Bug Squashing Galore

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.

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Beta 6: Plugin Suites

Completely overhauled the plugins to be separated into various suites. Learn more

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Beta 5.1: Rebranding as **PVGeophysics**

This release marks a significant rename and rebranding of the PVGP code library. The name has been shortened to PVGeophysics to be a bit shorter and catchier while helping give the code base a brand.

Scientific Software - Peer-reviewed - Python
Published by banesullivan almost 8 years ago

PVGeo - Beta 5: UBC GIF Format Readers and More

The most notable features of this release are the UBC GIF file readers for 2D/3D Tensor Meshes and OcTree formats. We did a complete refactoring of the Tensor Mesh readers to squash bugs and implemented the OcTree reader in a similar fashion.

Notable New Features Implemented

  • UBC OcTree file reader from feature request #3. Many thanks go to @grosenkj for contributions in #5
  • How to Build Your Own Plugins page added to Docs and example plugins updated
  • Contributing page added to the development guide on the Docs pages
  • Slice Model Along PolyLine example added to Docs pages
  • PVGP custom grid file format updated to be a single file with embedded compressed data
  • UBC 2D Tensor Mesh Grid fully implemented
  • Major Docs updates: docstrings and scripts can be imported to markdown page and much more formatting
  • Python modules overhaul: structure changes, cleaner imports, and privatization of helpers

Scientific Software - Peer-reviewed - Python
Published by banesullivan about 8 years ago

PVGeo - Beta 4: All about the docs

This release is triggered due to the major changes in how we are building the project docs.

Project structure overhauls for the documentation and implemented dynamic includes for code docs in the markdown for the website.

Notable New Features:

  • Madagascar Single Stream RSF file format reader (ignores header: need to use Table to Uniform Grid Filter)
  • Using Python 3 conventions for all code (even though we use Python 2 with ParaView)
  • Method and Script dynamic includes for mkdocs
  • Lots of bug fixes, code cleanup, refactoring, and modular use of code implemented

Scientific Software - Peer-reviewed - Python
Published by banesullivan about 8 years ago

PVGeo - Beta 3.1 BUG FIXES

MAJOR BUG FIXES: Please Pull

Resolved:

  • An issue with delimited text readers where float values could accidentally get parsed as int values
  • An issue where an incomplete definition in the readers got pushed and crashed the delimited text reader.
  • Many other less significant bugs :bug:

Notable New Features:

  • Macro to easily edit axis label ticks in pvmacros
  • Macro to create many slices of a data set along a given axis in pvmacros
  • A custom file format has been created PVGPGrid (file sink for Python in new py2PVGP module)
  • Lots of bug fixes, code cleanup, refactoring, and modular use of code implemented

Scientific Software - Peer-reviewed - Python
Published by banesullivan about 8 years ago

PVGeo - Beta 3

Major project structure changes! All macros are being implemented into a new module called pvmacros. This is so that PVGPpy will only be used for functionality in Python Programmable Sources/Filters. We implement that functionality in the PVGPpy module so that we can version control whats happening in those filters without worrying about conflictions from saving state files.

Notable New Features:

  • Time-series functionality added for readers!!!!!!!!!!
  • More filters for array math (np.correlation() between two arrays)
  • Input Array selection drop down menu added to filter generator script
  • Much better example plugins (filter and reader)
  • General refactoring, cleanup, and bug squashing

pvmacros

  • camera class for saving views and making reproducible screenshots a breeze
  • a simple function to load plugins into the pvpython shell environment if needed

Note: The docs are currently deprecated and will be updated by May 2018

Scientific Software - Peer-reviewed - Python
Published by banesullivan over 8 years ago

PVGeo - Beta 2

Major project structure changes! All filters, readers, etc. are now implemented in the PVGPpy module. This makes their use easier for scripting and allows for version control on the filters after a state has been saved.

Notable New Features:

  • Streamlined installation instructions for Windows and an install script for Mac! These instructions will work for all python enabled versions of ParaView. Install instructions likely will not change moving forward.
  • Filter: Add UBC model file to existing vtkRectilinearGrid made from a UBC mesh
  • General code cleanup and docstrings
  • Cleaner XML formatting
  • filt and helpers sub-modules added to PVGPpy
  • Table to Uniform Grid bugs squashed

Scientific Software - Peer-reviewed - Python
Published by banesullivan over 8 years ago

PVGeo - Beta Release

We're in the Beta release stage! We're still working out quirks/bugs and looking for more plugin/macro ideas but we are happy with the structure for the general framework moving forward.

Before we can push a full release we need feedback! Please post your ideas for plugins, macros, and what you might like to see from this project on Issue Topic #1 . Also feel free to post any feedback, concerns, requests, and more on our Issues Page.

Notable New Features:

  • Streamlined installation scripts for Mac/Linux and Windows!
  • Reader: UBC Mesh two file format reader for 3D grids
  • PVGPpy: Our ParaViewGeophysics Python module that houses all of our macros for ParaView.
  • PVGPpy.export.exportVTKjs(): A macro to export your data scenes into the VTKjs shareable format
  • PVGPpy.vis.clipThrough(): Automate the movement of a slice through a model (link to other slices and can move infinitely many slices at once)
  • PVGPpy.vis.manySlicesAlongPoints(): Make many slices of a model along a series of points
  • Filter GUIs display code with Python syntax live in ParaView and can be opened in separate window now
  • Switched to vector properties where it makes sense for many of the published filters (e.g., dimensional spatial extents on Table to Uniform Grid went from 3 variables n1,n2,n3 to 1 array [n1,n2,n3])
  • Several orography colormaps added
  • Added the ability to have multi-file inputs to readers in build scripts
  • Now you can specify help documentation for plugin parameters

Scientific Software - Peer-reviewed - Python
Published by banesullivan over 8 years ago