Releases: openPMD/openPMD-viewer
1.10.0
What's Changed
- use
%matplotlib widget
by default by @BenWibking in #407 - BP4 Empty Skip: Inline Comment by @ax3l in #403
- Close #402 Fix deprecated ipython command by @RemiLehe in #410
New Contributors
- @BenWibking made their first contribution in #407
Full Changelog: 1.9.0...1.10.0
1.9.0
What's Changed
- When passing
t
, choose the closest iteration by @RemiLehe in #347 - README: Remove Travis-CI Badges by @ax3l in #369
- Adding attributes to the FieldMetaInformation object by @juliettepech in #372
- Sphinx documentation by @RemiLehe in #303
- Add readthedoc configuration by @RemiLehe in #375
- setup.py: no upper version of openPMD-api by @ax3l in #378
- Docs: correct 'get_mean_gamma' description in tutorials by @IlianCS in #379
- Do not use pyflakes for version 3.7 by @RemiLehe in #385
- Impose that user always passes iteration or t by @RemiLehe in #383
- Docs: Improve tutorials by adding basic analysis functions by @IlianCS in #382
- Improve get_laser_waist by @soerenjalas in #359
- Python 3.8+ by @ax3l in #387
- Update version number and CHANGELOG.md by @RemiLehe in #386
- Add all record attributes to
FieldMetaInformation
by @AngelFP in #390 - Support complex data in
thetaMode
geometry by @AngelFP in #389 - fix get_data for weighting in momentum reader by @PrometheusPi in #393
- Simplify names of radial particle components by @AngelFP in #392
- Close #396 warning when reading particle data by @RemiLehe in #398
- Support reading of 'rt' lasy files by @RemiLehe in #371
New Contributors
- @juliettepech made their first contribution in #372
- @IlianCS made their first contribution in #379
Full Changelog: 1.7.0...1.9.0
1.7.0
This release includes a few improvements:
1.6.0
1.5.0
1.4.0
This new release introduces several improvements:
-
The changes introduced in 1.3.0 caused a major slowdown when reading certain types of data. This has been fixed in this new release. (See #340 for more details.)
-
openPMD-viewer
now supportsthetaMode
geometry with data written usingr
as the fastest index (as written by e.g. WarpX in addition to the previously supported data format which usedz
as the fastest index (as written by e.g. fbpic). (See 337) -
openPMD-viewer
will raise an exception if the user asks for an iteration that is not part of the dataset (instead of printing a message and reverting to the first iteration, which can be confusing) (See 336)
1.3.0
1.2.0
This new release introduces several bug-fixes and miscellaneous features:
-
There is a new function
get_energy_spread
that returns the energy spread of the beam. This is partially redundant withget_mean_gamma
, which is kept for backward compatibility. (see #304 and #317) -
The 3D field reconstruction from
ThetaMode
data now has an optionmax_resolution_3d
that limits the resolution of the final 3D array. This is added in order to limit the memory footprint of this array. (see #307) The 3D reconstruction is now also more accurate, thanks to the implementation of linear interpolation. (see #311) -
A bug that affected reading
ThetaMode
data with theopenpmd-api
backend has been fixed. (see #313) -
A bug that affected
get_laser_waist
has been fixed. (see #320)
openPMD-api backend
This new release introduces the option to read openPMD
files with different backends. In addition to the legacy h5py
backend (which can read only HDF5 openPMD file), openPMD-viewer
now has the option to use the openpmd-api
backend (which can read both HDF5 and ADIOS openPMD files). Because the openpmd-api
backend is thus more general, it is selected by default if available (i.e. if installed locally).
The user can override the default choice, by passing the backend
argument when creating an OpenPMDTimeSeries
object, and check which backend has been chosen by inspecting the .backend
attribute of this object.
In addition, several smaller changes were introduced in this PR:
- The method
get_laser_envelope
can now take the argumentlaser_propagation
in order to support lasers that do not propagates along thez
axis. openPMD-viewer
can now properly readgroupBased
openPMD files (i.e. files that contain several iterations) #301.- Users can now pass arrays of ID to the
ParticleTracker
#283
1.0.0: Breaking changes in the API
This version introduces major changes and breaks backward compatibility.
Here is a list of the changes:
- The import statement now uses
openpmd_viewer
instead ofopmd_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 alongy
while it now returns the full 3d field.
In addition, the name of the argument ofget_field
that triggers slicing
has been changed fromslicing_dir
toslice_across
(andslicing
has been
changed toslice_relative_position
). openPMD-viewer
does not rely on Cython anymore. Instead, it usesnumba
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 argumentindex
anymore
(which was effectively used in order to perform slicing). Instead, users should use
the argumentslicing_dir
. In addition,get_laser_envelope
now supports the
argumentplot_range
. - The function
get_laser_waist
does not support the agumentslicing_dir
anymore.