簡體   English   中英

使用 vtk python 顯示 3D 圖像

[英]Display a 3D image with vtk python

我想使用 vtk 模塊 python 顯示 3D 圖像。 圖像以.vti 格式保存。 我編寫了以下簡單代碼,但它無法正常工作。 我該如何解決?

import vtk

file_name = 'Vug.vti'

# Read the source file.
reader = vtk.vtkNrrdReader()
reader.SetFileName(file_name)
reader.Update()  

# Map the image through the lookup table
color = vtk.vtkImageMapToColors()
#color.SetLookupTable(table)
color.SetInputConnection(reader.GetOutputPort())

# Display the image
actor = vtk.vtkImageActor()
actor.GetMapper().SetInputConnection(color.GetOutputPort())

renderer = vtk.vtkRenderer()
renderer.AddActor(actor)

window = vtk.vtkRenderWindow()
window.AddRenderer(renderer)

# Set up the interaction
interactor = vtk.vtkRenderWindowInteractor()
window.SetInteractor(interactor)
window.Render()

# Start interaction
interactor.Start()

vtkImageActor 將圖像顯示為 2d object。 如果要渲染 3d 卷,則需要使用 vtkVolume object。

此示例顯示如何在 VTK 中進行體積渲染: https://github.com/Kitware/VTK/blob/master/Examples/VolumeRendering/Python/SimpleRayCast.py

使用vtkplotter這很簡單:

from vtkplotter import load, datadir, show
vol = load(datadir + 'vase.vti') # returns vtkVolume
# set color and trasparency transfer functions along the scalar range
vol.color(["green", "pink", "blue"]).alpha([0, 0, 0.2, 0.5, 0.9])
show(vol)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM