Hi All,
I am trying to run the following example (K3D-jupyter/volume_renderer.ipynb at 3fef1ea419a84a51c8aed56cb285b9fcf0a18c9a · K3D-tools/K3D-jupyter · GitHub) in jupyter notebook.
import k3d
import math
import numpy as np
import nibabel as nib
from k3d.helpers import download
import ipywidgets as widgets
import vtk
from vtkmodules.util import numpy_support
basic_color_maps = [(attr, getattr(k3d.basic_color_maps, attr)) for attr in dir(k3d.basic_color_maps) if
not attr.startswith('__')]
paraview_color_maps = [(attr, getattr(k3d.paraview_color_maps, attr)) for attr in dir(k3d.paraview_color_maps) if
not attr.startswith('__')]
matplotlib_color_maps = [(attr, getattr(k3d.matplotlib_color_maps, attr)) for attr in dir(k3d.matplotlib_color_maps)
if not attr.startswith('__')]
colormaps = basic_color_maps + paraview_color_maps + matplotlib_color_maps
filename = download('https://vedo.embl.es/examples/data/embryo.slc')
reader = vtk.vtkSLCReader()
reader.SetFileName(filename)
reader.Update()
vti = reader.GetOutput()
bounds = vti.GetBounds()
x, y, z = vti.GetDimensions()
img = numpy_support.vtk_to_numpy(vti.GetPointData().GetArray(0)).reshape(-1, y, x)
tf_editor = k3d.transfer_function_editor()
volume = k3d.volume(img.astype(np.float16))
@widgets.interact(x=widgets.Dropdown(options=colormaps, description='ColorMap:'))
def g(x):
tf_editor.color_map = np.array(x, dtype=np.float32)
plot = k3d.plot()
plot += volume
tf_editor.display()
plot.display()
a = widgets.jslink((tf_editor, 'color_map'), (volume, 'color_map'))
a = widgets.jslink((tf_editor, 'opacity_function'), (volume, 'opacity_function'))
and I get the following error
ImportError Traceback (most recent call last)
~\anaconda3\lib\site-packages\vtkmodules\vtkIOImage.py in <module>
4 # use relative import for installed modules
----> 5 from .vtkIOImagePython import *
6 except ImportError:
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-5-b5758b6de607> in <module>
5 from k3d.helpers import download
6 import ipywidgets as widgets
----> 7 import vtk
8 from vtkmodules.util import numpy_support
9 basic_color_maps = [(attr, getattr(k3d.basic_color_maps, attr)) for attr in dir(k3d.basic_color_maps) if
~\anaconda3\lib\site-packages\vtk.py in <module>
30 all_spec = importlib.util.find_spec('vtkmodules.all')
31 all_m = importlib.util.module_from_spec(all_spec)
---> 32 all_spec.loader.exec_module(all_m)
33
34 # import vtkmodules
~\anaconda3\lib\site-packages\vtkmodules\all.py in <module>
54 from .vtkFiltersTopology import *
55 from .vtkFiltersVerdict import *
---> 56 from .vtkIOImage import *
57 from .vtkImagingHybrid import *
58 from .vtkInfovisLayout import *
~\anaconda3\lib\site-packages\vtkmodules\vtkIOImage.py in <module>
7 # during build and testing, the modules will be elsewhere,
8 # e.g. in lib directory or Release/Debug config directories
----> 9 from vtkIOImagePython import *
ModuleNotFoundError: No module named 'vtkIOImagePython'
I checked the files available in vtkmodules folder in the anaconda environment
and I could only find the vtkIOImagePython.pyd
file and not vtkIOImagePython.py
.
I’m using Windows.
I am not sure how to solve this error. Suggestions will be really helpful.
I also checked this post VTK Module Import Error | Anaconda Windows 10 - ✉️ Mailing List Archive (read-only) - MNE Forum. But it’s not clear to me how the module import error can be fixed.
Thanks a lot for your time and kind attention.