둘 이상의 벡터 필드가있는 파이썬과 TVTK를 사용하여 VTK에 데이터 저장

StackOverflow https://stackoverflow.com//questions/20035620

  •  21-12-2019
  •  | 
  •  

문제

동일한 구조화 된 그리드 (속도, 난류 강도 및 속도 변동의 표준 편차)에 해당하는 3 세트의 벡터 수량을 저장하려고합니다.이상적으로, 나는 그들이 동일한 VTK 파일의 일부가되도록하고, 지금까지 나는 그 중 하나를 파일로 하나의 파일로 얻을 수있었습니다 :

sg = tvtk.StructuredGrid(dimensions=x.shape, points=pts)
sg.point_data.vectors = U
sg.point_data.vectors.name = 'U'
write_data(sg, 'vtktestWake.vtk')
.

하나의 벡터 또는 스칼라 필드를 더 추가하는 방법의 예를 보여주는 몇 시간을 지나서 몇 시간 동안 보냈지 만 실패했으나 내가 여기서 묻는 것 같아요.어떤지도가 가장 높이 평가 될 것입니다.

감사합니다

Artur

도움이 되었습니까?

해결책

몇 가지 파기 후에 나는 예제.add_array 메소드를 사용하여 추가 데이터 필드를 추가해야합니다.

from tvtk.api import tvtk, write_data
import numpy as np

data = np.random.random((3,3,3))
data2 = np.random.random((3,3,3))

i = tvtk.ImageData(spacing=(1, 1, 1), origin=(0, 0, 0))
i.point_data.scalars = data.ravel()
i.point_data.scalars.name = 'scalars'
i.dimensions = data.shape
# add second point data field
i.point_data.add_array(data2.ravel())
i.point_data.get_array(1).name = 'field2'
i.point_data.update()

write_data(i, 'vtktest.vtk')
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top