IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Numpy Array vers fichier.VTK


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Points : 19
    Points
    19
    Par défaut Numpy Array vers fichier.VTK
    Bonjour,

    j'ai cherché un bon moment sur internet sans pouvoir trouver de solution.

    Voici mon problème. Avec Numpy je crée une matrice qu'on appellera M

    avec

    from vtk.util import numpy_support
    vtkarray = numpy_support.numpy_to_vtk(M)

    je passe ma matrice en Vtk Array (pas de problème et pas de message d'erreur)

    print vtkArray me donne les bonnes informations.

    J'aimerai exporter vtkarray dans un fichier vtk.

    Les commandes VtkArrayDataWriter ou vtkarray.tofile ne sont pas reconnues.

    Comment faire pour sauver mon vtkarray dans un fichier *.vtk ?

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    En bidouillant un exemple sur internet, j'ai trouvé un truc qui marche, voici la démarche :

    installer evtk à partir de ce lien evtk.zip

    De préférence :
    • python 2.6 ou + (pas testé sur python 3)
    • numpy 1.5 ou +
    • cython
    • pyvtk ? (dans le doute)
    • paraview ou mayavi (idem çà peut pas faire de mal)


    Le but sous python est de transformer une matrice 2D pouvant être interprétée comme une image, les indices représentant les pixels et la valeur aux indices une variable quelconque (dans mon cas une température issue d'un thermogramme)

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import numpy as np # Module mathématiques numpy
    from evtk.hl import imageToVTK # Module d'exportation VTK
     
    # création d'une matrice 2D type M[:,:] avec numpy
    nc = 320    # nombre de pixel suivant x
    nl = 256    # nombre de pixel suivant y
     
    # Reshape de la 2D en 3D (avec une seule dimension en Z)
    temp = M.reshape((1,nl,nc), order = 'C') 
     
    # Création du nom du fichier
    vtknomfic = "./image100" 		
    # Sauvegarde la vtk image pour Paraview (format *.vti)			
    imageToVTK(vtknomfic, cellData = {"temperature" : temp})

    Dans mon cas, comme je fais une acquisition en fonction du temps, j'ai une matrice principale 3D (chaque matrice 2D en fonction du temps), que je peux directement ouvrir ensuite dans paraview, outil formidable ayant un python shell très appréciable à la fois pour la visualisation et le traitement des données. Et en plus c'est gratuit

    Voilà, si quelqu'un à le même problème j'espère que cette astuce pourra lui servir !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 2.X] Extraire données numpy array vers une liste ?
    Par Ben20 dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 05/03/2015, 11h30
  2. SQL vers Fichier Texte
    Par annedjomo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/11/2005, 11h47
  3. [9.2] Champ long raw vers fichier
    Par Noun dans le forum Oracle
    Réponses: 4
    Dernier message: 23/11/2005, 16h57
  4. Export vers fichier text
    Par Aurèl90 dans le forum Access
    Réponses: 10
    Dernier message: 26/10/2005, 10h26
  5. [MSSqlServeur 2000] export vers fichier txt
    Par squal_13 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/11/2004, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo