[FieldTrip] Interpolation and ft_channelrepair
Daria Laptinskaya
daria.laptinskaya at googlemail.com
Wed Oct 21 14:46:49 CEST 2015
Dear Grazia,
I’m using the following code and it works fine:
cfg = [];
cfg.method = 'average';
cfg.badchannel = channel;
cfg.neighbours = neighbours;
cfg.trials = 'all';
cfg.elec = sens;
[interpol] = ft_channelrepair(cfg, opt1_dur);
Commend out the cfg.elec leads to the same error as you get. “sens” in my
code is the result of ft_read_sens, sens=ft_read_sens('GSN-HydroCel-257.sfp'
).
I hope, it helps!
Best,
Daria
2015-10-21 12:27 GMT+02:00 Grazia Di Pisa <g.dipisa at gmail.com>:
> Hi Jörn,
>
> Thanks for the advice - I've just tried to add cfg.sens = sens but still
> the same error.
>
> Any other suggestions?
>
> thanks,
> ~ grazia
>
>
> On 21Oct, 2015, at 12:00, fieldtrip-request at science.ru.nl wrote:
>
> Send fieldtrip mailing list submissions to
> fieldtrip at science.ru.nl
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
> or, via email, send a message with subject or body 'help' to
> fieldtrip-request at science.ru.nl
>
> You can reach the person managing the list at
> fieldtrip-owner at science.ru.nl
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of fieldtrip digest..."
>
>
> Today's Topics:
>
> 1. Call for new post docs in the Obleser lab | Auditory
> Cognition (Jonas Obleser)
> 2. Spectrum normalization (Wunderle, Thomas)
> 3. Interpolation and ft_channelrepair (Grazia Di Pisa)
> 4. Re: Interpolation and ft_channelrepair
> (=?UTF-8?Q?J=C3=B6rn_M._Horschig?=)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 20 Oct 2015 06:07:51 -0500
> From: Jonas Obleser <jonas at obleser.de>
> To: fieldtrip at science.ru.nl, AUDITORY at LISTS.MCGILL.CA
> Subject: [FieldTrip] Call for new post docs in the Obleser lab |
> Auditory Cognition
> Message-ID: <71625964-4C4D-41CA-BEDB-171CEFBC87F8 at obleser.de>
> Content-Type: text/plain; charset=utf-8
>
> The research group ?Auditory Cognition? (headed by Jonas Obleser;
> auditorycognition.com), now at the University of L?beck, is seeking to
> hire two Postdoctoral researchers, initially for 3 years, with the option
> of extension.
>
> These positions fall into the larger framework of an ERC Consolidator
> grant ?The listening challenge: How ageing brains adapt? (AUDADAPT)
> recently awarded to Jonas Obleser, and will allow the joint development of
> cognitive-neuroscience and psychological research projects targeting
> adaptive control in the auditory modality of middle-aged adults.
>
> Please download the full job advert here:
> https://www.dropbox.com/s/sqc9c94ewl6bjjh/Ausschreibung_1031_15_Wiss%20MitarbeiterIn_Psychologie_EN.pdf?dl=1
>
> Note the application deadline of November 12 (postal receipt).
>
> http://auditorycognition.com
> http://uni-luebeck.de
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 20 Oct 2015 14:58:25 +0000
> From: "Wunderle, Thomas" <thomas.wunderle at esi-frankfurt.de>
> To: "fieldtrip at science.ru.nl" <fieldtrip at science.ru.nl>
> Subject: [FieldTrip] Spectrum normalization
> Message-ID:
> <27E5CAD9145EEC41BB9B34C01716A198880C3CD4 at UM-excdag-a02.um.gwdg.de>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi all,
>
> I have a question about how FieldTrip normalizes the output of a spectral
> analyses using ft_freqanalysis.
> This is important for me, because I need the absolute value of the
> spectrum for a publication.
>
> I was scanning through the code trying to find the normalization steps.
> In particular, I don't understand the following steps:
>
>
> 1.) The tapers (e.g. hanning) are normalized prior to the
> multiplication with the data by the following code:
> tap = tap./norm(tap, 'fro'); (line 195 in the function fr_specest_mtmfft)
> What is the rationale of dividing through this special norm of the taper
> itself?
>
>
> 2.) After calculating the fft, the specrum is scaled (i.e. in the
> function fr_specest_mtmfft) by:
>
> dum = dum .* sqrt(2 ./ endnsample); (line 251)
>
> Later on, to get to the power spectrum, the abs of the spectrum is taken
> and squared
>
> powdum = abs(spectrum(acttap,:,foiind(ifoi),acttboi)) .^2; (line 629 in
> ft_frequanalysis)
>
>
>
> This puzzles me, because scanning through the literature, the power
> spectrum should be given by
>
> (2*abs(X)^2) ./ (nfft^2) -> unit: V^2 (X=signal,
> nfft = number of data points)
>
> and the PSD by
>
> (2*abs(X)^2) ./ (nfft*Fs) -> unit: V^2/Hz (X=signal, nfft =
> number of data points, Fs=sampling rate)
>
>
>
> Alternatively, one can get the amplitude spectrum from the power spectrum
> by taking the square root of the PSD:
>
> sqrt(PSD) -> unit: V/sqrt(Hz)
>
> which is still different from
>
> (2*abs(X)) ./ (nfft*Fres) -> unit: V/Hz ? (Fres =
> frequency resolution = Fs/nfft)
>
>
>
> The result of these equations are different from what comes out of the
> FieldTrip code.
>
> So what is the unit of the spectrum in FieldTrip?
>
> What is the rationale of scaling the complex spectrum by sqrt(2/nfft) ?
>
> Furthermore, is the unit for the different spectral estimation methods the
> same? That is, using mtmfft, mtmconvol, wavelet,...?
>
> It would help me a lot if someone could clarify these points.
>
> Thanks in advance,
> Thomas
>
>
> -----
> Dr. Thomas Wunderle
> Ernst Str?ngmann Institute (ESI) for Neuroscience<
> http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKey=PubMedNews>
> in Cooperation with Max Planck Society <
> http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKey=PubMedNews>
> Deutschordenstrasse 46
> 60528 Frankfurt am Main, Germany
> www.esi-frankfurt.de<http://www.esi-frankfurt.de/>
> thomas.wunderle at esi-frankfurt.de<mailto:thomas.wunderle at esi-frankfurt.de>
> Tel: +49 69 96769 516
> Fax: +49 69 96769 555
>
> Sitz der Gesellschaft: Frankfurt am Main
> Registergericht: Amtsgericht Frankfurt - HRB 84266
> Gesch?ftsf?hrer: Prof. Dr. Pascal Fries
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20151020/eebaf460/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Wed, 21 Oct 2015 10:30:07 +0200
> From: Grazia Di Pisa <g.dipisa at gmail.com>
> To: fieldtrip at science.ru.nl
> Subject: [FieldTrip] Interpolation and ft_channelrepair
> Message-ID: <A46541FB-BC67-44E7-A9CD-541FB39B7C54 at gmail.com>
> Content-Type: text/plain; charset=utf-8
>
> Dear all,
>
> I?m trying to do interpolation to repair some bad channels, but I?m
> getting the error below.
> I've read the ft_fetch_sens help but I don?t understand how I should
> specify the electrodes.
>
>
> Is there a file I should upload or am I missing something in my code?
> Any help or hint is very much appreciated!
>
> thanks in advance,
> ~ grazia
>
>
> //
> Error using ft_fetch_sens (line 183)
> no electrodes or gradiometers specified.
>
> Error in ft_channelrepair (line 115)
> sens = ft_fetch_sens(cfg, data);
>
> Error in new_analyse_GDP (line 42)
> ft_channelrepair(cfg, data)
> //
>
> This is my code:
>
> 15 cfg = [];
> 16 cfg_neighb = [];
> 17 cfg_neighb.method = 'triangulation';
> 18 cfg.senstype = 'EEG';
> 19 cfg_neighb.layout = 'biosemi64.lay';
> 20 neighbours = ft_prepare_neighbours(cfg_neighb);
> 21
> 22 cfg.neighbours = neighbours;
> 23 cfg.channel = {'Fp1', 'Fp2', 'AF7',
> 'AF3','AF8','F7','F5','FT9',};
> 24 cfg.feedback = 'yes';
> 25 cfg.layout = 'biosemi64.lay';
> 26 lay = ft_prepare_layout(cfg);
> 27
> 28 sens = data;
> 29 sens.type = 'eeg';
> 30 sens.label = lay.label;
> 31 sens.chanpos = lay.pos;
> 32 sens.chanpos(:,3) = 0;
> 33
> 34 ft_neighbourplot(cfg, data)
> 35
> 36 cfg = [];
> 37 cfg.method = 'nearest';
> 38 cfg.badchannel = {'Fp1', 'Fp2', 'AF7',
> 'AF3','AF8','F7','F5','FT9'};
> 39 cfg.neighbours = neighbours;
> 40 cfg.trials = 'all';
> 41
> 42 ft_channelrepair(cfg, data)
>
>
>
>
>
>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 21 Oct 2015 10:42:03 +0200
> From: "=?UTF-8?Q?J=C3=B6rn_M._Horschig?=" <jorn at artinis.com>
> To: "'FieldTrip discussion list'" <fieldtrip at science.ru.nl>
> Subject: Re: [FieldTrip] Interpolation and ft_channelrepair
> Message-ID: <002b01d10bdc$5d377040$17a650c0$@artinis.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Dear Grazia,
>
> try adding cfg.sens = sens; before line 42. That will set the sensor
> definition so that ft_channelrepair knows the location of your channels,
> which is otherwise not obvious.
>
> Best,
> J?rn
>
> --
>
> J?rn M. Horschig, PhD, Software Engineer
> Artinis Medical Systems | +31 481 350 980
>
> -----Original Message-----
> From: fieldtrip-bounces at science.ru.nl [mailto:fieldtrip-
> bounces at science.ru.nl] On Behalf Of Grazia Di Pisa
> Sent: Wednesday, October 21, 2015 10:30 AM
> To: fieldtrip at science.ru.nl
> Subject: [FieldTrip] Interpolation and ft_channelrepair
>
> Dear all,
>
> I?m trying to do interpolation to repair some bad channels, but I?m getting
> the error below.
> I've read the ft_fetch_sens help but I don?t understand how I should
> specify
>
> the electrodes.
>
> Is there a file I should upload or am I missing something in my code?
> Any help or hint is very much appreciated!
>
> thanks in advance,
> ~ grazia
>
>
> //
> Error using ft_fetch_sens (line 183)
> no electrodes or gradiometers specified.
>
> Error in ft_channelrepair (line 115)
> sens = ft_fetch_sens(cfg, data);
>
> Error in new_analyse_GDP (line 42)
> ft_channelrepair(cfg, data)
> //
>
> This is my code:
>
> 15 cfg = [];
> 16 cfg_neighb = [];
> 17 cfg_neighb.method = 'triangulation';
> 18 cfg.senstype = 'EEG';
> 19 cfg_neighb.layout = 'biosemi64.lay';
> 20 neighbours = ft_prepare_neighbours(cfg_neighb);
> 21
> 22 cfg.neighbours = neighbours;
> 23 cfg.channel = {'Fp1', 'Fp2', 'AF7',
> 'AF3','AF8','F7','F5','FT9',};
> 24 cfg.feedback = 'yes';
> 25 cfg.layout = 'biosemi64.lay';
> 26 lay = ft_prepare_layout(cfg);
> 27
> 28 sens = data;
> 29 sens.type = 'eeg';
> 30 sens.label = lay.label;
> 31 sens.chanpos = lay.pos;
> 32 sens.chanpos(:,3) = 0;
> 33
> 34 ft_neighbourplot(cfg, data)
> 35
> 36 cfg = [];
> 37 cfg.method = 'nearest';
> 38 cfg.badchannel = {'Fp1', 'Fp2', 'AF7',
> 'AF3','AF8','F7','F5','FT9'};
> 39 cfg.neighbours = neighbours;
> 40 cfg.trials = 'all';
> 41
> 42 ft_channelrepair(cfg, data)
>
>
>
>
>
> _______________________________________________
> 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
>
> End of fieldtrip Digest, Vol 59, Issue 17
> *****************************************
>
>
>
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20151021/8500cbff/attachment-0002.html>
More information about the fieldtrip
mailing list