Skip to content

Releases: openPMD/openPMD-viewer

1.0.0: Breaking changes in the API

07 Feb 13:07
Compare
Choose a tag to compare

This version introduces major changes and breaks backward compatibility.

Here is a list of the changes:

  • The import statement now uses openpmd_viewer instead of opmd_viewer, e.g.
from openpmd_viewer import OpenPMDTimeSeries
  • For consistency, ts.get_particle now return particle positions in meters,
    instead of microns. For instance, in the code below, x, y, z will be in
    meters
x, y, z = ts.get_particle(['x', 'y', 'z'], iteration=1000)
  • In ts.get_field, slicing can now be done in several directions, and for
    1d, 2d, 3d, and circ geometries. As a consequence, this breaks backward
    compatibility for 3d field:
    get_field(field=field, coord=coord, iteration=iteration)
    used to return the central slice along y while it now returns the full 3d field.
    In addition, the name of the argument of get_field that triggers slicing
    has been changed from slicing_dir to slice_across (and slicing has been
    changed to slice_relative_position).
  • openPMD-viewer does not rely on Cython anymore. Instead, it uses numba
    for functions that perform a substantial amount of computation.
  • A new function (ts.iterate) was introduced in order to quickly apply a
    given function to all iterations of a time series. See the docstring of
    ts.iterate for more information.
  • The function get_laser_envelope does not support the argument index anymore
    (which was effectively used in order to perform slicing). Instead, users should use
    the argument slicing_dir. In addition, get_laser_envelope now supports the
    argument plot_range.
  • The function get_laser_waist does not support the agument slicing_dir anymore.

0.9.1

16 Jan 04:52
Compare
Choose a tag to compare

This release includes a few minor bug fixes

  • Make the histogram and get_current functions more robust, when the min and max of a given particle quantity are identical.
  • Make the reader more robust by checking that there is at least one particle species, before parsing particles metadata. (Needed for WarpX datasets.)

0.9.0

15 Jan 17:06
Compare
Choose a tag to compare

This release adds two features:

  • Improved calculation of the laser envelope, using the Hilbert transform.
  • Reconstruction of full 3D field from a quasi-3D dataset, when passing theta=None.

0.8.2

03 Oct 15:48
Compare
Choose a tag to compare

This is a bug-fix release. It allows the slider to work properly in JupyterLab, by using the %matplotlib widget magic.

0.8.1

08 Jun 22:01
Compare
Choose a tag to compare

This version includes minor improvements to the viewer:

  • (Experimental) support for Windows users
  • In the interactive Jupyter GUI, the user can now select the scale of the vertical axis.
  • The function get_emittance has more options (including calculation of the slice emttance)
  • The default openPMD_notebook now avoids warning messages about matplotlib inline, which used to occur even though %matplotlib notebook was used.

Many thanks to @MaxThevenet and @AngelFP for their contributions to this release!

0.8.0

07 Feb 15:55
Compare
Choose a tag to compare

This version introduces several improvements to the viewer:

  • The ability to read files that contain fields in different geometries (e.g. 3D fields and 2D slices).
  • Better support for files that do not contain mesh (or do not contain particles), including support for the openPMD 1.1.0 standard.
  • Cloud-In-Cell deposition in histograms.
  • Better handling of %matplotlib notebook for newer version of jupyter.

0.7.1

15 Nov 15:41
Compare
Choose a tag to compare

This version adds better support, when the local installation of matplotlib has issues:

  • The LpaDiagnostics can now work without matplotlib if needed.
  • The MacOSX matplotlib backend is now avoided, since there can be issues when using it in the latest version of Jupyter.

0.7.0

08 Nov 15:42
Compare
Choose a tag to compare

This version improves support for ipywidgets version 7, especially in the layout of the slider.

In addition, with this version of openPMD-viewer, matplotlib is not a strict requirement anymore. This allows lighter installation for users that need openPMD-viewer only as a data reader.

Finally, the calculation of the laser envelope in 2D has been improved (see PR 170). Note that the function wstd (which is not documented in the tutorial, but which some users might still use) has been renamed to w_std.

0.6.0

07 Sep 15:34
Compare
Choose a tag to compare

This version improves the layout of the Jupyter GUI and allows the user to select a particular region of the plots through this GUI.

In addition, support for massless particle (e.g. photons) was added. In this case, the momenta are returned in kg.m.s^-1, instead of using the dimensionless momenta.

0.5.4

16 Mar 16:37
Compare
Choose a tag to compare

This is version 0.5.4 of openPMD-viewer.

It adds support for Python 3.4 (which erroneously dropped in the past).