[FieldTrip] channelrepair issue
jan-mathijs schoffelen
jan.schoffelen at donders.ru.nl
Fri Jul 8 09:11:54 CEST 2011
Dear Don,
This sounds like a very likely cause of the problem. When we wrote the 4D reading code at the time, we had the 248-channel magnetometer system in mind. It could be that there are some flaws related to the handling of gradiometers. This should not only lead to (erratic) issues at the level of channelrepair, but may also cause mayhem when doing planar gradient transformation, or source reconstruction.
Would you happen to
1) feel like tackling this one with me, and improve FieldTrip to deal with gradiometer systems correctly?
or
2) have a small gradiometer dataset which you can send to me (e.g. through DropBox), so that I can look into it?
We can further discuss this off the discussion list.
Best wishes,
Jan-Mathijs
On Jul 8, 2011, at 3:36 AM, Rojas, Don ( Employee MEG-SOM ) wrote:
> Jim et al.
>
> In thinking about this further, it seems to me that it is the indexing that is incorrect. The problem I think is specific to gradiometer systems, which have two (or more) locations per channel. The function appears to assume that the sensor index based on the sens.label field (only 1 per channel) will correspond 1 to 1 with the sens.grad field (2 locations per channel), which is not correct. So, my guess is that for first-order gradiometer systems, the correct index for the sensor location is 2x the index in the sens.label field.
>
> So, in an example I have handy at home, the label index for channel A234 is 107. Since I think Fieldtrip stores gradiometer locations (by default) as:
>
> Chn 1 lower coil x, y z
> Chn 1 upper coil x, y z
> Chn 2 lower coil x, y z
> Chn 2 upper coil x, y z
> .
> .
> .
> Chn N
>
> I think the correct position info for channel A234 would be found in sens.grad(214,:), not sens.grad(107,:), which is what the ft_channelrepair function chooses. So I think this is a bug in the function specific to gradiometer systems.
>
> Best,
>
> Don
>
> On Jul 7, 2011, at 5:38 PM, Jim Li wrote:
>
>> Thank you very much for confirming the problem, Don, I appreciate it, :)
>>
>> Jim
>>
>> On Thu, Jul 7, 2011 at 4:30 PM, Rojas, Don <Don.Rojas at ucdenver.edu> wrote:
>> Jim,
>>
>> All I can do is confirm that this issue exists for our 4D data as well, although we don't use the ft_channelrepair function. The same 4 quite distant channels (one had been deleted in the dataset I had handy) were chosen for repair when I ran this on one of our datasets (also a 248 channel 4D system). I agree the choice doesn't make any sense given the 3 cm distance you define. A quick look at the critical calculation in ft_channelrepair, line 109 distance = ... is correct given the inputs. So I wonder if the issue is with the actual channel indices used rather than the calculation, but I don't have time to track that down. All I can say is that for the distance you specify, channels A235, A216, A199, A215 would be much closer to A234 than those that are selected via the channel repair function. Channel A8 is in fact nearly 21 cm away from channel A234 in the array, based on examination of the data read in from Eugene Kronberg's pdf4D matlab object code, which I think was originally the basis for the FieldTrip 4D reader function.
>>
>> Best,
>>
>> Don Rojas
>>
>>
>> On Jul 7, 2011, at 1:26 PM, Jim Li wrote:
>>
>>> Dear Fieldtrip developer,
>>>
>>> Can anybody help me with this channel-repair issue I've been having? I can provide the raw data if you need. I really want to solve the problem, you know.
>>>
>>> Thanks a lot,
>>>
>>> Jim
>>>
>>> On Thu, Jul 7, 2011 at 2:22 PM, Jim Li <megjim1 at gmail.com> wrote:
>>> Hi Odelia,
>>>
>>> Yes, I downloaded the latest version of Fieldtrip and tried your suggestion "cfg.neighbourdist = 0.03", but it still weirdly uses the far-away channels like A121 to do the channel-repair for A234 (these two channels are 24.1172cm apart!). Here is the detail:
>>>
>>> ---------------------------
>>> cfg = [];
>>> cfg.dataset = 'e,rfhp0.1Hz';
>>> cfg.trialdef.eventtype = 'TRIGGER';
>>> cfg.trialdef.eventvalue = 320;
>>> cfg.trialdef.prestim = 1;
>>> cfg.trialdef.poststim = 1;
>>> cfg = ft_definetrial(cfg);
>>> cfg.blc = 'yes'; % do baseline correction with the complete trial
>>>
>>> cfg.blcwindow = [-1 0];
>>> cfg.channel = {'MEG'};
>>> raw_DATA = ft_preprocessing(cfg);
>>>
>>>
>>> cfg = [];
>>> cfg.badchannel = {'A234'};
>>> cfg.neighbourdist = 0.03;
>>>
>>> [raw_DATA] = ft_channelrepair(cfg, raw_DATA)
>>>
>>> ---------------------------------------------------------------------
>>>
>>> And here is the outcome: -----------------------------
>>>
>>> the input is raw data with 248 channels and 201 trials
>>> repairing channel A234
>>> using neighbour A121
>>> using neighbour A143
>>> using neighbour A173
>>> using neighbour A8
>>>
>>> repairing bad channels for trial 1
>>> repairing bad channels for trial 2
>>> repairing bad channels for trial 3
>>> repairing bad channels for trial 4
>>> repairing bad channels for trial 5
>>> repairing bad channels for trial 6
>>> repairing bad channels for trial 7
>>> repairing bad channels for trial 8
>>> repairing bad channels for trial 9
>>> repairing bad channels for trial 10
>>> ....
>>>
>>> -------------------------
>>>
>>> Thank you.
>>>
>>> Jim
>>> _______________________________________________
>>>
>>> fieldtrip mailing list
>>> fieldtrip at donders.ru.nl
>>> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>>
>> -----------------------
>> Don Rojas, Ph.D.
>> Associate Professor of Psychiatry
>> U. of Colorado Denver Anschutz Medical Campus
>> Director, UCD Magnetoencephalography Lab
>> 13001 E. 17th Pl F546
>> Aurora, CO 80045
>> 303-724-4994
>>
>>
>> _______________________________________________
>> fieldtrip mailing list
>> fieldtrip at donders.ru.nl
>> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>>
>> _______________________________________________
>> fieldtrip mailing list
>> fieldtrip at donders.ru.nl
>> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>
> -----------------------
> Don Rojas, Ph.D.
> Associate Professor of Psychiatry
> U. of Colorado Denver Anschutz Medical Campus
> Director, UCD Magnetoencephalography Lab
> 13001 E. 17th Pl F546
> Aurora, CO 80045
> 303-724-4994
>
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
Dr. J.M. (Jan-Mathijs) Schoffelen
Donders Institute for Brain, Cognition and Behaviour,
Centre for Cognitive Neuroimaging,
Radboud University Nijmegen, The Netherlands
J.Schoffelen at donders.ru.nl
Telephone: 0031-24-3614793
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20110708/9239328e/attachment-0002.html>
More information about the fieldtrip
mailing list