跳转到主要内容

ipywidget for vtkRenderWindow

项目描述

ipyvtk_simple

Binder PyPI

ipywidget for vtkRenderWindow

这是创建Jupyter界面到VTK的早期原型。此工具包是一个概念证明,未来将在 ipyvtk 中提供更完善的工具。

这里的代码是在MIT许可证下由 Andras Lasso 实现的(见 源代码)。

目标是使此小部件能够与任何服务器端 vtkRenderWindow 一起工作。此渲染窗口可以是来自 VTK PythonParaViewPyVista 的。

请注意,vtk 并未列为此包的需求,以简化其在可能从源代码构建或与ParaView捆绑的虚拟环境中安装的过程,我们不希望从PyPI安装轮子。

在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 中给出了一个示例,可以通过以下方式运行

docker build -t ipyvtk_pv -f paraview.dockerfile .
docker run -p 8877:8877 ipyvtk_pv jupyter lab --port=8877 --no-browser --ip=0.0.0.0 --allow-root

并打开 paraview.ipynb 笔记本。

示例

您可能需要构建jupyter lab扩展才能在Lab中工作。已知在Notebook中运行良好。

PyVista

PyVista 正在通过 一个拉取请求 实现这一功能。请参阅 pyvista.ipynb 以了解概念验证。

demo-1

demo-2

Python VTK

这里的组件可以与 VTK 一起使用。以下是一个最小示例,展示了如何将任何 vtkRenderWindow 传递给 ViewInteractiveWidget

import vtk
from ipyvtk_simple.viewer import ViewInteractiveWidget

# Create some data
cylinder = vtk.vtkCylinderSource()
cylinder.SetResolution(8)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(cylinder.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)

# Set up render window
ren = 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 scene
ren.AddActor(actor)
ren.ResetCamera()

# Display
ViewInteractiveWidget(ren_win)

demo-3

ParaView Python

有关在 Docker 容器中运行 ParaView 的说明,请参阅上面的说明。

import paraview.simple as pvs
from ipyvtk_simple.viewer import ViewInteractiveWidget

# Create data on the pipeline
wavelet = pvs.Wavelet()
contour = pvs.Contour(Input=wavelet)
contour.ContourBy = ['POINTS', 'RTData']
contour.Isosurfaces = [63, 143, 170, 197, 276]

# Set the data as visible
pvs.Show(contour)

# Fetch the view and render the scene
view = pvs.GetActiveView()
pvs.Render(view)

# Fetch the RenderWindow
ren_win = view.GetClientSideObject().GetRenderWindow()
# Display the RenderWindow with the widget
ViewInteractiveWidget(ren_win)

demo-4

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定该选择哪个,请了解有关 安装包 的更多信息。

源分布

ipyvtk_simple-0.1.4.tar.gz (9.7 kB 查看哈希值)

上传时间

构建分布

ipyvtk_simple-0.1.4-py3-none-any.whl (9.3 kB 查看哈希值)

上传时间 Python 3

由以下提供支持