Mayavi: Предупреждения VTK при изменении трубопровода

Созданный на 17 апр. 2011  ·  13Комментарии  ·  Источник: enthought/mayavi

Об этом сообщает Майк Бекманн:

Этот код

 от enthought.mayavi import mlab

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

работает, но дает

 ОШИБКА: в /build/src/VTK/Filtering/vtkExecutive.cxx, строка 756
 vtkStreamingDemandDrivenPipeline (0x59b4900): алгоритм
 vtkAssignAttribute (0x59bd8a0) вернул ошибку для запроса:
 vtkInformation (0x5ad6c60)
 Отладка: выключена
 Время изменения: 818743
 Количество ссылок: 1
 Зарегистрированные события: (нет)
 Запрос: REQUEST_DATA_OBJECT
 ALGORITHM_AFTER_FORWARD:

где это испускающий код в vtkExecutive.cxx в
vtkExecutive :: CallAlgorithm (...)

 ...
 // Если алгоритм не сработал, сообщите об этом сейчас.
 если (! результат)
 {
 vtkErrorMacro ("Алгоритм" << this-> Algorithm-> GetClassName ()
 << "(" << this-> Алгоритм
 << ") вернул ошибку для запроса:"
 << * запрос);
 }
 ...

Хотя vtk сообщил об этом как об ошибке, похоже, что это ничего не сломает.

Самый полезный комментарий

Я попробовал несколько вещей и нашел другое решение.

Это напечатает сообщения об ошибках:
plt = mlab.points3d(x, y, z)

Но если вы установите четвертый параметр («скаляры»), сообщения об ошибках исчезнут.
Для меня это отлично работает:
plt = mlab.points3d(x, y, z, np.ones_like(x))

Размер глифов можно настроить с помощью ключевых слов scale_mode и scale_factor.

Все 13 Комментарий

Я бы хотел найти исправление или обходной путь для этого. Я использую Mayavi в приближающейся демоверсии, и сообщения об ошибках сильно умаляют красоту демо.

Я также ищу решение или обходной путь для этого.

Точно такая же проблема, кто-нибудь нашел обходной путь?

Точно такая же проблема, кто-нибудь нашел обходной путь?

Код конвейера в Mayavi необходимо переписать, чтобы использовать новый VTK.
проектирование трубопроводов. Подозреваю, что есть несколько дней работы, может быть, неделя.
Учитывая загруженность Прабху и моей, немного сложно найти это время.
Вот почему ничего не происходит.

+1 за исправление этой проблемы.

Временное решение, перенаправляйте сообщения об ошибках в файл журнала:

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

Подтверждено текущим Mayavi.

@GaelVaroquaux , @prabhuramachandran : не мог бы кто-

+1 за исправление

+1 за исправление

+1 за исправление

Все еще присутствует.

Все еще присутствует. +1 за исправление.

Я попробовал несколько вещей и нашел другое решение.

Это напечатает сообщения об ошибках:
plt = mlab.points3d(x, y, z)

Но если вы установите четвертый параметр («скаляры»), сообщения об ошибках исчезнут.
Для меня это отлично работает:
plt = mlab.points3d(x, y, z, np.ones_like(x))

Размер глифов можно настроить с помощью ключевых слов scale_mode и scale_factor.

Я согласен с решением solarjoe. Возможно, что-то не так с автоматическими скалярами.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги