Important
The Analysis and Diagnostic framework is in active development at the moment. For the foreseeable future, the API will be in continuous flux as functionality is added and modified. To follow the package development please visit our GitHub Project ( https://github.com/PlasmaPy/PlasmaPy/projects/19 ) and comment on any of the relevant issues and/or pull requests.
Analysis & Diagnostic Toolkits¶
Analyses and diagnostics go hand-in-hand, but have subtle differences. Thus,
PlasmaPy gives each their own sub-packages, plasmapy.analysis
and
plasmapy.diagnostics
respectively.
Think of the plasmapy.analysis
as your toolbox. It has all the tools
(functionality) you need to analyze your data. Functionality is built around
numpy arrays and each
function has a well-defined, focused task.
Diagnostics have a much broader scope and leverage the tools
defined in plasmapy.analysis
to give a more integrated user experience when
analyzing data. Diagnostics try to enhance the analysis workflow by focusing
on some of following key areas…
- A more human-friendly way of managing data by building an interface around
xarray
arrays and datasets via custom diagnostic accessors.xarray
provides labelled multi-dimensional arrays and datasets.- Diagnostics self-manage the computed analysis data within a
xarray
dataset while maintaining the computed data’s relation to the original data.
- Quick viewing of analyzed data with default plotting routines.
- Fully defining the physical parameters of a diagnostic with purposely
designed
Probe
classes that are integrated into the analysis workflow. - Adding graphical user interfaces (GUIs) to the analysis workflow via notebook widgets.