Coregistration: Placing fiducials manually?

Hi,

I am just trying out the new MNE 1.0.3 (after previously using 0.23) on a Windows 10 computer, and found that it is no longer possible for me to place the fiducials by mouse click in the coregistration window.
Is this function no longer implemented, or am I dealing with a bug here?

And yes, I see that I can now easily edit the exact x,y,z, coordinates for the fiducials, which is nice, but it would be much nicer to have both that and the placing-by-click functionality.

Thanks,
Felix

Hello Felix, it should very well be possible to place the fiducials by hand. If it doesn’t work, that’s a bug.

I’m afraid none of the developers ever used and properly tested the coregistration UI on Windows (raise your hands if I’m mistaken, and I’ll stand corrected!).

What exactly do you mean by, you cannot place the fiducials? What happens?

Best,
Richard

Hi Richard,

thanks for your reply. In the older MNE, I could click on the interface and the fiducial would be placed on the head surface. With MNE 1.0.3, nothing happens when I click…

Could you maybe produce a short screen recording demonstrating the issue? If you have the time only, of course :slight_smile:

Also, can you please share the output of

import mne
mne.sys_info()

Thanks!

Hi Richard,

I can’t produce a screen recording right away, but I can explain it and attach a screenshot. So I would expect that when I select one of the 3 fiducials on the left and then click somewhere on the head, that the fiducial symbol would be placed there (and the x,y,z coordinates would change). But that doesn’t happen, nothing happens. If I change the entry for X or Y or Z, the fiducial symbol moves accordingly (though slowly). If I click on the head and hold the mouse button pressed and move the mouse, I can rotate the head, as in the previous versions of MNE.

I’ve tried this now on two different systems, for both I installed MNE via conda/mamba (I first tried it with the downloadable installer on system 1, but that didn’t work out).

Output of mne.sys_info() on system 1:
Platform: Windows-10-10.0.19042-SP0
Python: 3.10.5 | packaged by conda-forge | (main, Jun 14 2022, 06:57:19) [MSC v.1929 64 bit (AMD64)]
Executable: C:\ProgramData\Anaconda3\envs\mne\python.exe
CPU: Intel64 Family 6 Model 63 Stepping 2, GenuineIntel: 8 cores
Memory: 31.9 GB
mne: 1.0.3
numpy: 1.22.4 {blas=NO_ATLAS_INFO, lapack=lapack}
scipy: 1.9.0
matplotlib: 3.5.2 {backend=module://matplotlib_inline.backend_inline}

sklearn: 1.1.1
numba: 0.55.2
nibabel: 4.0.1
nilearn: 0.9.1
dipy: 1.5.0
cupy: 11.0.0
pandas: 1.4.3
pyvista: 0.35.2 {OpenGL 4.5.0 NVIDIA 473.47 via Quadro K4200/PCIe/SSE2}
pyvistaqt: 0.9.0
ipyvtklink: 0.2.2
vtk: 9.1.0
PyQt5: 5.15.7
ipympl: Not found
pooch: v1.6.0
mne_bids: Not found
mne_nirs: Not found
mne_features: Not found
mne_qt_browser: 0.3.1
mne_connectivity: Not found

and system 2:
Platform: Windows-10-10.0.17763-SP0
Python: 3.10.5 | packaged by conda-forge | (main, Jun 14 2022, 06:57:19) [MSC v.1929 64 bit (AMD64)]
Executable: D:\ProgramData\Anaconda3\envs\mne103\python.exe
CPU: Intel64 Family 6 Model 85 Stepping 7, GenuineIntel: 48 cores
Memory: 767.7 GB

mne: 1.0.3
numpy: 1.22.4 {blas=NO_ATLAS_INFO, lapack=lapack}
scipy: 1.9.0
matplotlib: 3.5.2 {backend=module://matplotlib_inline.backend_inline}

sklearn: 1.1.1
numba: 0.55.2
nibabel: 4.0.1
nilearn: 0.9.1
dipy: 1.5.0
cupy: 11.0.0
pandas: 1.4.3
pyvista: 0.35.2 {OpenGL 4.5.0 NVIDIA 451.22 via Quadro RTX 8000/PCIe/SSE2}
pyvistaqt: 0.9.0
ipyvtklink: 0.2.2
vtk: 9.1.0
PyQt5: 5.15.7
ipympl: Not found
pooch: v1.6.0
mne_bids: Not found
mne_nirs: Not found
mne_features: Not found
mne_qt_browser: 0.3.1
mne_connectivity: Not found

1 Like

5 posts were split to a new topic: Standalone installer issues on Windows

Hi Richard,

the manual placing of fiducials works now in MNE 1.1.0. Thanks for fixing this!

One issue that remains is that on our servers quite often (but not always) the console (in Anaconda Spyder) freezes when closing the coregistration GUI.
And some minor observations: The GUI seems to react slower than in previous versions; and I’m wondering why the default value for ICP iterations is set to 20 (which seems extremley high to me).

Best,
Felix

Do you only see this with the coreg UI, or also with other 3D plotting windows, like the one opened by plot_alignment()?

What exactly do you mean by that? Do you observe delays after clicking somewhere…?

I don’t know, but it should usually converge in fewer iterations, so the maximum number shouldn’t matter, because it finishes earlier, no?

Cheers,
Richard

So far, this has only happened with coreg. And it seems to become more likely if you work with the UI for longer. So far, there seems to be no problem with plot_alignment().

Yes. Particularly when placing fiducials or rotating the head. It still is okay to work with, so no big deal.

Well, the ICP fitting doesn’t always seem to give the optimal outcome and sometimes manual adjustment may be needed - at least that’s my previous experience. Depends a lot on how well the digitization was done. So I prefer to do a few steps of fitting and then see if it makes more sense to proceed with additional fitting or with adjusting manually.