Relatado por Maik Beckmann:
Este código
de enthought.mayavi import mlab pts = mlab.points3d ([0,1], [0,1], [0,1]) pts.mlab_source.set (x = [0,2])
funciona, mas dá
ERRO: Em /build/src/VTK/Filtering/vtkExecutive.cxx, linha 756 vtkStreamingDemandDrivenPipeline (0x59b4900): Algoritmo vtkAssignAttribute (0x59 relevanta0) retornou falha para a solicitação: vtkInformation (0x5ad6c60) Depurar: Desligado Hora da modificação: 818743 Contagem de referência: 1 Eventos registrados: (nenhum) Pedido: REQUEST_DATA_OBJECT ALGORITHM_AFTER_FORWARD:
onde este é o código de emissão em vtkExecutive.cxx em
vtkExecutive :: CallAlgorithm (...)
... // Se o algoritmo falhou, informe agora. if (! resultado) { vtkErrorMacro ("Algorithm" << this-> Algorithm-> GetClassName () << "(" << this-> Algoritmo << ") retornou falha para a solicitação:" << * pedido); } ...
Embora tenha sido relatado como um erro pelo vtk, ele não parece quebrar nada.
Eu adoraria ter uma solução ou uma solução alternativa para isso. Estou usando mayavi em uma demonstração que está chegando e as mensagens de erro são um grande detrator da beleza da demonstração.
Também estou procurando uma solução ou solução alternativa para isso.
Exatamente o mesmo problema, alguém encontrou uma solução alternativa?
Exatamente o mesmo problema, alguém encontrou uma solução alternativa?
O código do pipeline em Mayavi precisa ser reescrito para usar o novo VTK
projeto de pipeline. Suspeito que haja alguns dias de trabalho, talvez uma semana.
Dada a carga de trabalho de Prabhu e a minha, é um pouco difícil encontrar esse tempo.
É por isso que nada está acontecendo.
1 para uma correção para este problema.
Solução temporária, redirecione as mensagens de erro para um arquivo de log:
import vtk
output=vtk.vtkFileOutputWindow()
output.SetFileName("log.txt")
vtk.vtkOutputWindow().SetInstance(output)
Confirmado com Mayavi atual.
@GaelVaroquaux , @prabhuramachandran :
1 para uma correção
1 para uma correção
1 para uma correção
Ainda está presente.
Ainda está presente. 1 para uma correção.
Tentei algumas coisas e encontrei outra solução alternativa.
Isso imprimirá as mensagens de erro:
plt = mlab.points3d(x, y, z)
Mas se você definir o quarto parâmetro ("escalares"), as mensagens de erro desaparecerão.
Este trabalho é bom para mim:
plt = mlab.points3d(x, y, z, np.ones_like(x))
O tamanho dos glifos pode ser ajustado usando as palavras-chave 'modo_escala' e 'fator_escala'.
Eu concordo com a solução da solarjoe. Pode haver algo errado com os escalares automáticos.
Comentários muito úteis
Tentei algumas coisas e encontrei outra solução alternativa.
Isso imprimirá as mensagens de erro:
plt = mlab.points3d(x, y, z)
Mas se você definir o quarto parâmetro ("escalares"), as mensagens de erro desaparecerão.
Este trabalho é bom para mim:
plt = mlab.points3d(x, y, z, np.ones_like(x))
O tamanho dos glifos pode ser ajustado usando as palavras-chave 'modo_escala' e 'fator_escala'.