Vapor supports rendering 2D and 3D numpy data.
In order to pass Numpy data to Vapor, create a data set of the type vapor.dataset.PYTHON
This can also be done with the convenience function Session.CreatePythonDataset().
You can add numpy arrays as variables to that dataset by using Dataset.AddNumpyData.
These variables can then be rendered normally using any of Vapor’s renderers.
import example_utils
from vapor import session, renderer, dataset, camera
import numpy as np
ses = session.Session()
data = ses.CreatePythonDataset()---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[1], line 1
----> 1 import example_utils
2 from vapor import session, renderer, dataset, camera
3 import numpy as np
File ~/work/vapor-python-cookbook/vapor-python-cookbook/notebooks/example_utils.py:20
16 sys.path.append('..')
19 from inspect import signature
---> 20 import numpy as np
21 from math import sin
23 def SampleFunctionOnRegularGrid(f, ext=None, shape=None):
ModuleNotFoundError: No module named 'numpy'
# Create a 2D numpy array and add it to vapor's dataset
np_array = np.arange(64**2).reshape((64,64))
data.AddNumpyData("variable_name", np_array)
print(np_array)
# Create a renderer for the data
ren = data.NewRenderer(renderer.WireFrameRenderer)
ren.SetVariableName("variable_name")
# Show the rendering
ses.GetCamera().ViewAll()
ses.Show()