vtkRenderWindow的ipywidget

ipyvtk-simple的Python项目详细描述


ipyvtk_简单

BinderPyPI

vtkRenderWindow

这是创建到VTK的Jupyter接口的早期原型。这个工具箱 是一个概念的证明和一个更抛光的工具将作为 ^{}将来。在

这里的代码是根据Andras Lasso完成的工作实现的 在麻省理工学院的许可证下(见the source)。在

目标是使这个小部件能够与任何服务器端一起工作 ^{} 此呈现窗口可以来自VTK PythonParaView,或{a9}。在

请注意,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可以通过以下方式运行:

^{pr2}$

打开paraview.ipynb笔记本。在

示例

您可能需要构建jupyter实验室扩展才能在实验室中工作 在笔记本电脑上工作出色。在

PyVista

PyVista正在努力在a pull request中实现这一点。 {cd4}概念的证明。在

demo-1

demo-2

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)

demo-3

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)

demo-4

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从WSDL创建请求-响应XML   java在清单文件中使用外部BundleLocalization路径   在producerconsumer场景中,java LinkedBlockingQueue与多个生产者的线程安全性   调用对话框时java Android应用程序崩溃   使用java在mac上控制macos麦克风的声级   java如何在多个活动中使用ViewModel和LiveData观察者?   Java使用XPath拆分XML,但带有其父标记   java SAXParser“&”连接问题   java安装leiningen   java在主程序中调用方法   java流字节数组到Google应用程序引擎servlet   spring是否有一种工具或方法可以基于POST JSON数据在Java的controller中自动生成所有GET-fetch请求API端点   未映射java Mybatis继承的属性   java如何根据URL前缀以不同的方式验证shiro   java使用Selenium从弹出窗口中提取文本