Back to the main page.

Bug 3040 - ft_connectivity_mutualinformation is missing

Reported 2016-01-12 15:26:00 +0100
Modified 2016-05-05 20:32:18 +0200
Product: FieldTrip
Component: core
Version: unspecified
Hardware: PC
Operating System: Mac OS
Importance: P5 normal
Assigned to: Jan-Mathijs Schoffelen
Depends on:
See also:

Robert Oostenveld - 2016-01-12 15:26:45 +0100

even though the calling code is there in ft_connectivityanalysis

Jan-Mathijs Schoffelen - 2016-01-12 17:57:58 +0100

...and the ft_connectivity_multualinformation is in my local copy of FT... :o). I'll look into it

Jan-Mathijs Schoffelen - 2016-01-13 13:17:53 +0100

[jansch@mentat001 fieldtrip]$ svn commit -m "enhancement - added functionality for the computation of mutual information" ft_connectivityanalysis.m connectivity/ft_connectivity_mutualinformation.m Adding connectivity/ft_connectivity_mutualinformation.m Sending ft_connectivityanalysis.m Transmitting file data .. Committed revision 11054.

Jan-Mathijs Schoffelen - 2016-01-13 13:18:15 +0100

With the latest commit to svn I was able to create the following figure

Jan-Mathijs Schoffelen - 2016-01-13 13:19:48 +0100

Created attachment 767 MI between angle(hilbert(bandpass(MEG))), and angle(hilbert(speech))

Jan-Mathijs Schoffelen - 2016-01-13 13:21:58 +0100

Here is what I did: load('speech'); % contains the speech envelope load('data'); % contains the MEG data cfg = []; cfg.bpfilter = 'yes'; cfg.bpfreq = [1 3]; cfg.bpfilttype = 'firws'; data = ft_preprocessing(cfg, data); cfg = []; cfg.hilbert = 'angle'; data = ft_preprocessing(cfg, ft_appenddata([], data, speech)); cfg = []; cfg.method = 'mi'; cfg.refindx = numel(data.label); % need to check whether ft_connectivityanalysis swallows a channel name mi = ft_connectivityanalysis(cfg, data);

Jan-Mathijs Schoffelen - 2016-01-13 13:28:03 +0100

The mi-output looks a bit funny (wrong dimord), but that would be relatively easy to iron out. Also we should consider making some options configureable so that they can be passed on to the lower level function. @Kristijan: notice the scale of the values. It looks as if it's in the range of what we were seeing for the (low frequency filtered) MEG-model MI as well. @Kristijan: I think it's worth trying to do the speech envelope to MEG MI as per the pseudo-code I typed in an earlier comment. @Nietzsche: see the previous comment. For the thesis chapter it may be a nice add on to also show the outcome of the mutual information analysis. At the moment, the discrepancy of our results with Joachim's paper can be easily discarded by the argument of using different metrics. Note also, that it seems as if Joachim did not frequency filter the speech envelope prior to computing the coupling metric.

Jan-Mathijs Schoffelen - 2016-01-14 21:18:03 +0100

[jansch@mentat001 fieldtrip]$ svn commit -m "enhancement - allow for time-lagged mi" ft_connectivityanalysis.m connectivity/ft_connectivity_mutualinformation.m Sending connectivity/ft_connectivity_mutualinformation.m Sending ft_connectivityanalysis.m Transmitting file data .. Committed revision 11060.

Jan-Mathijs Schoffelen - 2016-02-19 11:03:47 +0100

it exists now.