栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用python读取vti文件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用python读取vti文件

使用python读取vti文件 读取vti文件信息
import vtk

reader = vtk.vtkXMLImageDataReader()
reader.SetFileName("junyunjiezhi1.vti")
reader.Update()
image = reader.GetOutput()
print(image)

返回结果示例:

vtkImageData (000001F02779FD80)
  Debug: Off
  Modified Time: 314
  Reference Count: 2
  Registered Events: (none)
  Information: 000001F02A56DF10
  Data Released: False
  Global Release Data: Off
  UpdateTime: 315
  Field Data:
    Debug: Off
    Modified Time: 261
    Reference Count: 1
    Registered Events: (none)
    Number Of Arrays: 0
    Number Of Components: 0
    Number Of Tuples: 0
  Number Of Points: 1003002
  Number Of Cells: 500000
  Cell Data:
    Debug: Off
    Modified Time: 300
    Reference Count: 1
    Registered Events: 
      Registered Observers:
        vtkObserver (000001F02A521990)
          Event: 33
          EventName: ModifiedEvent
          Command: 000001F02A56DD30
          Priority: 0
          Tag: 1
    Number Of Arrays: 3
    Array 0 name = Material
    Array 1 name = Sources_PML
    Array 2 name = Receivers
    Number Of Components: 3
    Number Of Tuples: 500000
    Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 1 1 1 )
    Interpolate Flags: ( 1 1 1 1 1 0 0 1 1 1 1 )
    Pass Through Flags: ( 1 1 1 1 1 1 1 1 1 1 1 )
    Scalars: 
      Debug: Off
      Modified Time: 292
      Reference Count: 1
      Registered Events: (none)
      Name: Material
      Data type: unsigned int
      Size: 500000
      MaxId: 499999
      NumberOfComponents: 1
      Information: 0000000000000000
      Name: Material
      Number Of Components: 1
      Number Of Tuples: 500000
      Size: 500000
      MaxId: 499999
      LookupTable: (none)
    Vectors: (none)
    Normals: (none)
    TCoords: (none)
    Tensors: (none)
    GlobalIds: (none)
    PedigreeIds: (none)
    EdgeFlag: (none)
    Tangents: (none)
    RationalWeights: (none)
    HigherOrderDegrees: (none)
  Point Data:
    Debug: Off
    Modified Time: 271
    Reference Count: 1
    Registered Events: 
      Registered Observers:
        vtkObserver (000001F02A521360)
          Event: 33
          EventName: ModifiedEvent
          Command: 000001F02A56DD30
          Priority: 0
          Tag: 1
    Number Of Arrays: 0
    Number Of Components: 0
    Number Of Tuples: 0
    Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 1 1 1 )
    Interpolate Flags: ( 1 1 1 1 1 0 0 1 1 1 1 )
    Pass Through Flags: ( 1 1 1 1 1 1 1 1 1 1 1 )
    Scalars: (none)
    Vectors: (none)
    Normals: (none)
    TCoords: (none)
    Tensors: (none)
    GlobalIds: (none)
    PedigreeIds: (none)
    EdgeFlag: (none)
    Tangents: (none)
    RationalWeights: (none)
    HigherOrderDegrees: (none)
  Bounds: 
    Xmin,Xmax: (0, 2)
    Ymin,Ymax: (0, 1)
    Zmin,Zmax: (0, 0.002)
  Compute Time: 328
  Spacing: (0.002, 0.002, 0.002)
  Origin: (0, 0, 0)
  Direction: (1, 0, 0, 0, 1, 0, 0, 0, 1)
  Dimensions: (1001, 501, 2)
  Increments: (0, 0, 0)
  Extent: (0, 1000, 0, 500, 0, 1)

Process finished with exit code 0
显示vti图片
import vtkmodules.all as vtk


def get_program_parameters():
    import argparse
    description = 'Read a VTK image data file.'
    epilogue = ''''''
    parser = argparse.ArgumentParser(description=description, epilog=epilogue,
                                     formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument('--filename', help='junyunjiezhi1.vti')#注意这里filename前面两个-,之前我找到的代码没有这个-,会报错,根据其他关于parser报错的文章改的,可以正常运行了,但我并不知道原理
    args = parser.parse_args()
    return args.filename


def main():
    colors = vtk.vtkNamedColors()

    file_name = get_program_parameters()

    # Read the source file.
    reader = vtk.vtkXMLImageDataReader()
    reader.SetFileName(filename)#这里的filename替换成你要读取的文件名,如reader.SetFileName("test.vti")

    # Create the mapper that creates graphics elements
    mapper = vtk.vtkDataSetMapper()
    mapper.SetInputConnection(reader.GetOutputPort())

    # Create the Actor
    actor = vtk.vtkActor()
    actor.SetMapper(mapper)
    # show the edges of the image grid
    actor.GetProperty().SetRepresentationToWireframe()

    # Create the Renderer
    renderer = vtk.vtkRenderer()
    renderer.AddActor(actor)
    renderer.ResetCamera()
    renderer.SetBackground(colors.GetColor3d('Silver'))

    # Create the RendererWindow
    renderer_window = vtk.vtkRenderWindow()
    renderer_window.AddRenderer(renderer)
    renderer_window.SetWindowName('ReadImageData')

    # Create the RendererWindowInteractor and display the vti file
    interactor = vtk.vtkRenderWindowInteractor()
    interactor.SetRenderWindow(renderer_window)
    interactor.Initialize()
    interactor.Start()


if __name__ == '__main__':
    main()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286403.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号