[Mne_analysis] make_watershed_bem() does not make a BEM usable by setup_volume_source_space()
Eric Larson
larson.eric.d at gmail.com
Fri Oct 4 19:50:55 EDT 2019
External Email - Use Caution
That function just makes the surfaces, plus the subject's head FIF. I
suspect you've tried to use `subject-head.fif` as your BEM, which will not
work.
You need to use `mne.make_bem_model` and `mne.make_bem_solution` to
actually make the BEM itself from the surfaces `make_watershed_bem`
produced, choosing along the way if you want a 1-layer or 3-layer model.
You can then save these to disk and load them when you need them.
Eric
On Fri, Oct 4, 2019 at 7:21 PM Christian O'Reilly <
christian.oreilly at gmail.com> wrote:
> External Email - Use Caution
>
> Hi,
>
> At line 1182 of
> https://github.com/mne-tools/mne-python/blob/maint/0.19/mne/bem.py
> mne.bem.make_watershed_bem() is creating the BEM FIF file using
> FIFF.FIFFV_BEM_SURF_ID_HEAD (==4). When using this BEM file for source
> modeling mne.setup_volume_source_space() expect
> FIFF.FIFFV_BEM_SURF_ID_BRAIN (==1) (line 1705
> https://github.com/mne-tools/mne-python/blob/master/mne/source_space.py)
> and then crash because this surface id is not found in the BEM (stack trace
> below).
>
> I used
>
> mne.bem.make_watershed_bem(fs_subject, subjects_dir=subjects_dir,
> overwrite=False, show=True)
>
> to make the BEM and
>
> vol_src = setup_volume_source_space(
> subject, mri=fname_aseg, pos=10.0, bem=fname_model,
> add_interpolator=False, volume_label=labels_vol,
> subjects_dir=subjects_dir)
>
> to build the source space. Do you think it is a bug (I'll make a ticker if
> so), or does it look like I used these functions not correctly?
>
> Best,
>
> Christian
>
> ---------------------------------------------------------------------------
> ValueError Traceback (most recent call last)
> <ipython-input-27-be76d29cf63d> in <module>
> 4 vol_src = setup_volume_source_space(pos=10.0, bem=fname_model,
> 5 add_interpolator=False, # just for speed, usually use True
> ----> 6 mri=fname_aseg)
> 7 # Generate the mixed source space
> 8 src += vol_src
>
> </home/oreillyc/mne-python/mne/externals/decorator.py:decorator-gen-90> in
> setup_volume_source_space(subject, pos, mri, sphere, bem, surface, mindist,
> exclude, subjects_dir, volume_label, add_interpolator, verbose)
>
> ~/mne-python/mne/utils/_logging.py in wrapper(*args, **kwargs)
> 88 with use_log_level(verbose_level):
> 89 return function(*args, **kwargs)
> ---> 90 return function(*args, **kwargs)
> 91 return FunctionMaker.create(
> 92 function, 'return decfunc(%(signature)s)',
>
> ~/mne-python/mne/source_space.py in setup_volume_source_space(subject,
> pos, mri, sphere, bem, surface, mindist, exclude, subjects_dir,
> volume_label, add_interpolator, verbose)
> 1704 # read bem surface in the MRI coordinate frame
> 1705 surf = read_bem_surfaces(bem,
> s_id=FIFF.FIFFV_BEM_SURF_ID_BRAIN,
> -> 1706 verbose=False)
> 1707 logger.info('Loaded inner skull from %s (%d nodes)'
> 1708 % (bem, surf['np']))
>
> </home/oreillyc/mne-python/mne/externals/decorator.py:decorator-gen-50> in
> read_bem_surfaces(fname, patch_stats, s_id, verbose)
>
> ~/mne-python/mne/utils/_logging.py in wrapper(*args, **kwargs)
> 87 # set it back if we get an exception
> 88 with use_log_level(verbose_level):
> ---> 89 return function(*args, **kwargs)
> 90 return function(*args, **kwargs)
> 91 return FunctionMaker.create(
>
> ~/mne-python/mne/bem.py in read_bem_surfaces(fname, patch_stats, s_id,
> verbose)
> 1270 surf = [s for s in surf if s is not None]
> 1271 if not len(surf) == 1:
> -> 1272 raise ValueError('surface with id %d not found' %
> s_id)
> 1273 else:
> 1274 surf = list()
>
> ValueError: surface with id 1 not found
> _______________________________________________
> 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/20191004/f2c5ad85/attachment-0001.html
More information about the Mne_analysis
mailing list