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()