Informado por Maik Beckmann:
Este codigo
de entusiasta.mayavi import mlab pts = mlab.points3d ([0,1], [0,1], [0,1]) pts.mlab_source.set (x = [0,2])
funciona, pero da
ERROR: En /build/src/VTK/Filtering/vtkExecutive.cxx, línea 756 vtkStreamingDemandDrivenPipeline (0x59b4900): Algoritmo vtkAssignAttribute (0x59bd8a0) devolvió un error para la solicitud: vtkInformation (0x5ad6c60) Depurar: desactivado Hora de modificación: 818743 Recuento de referencias: 1 Eventos registrados: (ninguno) Solicitud: REQUEST_DATA_OBJECT ALGORITHM_AFTER_FORWARD:
donde este es el código emisor en vtkExecutive.cxx en
vtkExecutive :: CallAlgorithm (...)
... // Si el algoritmo falló, infórmelo ahora. si (! resultado) { vtkErrorMacro ("Algoritmo" << esto-> Algoritmo-> GetClassName () << "(" << esto-> Algoritmo << ") devolvió un error para la solicitud:" << * solicitud); } ...
Aunque vtk lo informa como un error, no parece romper nada.
Me encantaría tener una solución o solución para esto. Estoy usando mayavi en una demostración próxima y los mensajes de error son un gran detractor de la belleza de la demostración.
También estoy buscando una solución o solución para esto.
Exactamente el mismo problema, ¿alguien ha encontrado una solución?
Exactamente el mismo problema, ¿alguien ha encontrado una solución?
El código de canalización en Mayavi debe reescribirse para usar el nuevo VTK
diseño de tuberías. Sospecho que hay algunos días de trabajo, tal vez una semana.
Dada la carga de trabajo de Prabhu y la mía, es un poco difícil encontrar ese tiempo.
Por eso no pasa nada.
+1 para solucionar este problema.
Solución temporal: redirija los mensajes de error a un archivo de registro:
import vtk
output=vtk.vtkFileOutputWindow()
output.SetFileName("log.txt")
vtk.vtkOutputWindow().SetInstance(output)
Confirmado con Mayavi actual.
@GaelVaroquaux , @prabhuramachandran : ¿alguno de ustedes podría proporcionar una breve explicación de la causa subyacente? Estoy un poco perdido en los detalles de VTK.
+1 para una solución
+1 para una solución
+1 para una solución
Aun presente.
Aun presente. +1 para una solución.
Probé algunas cosas y encontré otra solución.
Esto imprimirá los mensajes de error:
plt = mlab.points3d(x, y, z)
Pero si establece el cuarto parámetro ("escalares"), los mensajes de error desaparecen.
Esto funciona bien para mi:
plt = mlab.points3d(x, y, z, np.ones_like(x))
El tamaño de los glifos se puede ajustar utilizando las palabras clave 'scale_mode' y 'scale_factor'.
Estoy de acuerdo con la solución de solarjoe. Puede que haya algún problema con los escalares automáticos.
Comentario más útil
Probé algunas cosas y encontré otra solución.
Esto imprimirá los mensajes de error:
plt = mlab.points3d(x, y, z)
Pero si establece el cuarto parámetro ("escalares"), los mensajes de error desaparecen.
Esto funciona bien para mi:
plt = mlab.points3d(x, y, z, np.ones_like(x))
El tamaño de los glifos se puede ajustar utilizando las palabras clave 'scale_mode' y 'scale_factor'.