Mayavi: Avertissements VTK lors de la modification du pipeline

Créé le 17 avr. 2011  ·  13Commentaires  ·  Source: enthought/mayavi

Rapporté par Maik Beckmann :

Ce code

 depuis enthought.mayavi importer mlab

 pts = mlab.points3d([0,1], [0,1], [0,1])
 pts.mlab_source.set(x=[0,2])

fonctionne, mais donne

 ERREUR : dans /build/src/VTK/Filtering/vtkExecutive.cxx, ligne 756
 vtkStreamingDemandDrivenPipeline (0x59b4900) : algorithme
 vtkAssignAttribute (0x59bd8a0) a renvoyé un échec pour la demande :
 vtkInformation (0x5ad6c60)
 Débogage : désactivé
 Heure modifiée : 818743
 Nombre de références : 1
 Événements enregistrés : (aucun)
 Demande : REQUEST_DATA_OBJECT
 ALGORITHM_AFTER_FORWARD :

où c'est le code émetteur dans vtkExecutive.cxx dans
vtkExecutive::CallAlgorithm(...)

 ...
 // Si l'algorithme a échoué, signalez-le maintenant.
 si(!résultat)
 {
 vtkErrorMacro("Algorithm " << this->Algorithm->GetClassName()
 << "(" << this->Algorithme
 << ") a renvoyé un échec pour la demande : "
 << *demande);
 }
 ...

Bien qu'il soit signalé comme une erreur par vtk, il ne semble rien casser.

bug

Commentaire le plus utile

J'ai essayé plusieurs choses et j'ai trouvé une autre solution de contournement.

Cela imprimera les messages d'erreur :
plt = mlab.points3d(x, y, z)

Mais si vous définissez le quatrième paramètre ("scalaires"), les messages d'erreur disparaissent.
Cela fonctionne bien pour moi:
plt = mlab.points3d(x, y, z, np.ones_like(x))

La taille des glyphes peut être ajustée en utilisant les mots-clés 'scale_mode' et 'scale_factor'.

Tous les 13 commentaires

J'aimerais avoir un correctif ou une solution de contournement pour cela. J'utilise mayavi dans une démo à venir et les messages d'erreur sont un gros détracteur de la beauté de la démo.

Je suis également à la recherche d'une solution ou d'une solution de contournement pour cela.

Exactement le même problème, quelqu'un a-t-il trouvé une solution ?

Exactement le même problème, quelqu'un a-t-il trouvé une solution ?

Le code du pipeline dans Mayavi doit être réécrit pour utiliser le nouveau VTK
conception de canalisations. Je soupçonne qu'il y a quelques jours de travail, peut-être une semaine.
Compte tenu de la charge de travail de Prabhu et de la mienne, il est un peu difficile de trouver ce temps.
C'est pourquoi rien ne se passe.

+1 pour un correctif pour ce problème.

Solution temporaire, redirigez les messages d'erreur vers un fichier journal :

import vtk
output=vtk.vtkFileOutputWindow()
output.SetFileName("log.txt")
vtk.vtkOutputWindow().SetInstance(output)

Confirmé avec Mayavi actuel.

@GaelVaroquaux , @prabhuramachandran : l'un de vous pourrait-il fournir une brève explication de la cause sous-jacente ? Je suis un peu perdu dans les détails de VTK.

+1 pour un correctif

+1 pour un correctif

+1 pour un correctif

Toujours présent.

Toujours présent. +1 pour un correctif.

J'ai essayé plusieurs choses et j'ai trouvé une autre solution de contournement.

Cela imprimera les messages d'erreur :
plt = mlab.points3d(x, y, z)

Mais si vous définissez le quatrième paramètre ("scalaires"), les messages d'erreur disparaissent.
Cela fonctionne bien pour moi:
plt = mlab.points3d(x, y, z, np.ones_like(x))

La taille des glyphes peut être ajustée en utilisant les mots-clés 'scale_mode' et 'scale_factor'.

Je suis d'accord avec la solution de solarjoe. Il y a peut-être un problème avec les scalaires automatiques.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

jan-janssen picture jan-janssen  ·  21Commentaires

indranilsinharoy picture indranilsinharoy  ·  9Commentaires

thoth291 picture thoth291  ·  10Commentaires

rambalachandran picture rambalachandran  ·  9Commentaires

rahulporuri picture rahulporuri  ·  3Commentaires