首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在VTK管道(Python)中使用VTK_array?

如何在VTK管道(Python)中使用VTK_array?
EN

Stack Overflow用户
提问于 2021-11-04 11:00:10
回答 1查看 194关注 0票数 0

我是vtk的新手,正在尝试用DICOM文件进行体绘制。

当我尝试使用以下代码使用VTK读取DICOM文件时:

代码语言:javascript
复制
import vtk
reader = vtk.vtkDICOMImageReader()
reader.SetDirectoryName(r"C:\Users\I_0001")
reader.Update()

我得到以下错误:

代码语言:javascript
复制
ERROR: In ..\IO\Image\vtkDICOMImageReader.cxx, line 143
vtkDICOMImageReader (000001DC61D2FED0): Couldn't open C:\Users\I_0001

ERROR: In ..\IO\Image\vtkDICOMImageReader.cxx, line 237
vtkDICOMImageReader (000001DC61D2FED0): Either a filename was not specified or the specified directory does not contain any DICOM images.

ERROR: In ..\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000001DC5C4A0A90): Algorithm vtkDICOMImageReader(000001DC61D2FED0) returned failure for request: vtkInformation (000001DC5F8E72A0)
  Debug: Off
  Modified Time: 207
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0

我知道当我尝试用pydicom读取文件时,文件没有损坏,因为它可以工作。我尝试将pydicom文件读入numpy数组,然后使用numpy_support.numpy_to_vtk转换为vtk数组。但是,我不知道如何将这些图像插入使用reader.GetOutputPort()启动管道的vtk管道中。有人能帮我把我的DICOM文件映像(即VTK数组)插入VTK管道吗?

这是我目前的代码:

代码语言:javascript
复制
# reading the data and converting it to VTK array using numpy_support
fileVolume = r"C:\Users\I_0001"
dicomVolume = pydicom.read_file(fileVolume)
shape = dicomVolume.pixel_array.shape
VTK_data = numpy_support.numpy_to_vtk(num_array=dicomVolume.pixel_array.ravel(), deep=True, array_type=vtk.VTK_FLOAT)


#need to insert VTK data here instead of using the vtk DICOM Image Reader
# Create the reader for the data.
reader = vtk.vtkDICOMImageReader()
reader.SetDirectoryName(r"C:\Users\I_0001")
reader.Update()

mapper = vtk.vtkDataSetMapper()
mapper.SetInputData(reader.GetOutput())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-08 08:27:04

使用@Nico链接的VTKWithNumpy 示例,我能够将numpy数组转换为VTK图像对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69838170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档