Getting Started¶
The widgyts package is designed to work with yt, but it can also work without a yt import.
Components of widgyts¶
There are two different sets of widgets that widgyts has, that are for different purposes.
Note
We anticipate these will eventually be unified!
Dataset Summary Viewer¶
Widgyts has an “overview” module for viewing datasets, with a simple 3D grid
viewer built-in for AMR datasets. At present it has a few widgets that you can
generate, but only one (DatasetViewer
) is necessary, as the others are
implicitly set up.
The DatasetViewer
has a list of components
that are all displayed; this
automatically includes a viewer for the ds.parameters
object and a viewer
for the fields and some other metadata about the dataset. You can append any
ipywidgets
component to have it viewed inline, but we also anticipate this
being a place that additional widgets and functionality will be added to
widgyts.
Unlike the variable mesh viewer, the DatasetViewer
needs to be both
instantiated explicitly and the widget()
method called on it:
import yt
import widgyts
ds = yt.load_sample("IsolatedGalaxy")
dsv = widgyts.DatasetViewer(ds=ds)
dsv.widget()
The data displayed here should persist with a notebook save, and should even be visible on `nbviewer<https://nbviewer.jupyter.org>`_!
Viewing Particles¶
The dataset viewer has preliminary and basic support for viewing particles that have been (explicitly) added to it. At present, this only works with AMR datasets, but future improvements will enable this more broadly.
Particles have to be added explicitly, and their radius can be sized according to different fields.
Note
We anticipate that this admittedly clunky API will be improved in the future.
In a notebook, this will add the appropriate particles:
import widgyts
import yt
ds = yt.load_sample("IsolatedGalaxy")
v = widgyts.DatasetViewer(ds=ds)
sp = ds.sphere("c", 0.15)
v.components[0].add_particles(sp)
v.widget()
The command add_particles
accepts a data source as well as (optionally) a particle type and a field to map to the radius of the particles.
This enables, for instance, adding dark matter halos and the like.
Variable Mesh Viewer¶
The “pan and zoom” part of widgyts has three widgets that a user can interact
with: ImageCanvas
, FRBViewer
, and ColorMaps
. Each widget has a
number of traitlets that sync back to the javascript (and potentially
webassembly) that can be updated through the widget API. These traitlets can be
linked (see our Examples for some demonstrations of this in practice) so
that widget instances can update together.
API Documentation¶
Examples¶
The example notebooks illustrate different functionality of the widgyts package. Each is intended to show how widgyts can be used for your own workflow.
galaxy_display.ipynb
shows the monkeypatching feature between yt and widgyts to enable you to do interactive visualization directly on any yt dataset.FRBViewer_tutorial.ipynb
shows using the FRBViewer module of widgyts in conjunction with yt’s data manipulation features. It illustrates some traitlet manipulation in the Colormaps module as well as traitlet linking between views of different fields.datasetviewer_tutorial.ipynb
shows how to use the dataset viewer.
Links:
link to galaxy display notebook
link to FRBViewer tutorial notebook