vtkRenderWindow的ipywidget
ipyvtk-simple的Python项目详细描述
ipyvtk_简单
vtkRenderWindow
这是创建到VTK的Jupyter接口的早期原型。这个工具箱
是一个概念的证明和一个更抛光的工具将作为
^{
这里的代码是根据Andras Lasso完成的工作实现的 在麻省理工学院的许可证下(见the source)。在
目标是使这个小部件能够与任何服务器端一起工作
^{
请注意,vtk
不是此软件包的一个要求
简化它在虚拟环境中的安装,在虚拟环境中可以构建VTK
源或与ParaView捆绑在一起,我们不想从
皮皮。在
运行Docker
在Docker中构建和运行:
docker build -t ipyvtk_simple .
docker run -p 8878:8878 ipyvtk_simple jupyter lab --port=8878 --no-browser --ip=0.0.0.0 --allow-root
打开pyvista.ipynb
笔记本。在
此外,这可以与ParaView一起使用。中给出了一个示例
paraview.ipynb
可以通过以下方式运行:
打开paraview.ipynb
笔记本。在
示例
您可能需要构建jupyter实验室扩展才能在实验室中工作 在笔记本电脑上工作出色。在
PyVista
PyVista正在努力在a pull request中实现这一点。 {cd4}概念的证明。在
Python VTK
这里的小部件可以与VTK一起使用。下面是一个最小的例子,展示了
要将任何vtkRenderWindow
传递给ViewInteractiveWidget
,请执行以下操作:
importvtkfromipyvtk_simple.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)
ParaView Python
请参阅上面关于在Docker容器中运行ParaView的说明。在
importparaview.simpleaspvsfromipyvtk_simple.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)
- 项目
标签: