Bericht von Maik Beckmann:
Dieser Code
von enthought.mayavi import mlab pts = mlab.points3d([0,1], [0,1], [0,1]) pts.mlab_source.set(x=[0,2])
funktioniert, aber gibt
FEHLER: In /build/src/VTK/Filtering/vtkExecutive.cxx, Zeile 756 vtkStreamingDemandDrivenPipeline (0x59b4900): Algorithmus vtkAssignAttribute(0x59bd8a0) hat einen Fehler für die Anfrage zurückgegeben: vtkInformation (0x5ad6c60) Debuggen: Aus Geänderte Zeit: 818743 Referenzanzahl: 1 Registrierte Veranstaltungen: (keine) Anfrage: REQUEST_DATA_OBJECT ALGORITHMUS_AFTER_FORWARD:
wobei dies der emittierende Code in vtkExecutive.cxx in . ist
vtkExecutive::CallAlgorithm(...)
... // Wenn der Algorithmus fehlgeschlagen ist, jetzt melden. wenn(!Ergebnis) { vtkErrorMacro("Algorithmus " << this->Algorithmus->GetClassName() << "(" << this->Algorithmus << ") hat einen Fehler für die Anfrage zurückgegeben: " << *Anfrage); } ...
Obwohl es von vtk als Fehler gemeldet wird, scheint es nichts zu beschädigen.
Ich hätte gerne einen Fix oder Workaround dafür. Ich verwende Mayavi in einer bevorstehenden Demo und die Fehlermeldungen sind ein großer Nachteil für die Schönheit der Demo.
Ich suche auch nach einer Lösung oder einem Workaround dafür.
Genau das gleiche Problem, hat jemand einen Workaround gefunden?
Genau das gleiche Problem, hat jemand einen Workaround gefunden?
Der Pipeline-Code in Mayavi muss umgeschrieben werden, um das neue VTK zu verwenden
Rohrleitungsdesign. Ich vermute, dass es ein paar Tage Arbeit gibt, vielleicht eine Woche.
Angesichts der Arbeitsbelastung von Prabhu und meiner ist es ein bisschen schwierig, diese Zeit zu finden.
Deshalb passiert nichts.
+1 für eine Lösung für dieses Problem.
Temporäre Problemumgehung, Fehlermeldungen in eine Protokolldatei umleiten:
import vtk
output=vtk.vtkFileOutputWindow()
output.SetFileName("log.txt")
vtk.vtkOutputWindow().SetInstance(output)
Bestätigt mit aktuellen Mayavi.
@GaelVaroquaux , @prabhuramachandran :
+1 für eine Lösung
+1 für eine Lösung
+1 für eine Lösung
Immer noch präsent.
Immer noch präsent. +1 für eine Lösung.
Ich habe ein paar Dinge ausprobiert und einen anderen Workaround gefunden.
Dadurch werden die Fehlermeldungen gedruckt:
plt = mlab.points3d(x, y, z)
Aber wenn Sie den vierten Parameter ("Skalare") setzen, sind die Fehlermeldungen weg.
Das funktioniert bei mir gut:
plt = mlab.points3d(x, y, z, np.ones_like(x))
Die Größe der Glyphen kann mit den Schlüsselwörtern 'scale_mode' und 'scale_factor' angepasst werden.
Ich stimme der Lösung von Solarjoe zu. Möglicherweise stimmt etwas mit den automatischen Skalaren nicht.
Hilfreichster Kommentar
Ich habe ein paar Dinge ausprobiert und einen anderen Workaround gefunden.
Dadurch werden die Fehlermeldungen gedruckt:
plt = mlab.points3d(x, y, z)
Aber wenn Sie den vierten Parameter ("Skalare") setzen, sind die Fehlermeldungen weg.
Das funktioniert bei mir gut:
plt = mlab.points3d(x, y, z, np.ones_like(x))
Die Größe der Glyphen kann mit den Schlüsselwörtern 'scale_mode' und 'scale_factor' angepasst werden.