Paraview Python Обратная операция для servermanager.Fetch ()?

Я использую Paraview с оболочкой Python и хочу изменить некоторые координаты. Рассматриваемые данные открываются с помощью ридера, новые координаты сохраняются так же, как txt. Я получаю сетку от считывателя с помощью подпрограммы Fetch(), а затем изменяю ее, но мой вопрос: могу ли я каким-то образом «вернуть» теперь измененную сетку объекту-читателю, а затем показать() ее?

Вот код, который использовался до сих пор:

from paraview import simple
from paraview.vtk import *
import numpy as np

reader=simple.LSDynaReader(FileName='/home/test.d3plot')
reader.UpdatePipeline()
simple.Show(reader)

coord=np.loadtxt('/home/coord.dat')

pts=vtkPoints()
arr=vtkFloatArray()
arr.SetNumberOfComponents(3)

arr.SetVoidArray(coord,14766*3,1)
ug=vtkUnstructuredGrid()

#the data to be modified is a vtkUnstrucuredGrid in a vtkMultiBlockDataset
ug.ShallowCopy(simple.servermanager.Fetch(reader).GetBlock(84))
pts.SetData(arr)
ug.SetPoints(pts)

Как я могу сделать изменения видимыми сейчас? Любая помощь будет оценена по достоинству!


person lu_siyah    schedule 09.12.2013    source источник


Ответы (2)


ParaView не предназначен для этого и, следовательно, не предоставляет механизмов для этого. Если вы хотите преобразовать данные в Python, рассмотрите использование программируемого фильтра (http://www.paraview.org/Wiki/Python_Programmable_Filter).

person Utkarsh    schedule 10.12.2013
comment
Итак, чтобы понять это правильно - невозможно получить доступ к этим прекрасным механизмам программируемого фильтра через внешний скрипт Python / PVPython? - person lu_siyah; 06.01.2014
comment
Нет, они есть, но вам придется создать программируемый фильтр в скрипте Python и передать ему другой скрипт, который сделает всю работу. - person Utkarsh; 08.01.2014

Я немного опоздал, но нашел этот вопрос, ища свой собственный Как добавить пользовательский массив в полиданные в paraview? . В итоге я экспортировал данные в формате csv с помощью numpy.savetxt и снова прочитал новый csv.

person lib    schedule 18.06.2014