Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🔗 minimalist ipywidget to interface with any Python vtkRenderWindow

License

NotificationsYou must be signed in to change notification settings

Kitware/ipyvtklink

Repository files navigation

BinderPyPIconda

An ipywidget for vtkRenderWindow (formerlyipyvtk-simple)

This is an early prototype of creating a Jupyter interface to VTK. This toolkitis a proof of concept and a more polished tool will be available asipyvtk in the future.

The code here was implemented from the work done byAndras Lassounder an MIT License (seethe source).

The goal is to enable this widget to work with any server sidevtkRenderWindowThis render window could be fromVTK Python,ParaView, orPyVista.

Please note thatvtk is not listed as a requirement for this package tosimplify its installation in virtual environments where VTK may be built fromsource or bundled with ParaView and we do not want to install the wheels fromPyPI.

Installation

For use with PyVista, simply install withpip orconda:

pip install ipyvtklink

or

conda install -c conda-forge ipyvtklink

Run in Docker

A Docker image is prebuilt and hosted in the ipyvtklink repository's packages.

To run in Docker:

docker pull ghcr.io/kitware/ipyvtklink:latestdocker run -p 8888:8888 ghcr.io/kitware/ipyvtklink:latest

and open thevtk.ipynb notebook.

Additionally, this can be used with ParaView. An example is given inparaview.ipynb which can be run via:

docker pull ghcr.io/kitware/ipyvtklink-paraview:latestdocker run -p 8878:8878 ghcr.io/kitware/ipyvtklink-paraview:latest

Examples

You may have to build jupyter lab extensions for this to work in Lab. This isknown to work well in Notebook.

PyVista

PyVista has fully implemented downstream support foripyvtklink. SeePyVista's Documentation

See thepyvista.ipynb for an original proof of concept.

demo-1

demo-2

Python VTK

The widget here can be used with VTK. Here is a minimal example showing howto pass anyvtkRenderWindow to theViewInteractiveWidget:

importvtkfromipyvtklink.viewerimportViewInteractiveWidget# Create some datacylinder=vtk.vtkCylinderSource()cylinder.SetResolution(8)mapper=vtk.vtkPolyDataMapper()mapper.SetInputConnection(cylinder.GetOutputPort())actor=vtk.vtkActor()actor.SetMapper(mapper)# Set up render windowren=vtk.vtkRenderer()ren_win=vtk.vtkRenderWindow()ren_win.SetOffScreenRendering(1)ren_win.SetSize(600,600)ren_win.AddRenderer(ren)iren=vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(ren_win)style=vtk.vtkInteractorStyleTrackballCamera()iren.SetInteractorStyle(style)# Add actor to sceneren.AddActor(actor)ren.ResetCamera()# DisplayViewInteractiveWidget(ren_win)

demo-3

ParaView Python

See instructions above for running ParaView in a Docker container.

importparaview.simpleaspvsfromipyvtklink.viewerimportViewInteractiveWidget# Create data on the pipelinewavelet=pvs.Wavelet()contour=pvs.Contour(Input=wavelet)contour.ContourBy= ['POINTS','RTData']contour.Isosurfaces= [63,143,170,197,276]# Set the data as visiblepvs.Show(contour)# Fetch the view and render the sceneview=pvs.GetActiveView()pvs.Render(view)# Fetch the RenderWindowren_win=view.GetClientSideObject().GetRenderWindow()# Display the RenderWindow with the widgetViewInteractiveWidget(ren_win)

demo-4

About

🔗 minimalist ipywidget to interface with any Python vtkRenderWindow

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp