[Mne_analysis] Maxwell Filter and Projections

sheraz at nmr.mgh.harvard.edu sheraz at nmr.mgh.harvard.edu
Fri Mar 25 15:02:55 EDT 2016
Search archives:

My couple of cents

SSP and SSS (maxfilter) are both spatial filter.

SSS is a single point multipolar expansion using spherical harmonics basis
functions,  assumes data to be represented in a particular spatial
orientation.

SSP rotates the spatial orientation hence basic assumption of the SSS
basis function no longer remain valid.

You can always do SSP after SSS

Sheraz


> Note, I am not a physicist, but I think this is roughly helpful:
> (if a real physicist reads this, please correct me)
>
> short version it doesn't make sense, both ssp and sss use the signal
> space to remove artifacts
> but sss pushes converts the data into spherical harmonics to do this,
> but if you reduce the rank
> with an ssp vector i don't think going into spherical harmonics would
> work.
> I think this is also why you have to have a whole head type system to
> work in maxfilter in general.
>
> hth
> d
>
> On Fri, Mar 25, 2016 at 2:28 PM, Sam Zorowitz <szorowi1 at gmail.com> wrote:
>> @ Dan: Ahh, we were wondering how the -skip function worked. (We looked
>> through the manual but did not specify.)
>>
>> @ Eric: Absolutely will do.
>>
>> All of which brings me back to the original question: Does anyone know a
>> reason why one shouldn't apply projections before Maxwell filtering?
>>
>> On Fri, Mar 25, 2016 at 2:22 PM, Eric Larson <larson.eric.d at gmail.com>
>> wrote:
>>>
>>> That error is different from the SVD one, but I suspect it has the same
>>> underlying cause (Anaconda using outdated build tools). To avoid
>>> derailing
>>> the original topic too much, can you open an mne-python issue for this
>>> specific error scipy.linalg error? We can tackle debugging steps there.
>>> If
>>> you can anonymize the file, upload it somewhere, give the minimal steps
>>> to
>>> reproduce it, and paste the output of `mne.sys_info()` (assuming you're
>>> on
>>> `master`) that would help.
>>>
>>> Eric
>>>
>>>
>>> On Fri, Mar 25, 2016 at 2:18 PM, Sam Zorowitz <szorowi1 at gmail.com>
>>> wrote:
>>>>
>>>> @ Dan: We were trying to move away from the command line version for a
>>>> number of reasons. As far as I know, there is no -skip option in the
>>>> python
>>>> implementation.
>>>>
>>>> @ Eric: We are using the Anaconda distribution, and I was not able to
>>>> reproduce the error from the thread you linked. When we are getting an
>>>> error, it looks like this:
>>>>
>>>>> RuntimeWarning: invalid value encountered in greater
>>>>>   num = np.sum(s > tol, dtype=int)
>>>>>
>>>>>
>>>>>
>>>>> Traceback (most recent call last):
>>>>>   File "motion_correction.py", line 32, in <module>
>>>>>     raw = maxwell_filter(raw, st_duration=st_duration,
>>>>> destination=trans.mean(axis=0), bad_condition='warning')
>>>>>
>>>>> File "<string>", line 2, in maxwell_filter
>>>>>
>>>>>  File
>>>>> "/homes/5/szoro/.local/lib/python2.7/site-packages/mne/utils.py",
>>>>> line 551, in verbose
>>>>>     return function(*args, **kwargs)
>>>>>
>>>>>  File
>>>>> "/homes/5/szoro/.local/lib/python2.7/site-packages/mne/preprocessing/maxwell.py",
>>>>> line 404, in maxwell_filter
>>>>>     t_proj = _overlap_projector(orig_in_data, resid, st_correlation)
>>>>>
>>>>>  File
>>>>> "/homes/5/szoro/.local/lib/python2.7/site-packages/mne/preprocessing/maxwell.py",
>>>>> line 1237, in _overlap_projector
>>>>>     overwrite_a=True, mode='economic', **check_disable)[0].T
>>>>>
>>>>>  File
>>>>> "/homes/5/szoro/.local/lib/python2.7/site-packages/scipy/linalg/decomp_qr.py",
>>>>> line 142, in qr
>>>>>     overwrite_a=overwrite_a)
>>>>>
>>>>>  File
>>>>> "/homes/5/szoro/.local/lib/python2.7/site-packages/scipy/linalg/decomp_qr.py",
>>>>> line 20, in safecall
>>>>>     ret = f(*args, **kwargs)
>>>>>
>>>>>
>>>>>
>>>>> ValueError: failed to create intent(cache|hide)|optional array-- must
>>>>> have defined dimensions but got (0,)
>>>>
>>>>
>>>>  Unfortunately I can't quite parse what's going on here in the error
>>>> message.
>>>>
>>>> On Fri, Mar 25, 2016 at 1:47 PM, Eric Larson <larson.eric.d at gmail.com>
>>>> wrote:
>>>>>>
>>>>>> The short of it is that we were running into some issues with the
>>>>>> Maxwell filter function, such that the SVD will not converge for
>>>>>> certain
>>>>>> buffers if there is an abundance of noise.
>>>>>
>>>>>
>>>>> I have observed seen this "failure to converge" problem with SVD
>>>>> before.
>>>>> Are you running Anaconda? If so, could you look here, see if you can
>>>>> reproduce the error with the .npy file from the post, and also do the
>>>>> `cat
>>>>> /proc/cpuinfo` step? It will help isolate the problem, and keep
>>>>> attention on
>>>>> it:
>>>>>
>>>>> https://github.com/ContinuumIO/anaconda-issues/issues/695
>>>>>
>>>>> If you're not on Anaconda, I'm curious what Python setup you're
>>>>> using.
>>>>>
>>>>> Such "high noise" segments really shouldn't be a problem for SVD. If
>>>>> the
>>>>> Anaconda folks don't fix the issue, we're going to try to put a
>>>>> workaround
>>>>> solution in upstream scipy:
>>>>>
>>>>> https://github.com/scipy/scipy/pull/5994#issuecomment-200341678
>>>>>
>>>>> Eric
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Mne_analysis mailing list
>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>
>>>>>
>>>>> The information in this e-mail is intended only for the person to
>>>>> whom
>>>>> it is
>>>>> addressed. If you believe this e-mail was sent to you in error and
>>>>> the
>>>>> e-mail
>>>>> contains patient information, please contact the Partners Compliance
>>>>> HelpLine at
>>>>> http://www.partners.org/complianceline . If the e-mail was sent to
>>>>> you
>>>>> in error
>>>>> but does not contain patient information, please contact the sender
>>>>> and
>>>>> properly
>>>>> dispose of the e-mail.
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Mne_analysis mailing list
>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>
>>>>
>>>> The information in this e-mail is intended only for the person to whom
>>>> it
>>>> is
>>>> addressed. If you believe this e-mail was sent to you in error and the
>>>> e-mail
>>>> contains patient information, please contact the Partners Compliance
>>>> HelpLine at
>>>> http://www.partners.org/complianceline . If the e-mail was sent to you
>>>> in
>>>> error
>>>> but does not contain patient information, please contact the sender
>>>> and
>>>> properly
>>>> dispose of the e-mail.
>>>>
>>>
>>>
>>> _______________________________________________
>>> Mne_analysis mailing list
>>> Mne_analysis at nmr.mgh.harvard.edu
>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>
>>>
>>> The information in this e-mail is intended only for the person to whom
>>> it
>>> is
>>> addressed. If you believe this e-mail was sent to you in error and the
>>> e-mail
>>> contains patient information, please contact the Partners Compliance
>>> HelpLine at
>>> http://www.partners.org/complianceline . If the e-mail was sent to you
>>> in
>>> error
>>> but does not contain patient information, please contact the sender and
>>> properly
>>> dispose of the e-mail.
>>>
>>
>>
>> _______________________________________________
>> Mne_analysis mailing list
>> Mne_analysis at nmr.mgh.harvard.edu
>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>
>>
>> The information in this e-mail is intended only for the person to whom
>> it is
>> addressed. If you believe this e-mail was sent to you in error and the
>> e-mail
>> contains patient information, please contact the Partners Compliance
>> HelpLine at
>> http://www.partners.org/complianceline . If the e-mail was sent to you
>> in
>> error
>> but does not contain patient information, please contact the sender and
>> properly
>> dispose of the e-mail.
>>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
>



More information about the Mne_analysis mailing list