[Mne_analysis] Lead field spikes using sample BEM - bug or explainable?

Eric Larson larson.eric.d at gmail.com
Wed Feb 12 17:09:27 EST 2020
Search archives:

        External Email - Use Caution        

One quick likely candidate -- adding `mindist=5` yields:

    222 source space points omitted because of the    5.0-mm distance limit.
    199 source space point omitted because of the    5.0-mm distance limit.

So there are a bunch of sources very close to the inner skull surface. In
fact even just `mindist=2` gives:

    2 source space points omitted because of the    2.0-mm distance limit.
    2 source space point omitted because of the    2.0-mm distance limit.

If I do:

import pickle
import numpy as np
import mne
from mne.datasets import sample
bem_fname = sample.data_path() +
'/subjects/sample/bem/sample-5120-5120-5120-bem-sol.fif'
trans_fname = sample.data_path() + '/MEG/sample/sample_audvis_raw-trans.fif'
src = mne.read_source_spaces('ico4_src.fif')
info = pickle.load(open('sample_bem_1632mag_info.pkl','rb'))
fwd = mne.make_forward_solution(info, trans_fname, src, bem_fname, mindist=2)
fwd_other = mne.read_forward_solution('sample_bem_1632mag_ico4_fwd.fif')
for s, so in zip(fwd['src'], fwd_other['src']):
    bads = np.setdiff1d(so['vertno'], s['vertno'])
    print(bads)

I get:

[1049 7657]
[  827 17466]

Feel free to check to see if these are (some of) the worst offenders that
you've seen. If not, then try the 5mm version and check if the bad ones are
in there (it might depend on the geometry in the vicinity of the points).
If so it seems like the explanation for the problem might be that the
sources are too close to the BEM surface. And maybe our default `mindist=0`
is not the safest choice...

Eric



On Wed, Feb 12, 2020 at 2:00 PM Taylor Williams <williams.taylor at gmail.com>
wrote:

> I've updated the shared folder to include a binary version of the Info and
> src objects used to create this forward model. To create the forward model,
> you can use the following:
>
> import mne
> from mne.datasets import sample
> import pickle
>
> bem_fname = sample.data_path() +
> '/subjects/sample/bem/sample-5120-5120-5120-bem-sol.fif'
> trans_fname = sample.data_path() +
> '/MEG/sample/sample_audvis_raw-trans.fif'
>
> #Compute src for ico4 spacing from scratch
> src = mne.setup_source_space('sample', spacing='ico4')
> #Or, read src from file, pre-calculated using the command above
> #src = pickle.load(open('/LOCAL_PATH_HERE/ico4_src.fif','rb'))
>
> info =
> pickle.load(open('/LOCAL_PATH_HERE/sample_bem_1632mag_info.pkl','rb'))
>
> fwd = mne.make_forward_solution(info, trans_fname, src, bem_fname)
>
> On Fri, Feb 7, 2020 at 3:58 PM Taylor Williams <williams.taylor at gmail.com>
> wrote:
>
>> Eric,
>>
>> Please find the forward model and script for the 1632 magnetometer array
>> in the following folder. Script is also attached.
>>
>> https://drive.google.com/drive/folders/1dX7YZSCa4RAcn_b4JH3I0CADe2ZOQIM-?usp=sharing
>>
>> A bit more context on the forward model: It places point magnetometers on
>> 102 simulated rectangular 24mm x 24mm chips that are projected towards the
>> scalp from the standard Neuromag sensor locations. The center point of each
>> sensor cluster is 1.5mm above the nearest outer skin surface from the BEM.
>> All sensors are sensitive in the z-direction and preserve the orientation
>> vector from the derived Neuromag magnetometer.
>>
>> This script generates the full set of lead fields in the Evoked object
>> Y0. There are plenty of other instances where this occurs, not just dipole
>> #364. Let me know if you have any questions about the construction of the
>> forward model that I can answer for context. I'm curious to see what you
>> think.
>>
>> Thanks,
>> Taylor
>>
>> On Thu, Feb 6, 2020 at 4:12 PM Eric Larson <larson.eric.d at gmail.com>
>> wrote:
>>
>>>         External Email - Use Caution
>>>
>>> I'm not sure offhand what would cause this. Can you share a script to
>>> produce the bottom plot in the source 364, 1632-point-magnetometer case?
>>> That would help us look into what specifically what (at least: where in the
>>> code) is causing the value to become so large.
>>>
>>> Eric
>>>
>>>
>>> On Thu, Feb 6, 2020 at 3:51 PM Taylor Williams <
>>> williams.taylor at gmail.com> wrote:
>>>
>>>>         External Email - Use Caution
>>>>
>>>> I've found something unusual in the lead fields computed using
>>>> MNE-Python that I can't explain. When arrays containing a large number of
>>>> magnetometer sensors are used with the 'sample' subject BEM
>>>> (sample-5120-5120-5120-bem.fif) and the ico4 source space to create a
>>>> forward model, there are some unusual strong spikes in the lead field.
>>>> These spikes are not present when I use a spherical BEM model instead.
>>>>
>>>> To demonstrate, I created three different theoretical arrays of point
>>>> magnetometers (coil_id: 2000) measuring roughly the normal component of the
>>>> magnetic field with respect to the scalp surface. Each model contains an
>>>> increasing number of total sensors (102 sensors, 1632 sensors, and 3672
>>>> sensors).
>>>>
>>>> Figure 1 shows the lead field for a particular dipole (#364 using ico4
>>>> source space) for each array using a spherical BEM model. A smooth dipolar
>>>> response is shown for each that is roughly equivalent over the arrays. The
>>>> peak response for each array doesn't change appreciably, but there is an
>>>> improvement in detail of the lead field. All evoked topomap plots are fixed
>>>> to the same color bar limits (400 fT).
>>>>
>>>> Figure 2 shows the same set of lead fields but with the 'sample'
>>>> subject BEM instead. It shows curiously strong spikes present in the two
>>>> high density arrays. These spikes vary in their location and magnitude. The
>>>> main dipolar response is still present, and appears to be fairly
>>>> consistent. However, due to the spikes, the peak response for each array is
>>>> vastly different. Again, evoked topomap plots use a fixed color bar limit
>>>> at 400 fT.
>>>>
>>>> Are these lead field patterns in Figure 2 explainable? They certainly
>>>> seem like erroneous values, but perhaps something about the BEM model
>>>> creates a focusing effect for the magnetic field response when we sample at
>>>> different spatial frequencies? I'm happy to provide some sample forward
>>>> models for inspection.
>>>>
>>>> Thanks,
>>>> Taylor Williams
>>>> _______________________________________________
>>>> Mne_analysis mailing list
>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>
>>> _______________________________________________
>>> Mne_analysis mailing list
>>> Mne_analysis at nmr.mgh.harvard.edu
>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20200212/ffb99503/attachment-0001.html 


More information about the Mne_analysis mailing list