[FieldTrip] automatic artifact detection and ft_denoise_pca

Robin robince at gmail.com
Wed Feb 6 15:07:30 CET 2013

Hi Jörn,

Thanks very much. Yes I think that will solve the problem - I hadn't
realised I could use negative trial padding values.
What I had just got working was as similar approach extracting larger
trials at first and then manually making a new trl defintion:

    % artifact detection
    tmpcfg = [];
    tmpcfg.continuous = 'no'; % some trials are excluded
    tmpcfg.trl = run_clean.sampleinfo;
    tmpcfg.trl(:,1) = tmpcfg.trl(:,1) + round(filterpad*run_clean.fsample);
    tmpcfg.trl(:,2) = tmpcfg.trl(:,2) - round(filterpad*run_clean.fsample);

    [tmpcfg, artifact] = ft_artifact_muscle(tmpcfg, run_clean);

which seemed to work but the trlpadding option definitely looks cleaner!



On Wed, Feb 6, 2013 at 2:02 PM, "Jörn M. Horschig"
<jm.horschig at donders.ru.nl> wrote:
> Hi Robin,
> I think the steps you suggested sound reasonable, but I do not see how you
> are avoiding the filter artifact issue there, you just postpone it to a
> later stage. Instead it might be a smart way to 'pad' your trials when
> defining them with 1s pre- and post (so cut out more than you need); that
> way all filter artifacts will be in that 1s that you are not interested in
> anyway. Then, you can define cfg.xxx.trlpadding =-1 prior to calling
> ft_artifact_xxx (thereby ignoring that 1s of  'padded' data). If I
> understand your question correctly, that solves your problem, doesn't it?
> Best,
> Jörn
> On 2/6/2013 12:54 PM, Robin wrote:
>> Hi all,
>> I am a new fieldtrip user getting started preprocessing a large MEG
>> data set (I am in Glasgow and the data was collected at CCNi).
>> I think I am slowly getting to grips with all the steps necessary, but
>> I have a question about the artifact rejection.
>> My undersanding is that the denoise procedure helps correct external
>> sources of noise, so having the signal cleaned in this way should help
>> detect the biological artifacts which are valid magnetic signal at the
>> scalp. But I can't see an easy way to do this since the ft_artifact_*
>> functions want to load the raw continuous data from disk. I can get
>> them to act on the in memory trials data if I set the padding options
>> to 0, but then I get an unacceptable amount of rejections (I guess
>> because of the filter artifacts the padding usually prevents).
>> Is it possible to run ft_artifact_muscle, ft_artifact_eog etc. on the
>> denoised signal from ft_denoise_pca and if so how?
>> At the moment I am performing the following steps:
>> Load each run
>> Detect jumps with ft_artifact_jump.
>> Concatenate the jump-free trials from all runs together for this block.
>> Visually inspect the reference channels and remove high variance
>> trials (across the whole block).
>> Compute denoise PCA weights using only good reference data (and no MEG
>> jump) trials across the whole block.
>> I would now like to apply the denoise PCA weights, perform other
>> automatic artifact removal on the cleaned data, before further visual
>> inspection and the next steps of ICA etc.
>> Is there any problems with this strategy?
>> Thanks in advance for any advice,
>> Robin
>> _______________________________________________
>> fieldtrip mailing list
>> fieldtrip at donders.ru.nl
>> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
> --
> Jörn M. Horschig
> PhD Student
> Donders Institute for Brain, Cognition and Behaviour
> Centre for Cognitive Neuroimaging
> Radboud University Nijmegen
> Neuronal Oscillations Group
> FieldTrip Development Team
> P.O. Box 9101
> NL-6500 HB Nijmegen
> The Netherlands
> Contact:
> E-Mail: jm.horschig at donders.ru.nl
> Tel:    +31-(0)24-36-68493
> Web: http://www.ru.nl/donders
> Visiting address:
> Trigon, room 2.30
> Kapittelweg 29
> NL-6525 EN Nijmegen
> The Netherlands
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip

More information about the fieldtrip mailing list