You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are attempting to create some visualization for some fnirs data and have found the existing visualizations functions to be insufficient for our needs. We, therefore, have been looking into creating some bespoke functions using the mne.viz.Brain class.
While doing this, we found that when setting the block param in the mne.viz.Brain constructor, subsequent calls to methods of the Brain class fail, specifically show_view.
### Link to data
n/a
### Expected results
Method calls to `Brain` objects created with the `block` param should not fail.
### Actual results
Method calls to `Brain` objects created with the `block` param fail. I expect that somewhere in this class that when `block` is set, once the window is closed, the renderer is cleaned up, so subsequent calls find that it is set to none. If we set the `show` param in the `Brain` constructor to False, then we again, don't receive this error.
### Additional information
Platform Linux-6.8.9-arch1-1-x86_64-with-glibc2.39
Python 3.11.8 | packaged by conda-forge | (main, Feb 16 2024, 20:53:32) [GCC 12.3.0]
Executable /home/alexk101/.mambaforge/envs/fnirs/bin/python
CPU (16 cores)
Memory 30.5 GB
Thinking about it, block=True shouldn't really be an argument to mne.viz.Brain at all. I can't imagine there is a wide use case for blocking the plot as soon as the Brain is created. +1 for deprecating the parameter for eventual removal.
Then we'd maybe want a way to block our 3D plots, like and equivalent of plt.show(block=True), but we can add that later if people really need it
Description of the problem
We are attempting to create some visualization for some fnirs data and have found the existing visualizations functions to be insufficient for our needs. We, therefore, have been looking into creating some bespoke functions using the
mne.viz.Brain
class.While doing this, we found that when setting the
block
param in themne.viz.Brain
constructor, subsequent calls to methods of the Brain class fail, specificallyshow_view
.Steps to reproduce
Platform Linux-6.8.9-arch1-1-x86_64-with-glibc2.39
Python 3.11.8 | packaged by conda-forge | (main, Feb 16 2024, 20:53:32) [GCC 12.3.0]
Executable /home/alexk101/.mambaforge/envs/fnirs/bin/python
CPU (16 cores)
Memory 30.5 GB
Core
├☑ mne 1.8.0.dev33+g1c5b39ff1d9 (devel, latest release is 1.7.0)
├☑ numpy 1.26.4 (OpenBLAS 0.3.26 with 16 threads)
├☑ scipy 1.12.0
└☑ matplotlib 3.8.3 (backend=QtAgg)
Numerical (optional)
├☑ sklearn 1.4.1.post1
├☑ numba 0.59.0
├☑ nibabel 5.2.1
├☑ nilearn 0.10.3
├☑ pandas 2.0.3
├☑ h5io 0.2.2
├☑ h5py 3.10.0
└☐ unavailable dipy, openmeeg, cupy
Visualization (optional)
├☑ pyvista 0.43.5 (OpenGL 4.5.0 NVIDIA 550.78 via NVIDIA GeForce RTX 3070 Ti Laptop GPU/PCIe/SSE2)
├☑ pyvistaqt 0.11.0
├☑ vtk 9.2.6
├☑ qtpy 2.4.1 (PyQt5=5.15.8)
└☐ unavailable ipympl, pyqtgraph, mne-qt-browser, ipywidgets, trame_client, trame_server, trame_vtk, trame_vuetify
Ecosystem (optional)
├☑ mne-nirs 0.7.0.dev0
└☐ unavailable mne-bids, mne-features, mne-connectivity, mne-icalabel, mne-bids-pipeline, neo, eeglabio, edfio, mffpy, pybv
The text was updated successfully, but these errors were encountered: