2017-09-04 10 views
0

J'ai un fichier .vtu représentant un maillage que j'ai lu via vtkXMLUnstructuredGridReader. Ensuite, je crée un tableau numpy (nbOfPoints x 3) dans lequel je stocke les coordonnées du vertex mesh, que j'appellerai meshArray. J'ai aussi un tableau de colonnes (nOfPoints x 1), que j'appellerai brightnessArray, qui représente une certaine propriété que je veux assigner aux vertex du meshArray; donc à chaque sommet correspond une valeur scalaire. Par exemple: à l'élément meshArray [0] correspondra brightnessArray [0] et ainsi de suite. Comment puis-je faire cela?Ajouter une propriété personnalisée à vtkXMLUnstructuredGrid en utilisant python

Il est alors possible d'interpoler la valeur aux sommets du maillage pour obtenir une variation douce de la propriété que j'avais paramétrée pour la visualiser en paraview?

Merci. Simon

+0

Votre question n'est pas claire. Pouvez-vous préciser quelles sont vos entrées et quelle sortie est souhaitée. –

+0

Mes entrées sont le maillage vtu et un tableau. Le maillage a un certain nombre de noeuds (nbOfPoints) et le tableau a la même longueur. Le maillage est un XMLUnstructuredGrid. Chaque noeud peut contenir des informations sur une certaine propriété. Par exemple, un champ de vitesse pourrait être représenté par des valeurs scalaires assignées aux nœuds de maillage. La sortie désirée est un nouveau maillage, avec les mêmes points que l'original, auquel les valeurs du tableau ont été assignées. En d'autres termes, je veux assigner arbitrairement un nouveau champ scalaire au maillage. C'est compliqué à expliquer, désolé. J'espère que j'étais plus clair cette fois. Merci. – semions

+0

beaucoup plus clair. Cela devrait être possible avec un filtre programmable python. Où est stocké le tableau? –

Répondre

0

Voici ce que vous devez faire:

  1. Ecrire une source programmable Python pour lire vos données numpy comme vtkUnstructuredGrid. Voici quelques exemples de sources programmables: https://www.paraview.org/Wiki/ParaView/Simple_ParaView_3_Python_Filters https://www.paraview.org/Wiki/Python_Programmable_Filter

  2. lire votre jeu de données .vtu

  3. Utilisez un filtre "Ressample avec Dataset" sur votre python sortie source programmable et sélectionnez votre ensemble de données comme « source "

Et vous avez terminé.

La partie la plus difficile est l'écriture du script source programmble.