Back to the main page.
Bug 3040 - ft_connectivity_mutualinformation is missing
Status | CLOSED FIXED |
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 |
URL: | |
Tags: | |
Depends on: | |
Blocks: | |
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.