Сюжет Majavi не отвечает при использовании с базой данных mne
Я пытаюсь запустить сценарий с базой данных mne. В какой-то момент я пытаюсь нарисовать интерактивную фигуру с помощью Mayavi:
fig = mne.viz.plot_alignment(show_axes=True, dig='fiducials', surfaces='head', bem=sphere, info=info)
Окно сцены Mayavi появляется, но оно пустое и не отвечает. В Pycharm нет сопутствующего сообщения об ошибке. Когда я пытаюсь построить интерактивную фигуру из их базы данных, она работает нормально:
from mayavi import mlab
mlab.test_plot3d()
mlab.show()
Основываясь на других предложениях, я добавил следующие строки кода в начало скрипта:
matplotlib.use('qt5agg')
os.environ['ETS_TOOLKIT'] = 'qt'
os.environ['QT_API'] = 'pyqt5'
set_3d_backend('mayavi')
Я использую Pycharm 2020.2.1. Я использовал Anaconda3 для создания пакета с conda. Я использую Windows 10. Версия python - 3.6.7.
mne.sys_info() выводит следующее:
Platform: Windows-10-10.0.19041-SP0
Python: 3.6.7 |Anaconda, Inc.| (default, Oct 28 2018, 19:44:12) [MSC v.1915 64 bit (AMD64)]
Executable: C:\Users\ellis\Anaconda3\envs\pysurfer_conda\python.exe
CPU: Intel64 Family 6 Model 158 Stepping 10, GenuineIntel: 12 cores
Memory: 15.7 GB
mne: 0.21.0
numpy: 1.19.1 {blas=mkl_rt, lapack=mkl_rt}
scipy: 1.5.2
matplotlib: 3.3.1 {backend=Qt5Agg}
sklearn: 0.23.2
numba: 0.51.2
nibabel: 3.1.1
cupy: Not found
pandas: 1.1.3
dipy: 1.2.0
mayavi: 4.7.1
pyvista: 0.26.1 {pyvistaqt=0.2.0, OpenGL 4.5.0 - Build 27.20.100.8587 via Intel(R) UHD Graphics 630}
vtk: 8.2.0
PyQt5: 5.12.3
Возможно, стоит отметить: я также пробовал использовать Pyvista. Возникают похожие проблемы: отображается рисунок (и теперь я действительно вижу, что он рисует), но как только я нажимаю на рисунок, он не отвечает, а затем происходит сбой.
Кто-нибудь может мне с этим помочь?
############################################### ########################## РЕДАКТИРОВАТЬ:
Получил работать! Понятия не имею, почему это работает сейчас... но все равно
Я сейчас использую:
Platform: Windows-10-10.0.19041-SP0
Python: 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]
Executable: C:\Users\ellis\PycharmProjects\pythonProject1\venv\Scripts\python.exe
CPU: Intel64 Family 6 Model 158 Stepping 10, GenuineIntel: 12 cores
Memory: Unavailable (requires "psutil" package)
mne: 0.21.0
numpy: 1.19.2 {blas=D:\\a\\1\\s\\numpy\\build\\openblas_info, lapack=D:\\a\\1\\s\\numpy\\build\\openblas_lapack_info}
scipy: 1.5.2
matplotlib: 3.3.2 {backend=Qt5Agg}
Итак, заговор с Pyvista. Если я просто использую какие-либо функции mne.viz, я все равно получаю неотвечающий сюжет. Однако по какой-то причине, если я построю это заранее:
times = np.arange(0.1, 0.3, 0.01)
fig, anim = evoked.animate_topomap(
times=times, ch_type='eeg', frame_rate=2, time_unit='s', blit=False)
Тогда он работает нормально.. Так что да, странно, но у меня работает, может кому-то это пригодится:)