From e5828c5da1ed0dd1750a3299b1e56a03737db1f9 Mon Sep 17 00:00:00 2001 From: Robert Oostenveld Date: Wed, 4 Dec 2024 18:21:45 +0100 Subject: [PATCH] added neuroimaging2 assignments for 2024/2025 --- .../neuroimaging2-2324/sped4/figure1.png | Bin 0 -> 7724 bytes .../neuroimaging2-2324/sped4/figure2.png | Bin 0 -> 48005 bytes .../neuroimaging2-2324/sped4/figure7.png | Bin 0 -> 169258 bytes .../neuroimaging2-2425/sped4/figure1.png | Bin 0 -> 7724 bytes .../neuroimaging2-2425/sped4/figure2.png | Bin 0 -> 48005 bytes .../neuroimaging2-2425/sped4/figure7.png | Bin 0 -> 169258 bytes workshop.md | 166 ++--- workshop/neuroimaging2-2324.md | 20 + workshop/neuroimaging2-2324/sped4.md | 366 ++++++++++ workshop/neuroimaging2-2425.md | 40 ++ workshop/neuroimaging2-2425/sed1.md | 8 + workshop/neuroimaging2-2425/sed2.md | 8 + workshop/neuroimaging2-2425/sed3.md | 8 + workshop/neuroimaging2-2425/sed4.md | 8 + workshop/neuroimaging2-2425/sped1.md | 8 + workshop/neuroimaging2-2425/sped2.md | 8 + workshop/neuroimaging2-2425/sped3.md | 8 + .../sped4.md} | 14 +- workshop/neuroimaging2-2425/sr1.md | 344 ++++++++++ workshop/neuroimaging2-2425/sr2.md | 337 +++++++++ workshop/neuroimaging2-2425/sr3.md | 521 ++++++++++++++ workshop/neuroimaging2-2425/sr4.md | 550 +++++++++++++++ workshop/neuroimaging2-2425/sr5.md | 648 ++++++++++++++++++ 23 files changed, 2971 insertions(+), 91 deletions(-) create mode 100644 assets/img/workshop/neuroimaging2-2324/sped4/figure1.png create mode 100644 assets/img/workshop/neuroimaging2-2324/sped4/figure2.png create mode 100644 assets/img/workshop/neuroimaging2-2324/sped4/figure7.png create mode 100644 assets/img/workshop/neuroimaging2-2425/sped4/figure1.png create mode 100644 assets/img/workshop/neuroimaging2-2425/sped4/figure2.png create mode 100644 assets/img/workshop/neuroimaging2-2425/sped4/figure7.png create mode 100644 workshop/neuroimaging2-2324.md create mode 100644 workshop/neuroimaging2-2324/sped4.md create mode 100644 workshop/neuroimaging2-2425.md create mode 100644 workshop/neuroimaging2-2425/sed1.md create mode 100644 workshop/neuroimaging2-2425/sed2.md create mode 100644 workshop/neuroimaging2-2425/sed3.md create mode 100644 workshop/neuroimaging2-2425/sed4.md create mode 100644 workshop/neuroimaging2-2425/sped1.md create mode 100644 workshop/neuroimaging2-2425/sped2.md create mode 100644 workshop/neuroimaging2-2425/sped3.md rename workshop/{neuroimaging2/timefrequencyanalysis.md => neuroimaging2-2425/sped4.md} (98%) create mode 100644 workshop/neuroimaging2-2425/sr1.md create mode 100644 workshop/neuroimaging2-2425/sr2.md create mode 100644 workshop/neuroimaging2-2425/sr3.md create mode 100644 workshop/neuroimaging2-2425/sr4.md create mode 100644 workshop/neuroimaging2-2425/sr5.md diff --git a/assets/img/workshop/neuroimaging2-2324/sped4/figure1.png b/assets/img/workshop/neuroimaging2-2324/sped4/figure1.png new file mode 100644 index 0000000000000000000000000000000000000000..048b47eeafcc93bbe483b6b32f0eeb7d12841ee9 GIT binary patch literal 7724 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 literal 0 HcmV?d00001 diff --git a/assets/img/workshop/neuroimaging2-2324/sped4/figure2.png b/assets/img/workshop/neuroimaging2-2324/sped4/figure2.png new file mode 100644 index 0000000000000000000000000000000000000000..33902cda3ddf0b8caa2d9fd522aca8a7065b179c GIT binary patch literal 48005 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 SYYA-ue@6P|mk7Gf5B>wGA|f;Z literal 0 HcmV?d00001 diff --git a/assets/img/workshop/neuroimaging2-2324/sped4/figure7.png b/assets/img/workshop/neuroimaging2-2324/sped4/figure7.png new file mode 100644 index 0000000000000000000000000000000000000000..bc7a24113cd94c505beae616ae8d180d7c39c7a8 GIT binary patch literal 169258 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 literal 0 HcmV?d00001 diff --git a/assets/img/workshop/neuroimaging2-2425/sped4/figure1.png b/assets/img/workshop/neuroimaging2-2425/sped4/figure1.png new file mode 100644 index 0000000000000000000000000000000000000000..048b47eeafcc93bbe483b6b32f0eeb7d12841ee9 GIT binary patch literal 7724 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 literal 0 HcmV?d00001 diff --git a/assets/img/workshop/neuroimaging2-2425/sped4/figure2.png b/assets/img/workshop/neuroimaging2-2425/sped4/figure2.png new file mode 100644 index 0000000000000000000000000000000000000000..33902cda3ddf0b8caa2d9fd522aca8a7065b179c GIT binary patch literal 48005 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 SYYA-ue@6P|mk7Gf5B>wGA|f;Z literal 0 HcmV?d00001 diff --git a/assets/img/workshop/neuroimaging2-2425/sped4/figure7.png b/assets/img/workshop/neuroimaging2-2425/sped4/figure7.png new file mode 100644 index 0000000000000000000000000000000000000000..bc7a24113cd94c505beae616ae8d180d7c39c7a8 GIT binary patch literal 169258 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 literal 0 HcmV?d00001 diff --git a/workshop.md b/workshop.md index 47cfd9f77..767d8926c 100644 --- a/workshop.md +++ b/workshop.md @@ -17,89 +17,89 @@ If there is no information listed for a potential workshop below, then we don't We are considering and/or concretely planning to have FieldTrip workshops in -- 2025, MEG/EEG toolkit - Nijmegen, NL -- 2024, [CuttingEEG X](/workshop/cuttingeegx) - Nijmegen, NL +- 2025, MEG/EEG toolkit - Nijmegen, NL Previous FieldTrip workshops took place at -- 2024, [MEG/EEG toolkit](/workshop/toolkit2024) - Nijmegen, NL -- 2024, [WIRED at ICM, Paris](/workshop/wired2024) -- 2024, [Sofia, Bulgaria](/workshop/sofia2024) -- 2023, [Hamburg, Germany](/workshop/hamburg2023) -- 2023, [MEG/EEG toolkit](/workshop/toolkit2023) - Nijmegen, NL -- 2023, [FIT'NG](/workshop/fitng2023) - Fetal, Infant, & Toddler Neuroimaging Group, online -- 2022, [PracticalMEEG](/workshop/practicalmeeg2022) - Aix-en-Provence, France -- 2022, [FEMfuns workshop](/workshop/femfuns2022) - Nijmegen, NL -- 2022, [Donders Cognition Brain and Technology school](/workshop/bcbt2022) - Nijmegen, NL -- 2022, [MEG/EEG toolkit](/workshop/toolkit2022) - Nijmegen, NL -- 2021, [CuttingEEG 2021](/workshop/cuttingeeg2021) - Aix-en-Provence, France -- 2021, [MEG/EEG toolkit](/workshop/toolkit2021) - (online) Nijmegen, NL -- 2020, [MEG/EEG toolkit](/workshop/toolkit2020) - (online) Nijmegen, NL -- 2019, [PracticalMEEG in Paris](/workshop/paris2019) - combined with BrainStorm and MNE-Python -- 2019, [EEG workshop](/workshop/oslo2019) - Oslo, Norway -- 2019, [Oxford, UK](/workshop/oxford2019) - Oxford, UK -- 2019, [MEG/EEG toolkit](/workshop/toolkit2019) - Nijmegen, NL -- 2019, [ECoG/SEEG toolkit](/workshop/davis2019) - Davis, California -- 2019, [Leuven, Belgium](/workshop/leuven2019) -- 2019, [Göttingen, Germany](/workshop/goettingen2019) -- 2019, [Madrid, Spain](/workshop/madrid2019) -- 2018, [Mannheim, Germany](/workshop/mannheim2018) -- 2018, [Stockholm](/workshop/stockholm2018) -- 2018, [Singapore](/workshop/ohbm2018) -- 2018, [MEG/EEG toolkit](/workshop/toolkit2018) - Nijmegen, NL -- 2017, [Chengdu, China](/workshop/chengdu2017) -- 2017, [Bern, Switzerland](/workshop/baci2017) -- 2017, [Salzburg, Austria](/workshop/salzburg2017) -- 2017, [Jyväskylä, Finland](/workshop/jyvaskyla2017) -- 2017, [MEG/EEG toolkit](/workshop/toolkit2017) - Nijmegen, NL -- 2016, [Marseille, France](/workshop/marseille2016b) -- 2016, [Tübingen, Germany](/workshop/tuebingen2016) -- 2016, [Guangzhou, China](/workshop/guangzhou) -- 2016, [London, UK](/workshop/london) -- 2016, [Coimbra, Portugal](/workshop/coimbra) -- 2016, [Kiel, Germany](/workshop/kiel) -- 2016, [MEG/EEG toolkit](/workshop/toolkit2016) - Nijmegen, NL -- 2016, [Marseille, France](/workshop/marseille) -- 2015, [Nijmegen](/workshop/realtime) - realtime analysis of MEG in AI course -- 2015, [Salzburg, Austria](/workshop/salzburg) -- 2015, [Aarhus, Denmark](/workshop/aarhus2015) -- 2015, [Chieti, Italy](/workshop/chieti2015) -- 2015, [Barcelona, Spain](/workshop/barcelona) -- 2015, [MEG/EEG toolkit](/workshop/toolkit2015) - Nijmegen, NL -- 2015, [MEG-UK meeting](/workshop/meg-uk-2015) - at Aston University, Birmingham, UK -- 2014, [Stockholm, Sweden](/workshop/natmeg2014) - EEG/MEG with a pitch towards clinical research -- 2014, [Birmingham, UK](/workshop/birmingham) - for the whole UK-MEG community -- 2014, [Parma, Italy](/workshop/parma) -- 2014, [Zurich, Switzerland](/workshop/zurich) -- 2014, [Göttingen, Germany](/workshop/goettingen) -- 2014, [Stockholm, Sweden](/workshop/stockholm2014) - combined FieldTrip and MNE workshop at NatMEG -- 2014, [MEG/EEG toolkit](/workshop/toolkit2014) - Nijmegen, NL -- 2013, [Groesbeek, Netherlands](/workshop/groesbeek2013) - DCCN summerschool on brain networks -- 2013, [Hamburg, Germany](/workshop/hamburg2013) -- 2013, [San Sebastian, Spain](/workshop/donostia2013) -- 2013, [Toronto, Canada](/workshop/toronto) -- 2013, [Tübingen, Germany](/workshop/tuebingen13) -- 2013, MEG/EEG toolkit, Nijmegen, NL -- 2012, [Trento, Italy](/workshop/trento) -- 2012, [Krakow, Poland](/workshop/krakow) -- 2012, [Frankfurt, Germany](/workshop/frankfurt) -- 2012, [Hamburg, Germany](/workshop/hamburg) -- 2012, Leipzig, Germany -- 2012, MEG/EEG toolkit, Nijmegen, NL -- 2011, Tübingen, Germany -- 2011, [St Louis, USA](/workshop/stlouis) -- 2011, New York, USA -- 2011, MEG/EEG toolkit, Nijmegen, NL -- 2010, Chieti, Italy -- 2010, Jena, Germany -- 2010, MEG/EEG toolkit, Nijmegen, NL -- 2009, Oxford, UK -- 2009, Seoul, South Korea -- 2009, Paris, France -- 2009, MEG/EEG toolkit, Nijmegen, NL -- 2008, Lyon, France (on realtime analysis) -- 2008, MEG/EEG toolkit, Nijmegen, NL -- 2007, Glasgow, UK -- 2007, MEG/EEG toolkit, Nijmegen, NL -- 2006, MEG/EEG toolkit, Nijmegen, NL -- 2005, MEG/EEG toolkit, Nijmegen, NL +- 2024, [CuttingEEG X](/workshop/cuttingeegx) - Nijmegen, NL +- 2024, [MEG/EEG toolkit](/workshop/toolkit2024) - Nijmegen, NL +- 2024, [WIRED at ICM, Paris](/workshop/wired2024) +- 2024, [Sofia, Bulgaria](/workshop/sofia2024) +- 2023, [Hamburg, Germany](/workshop/hamburg2023) +- 2023, [MEG/EEG toolkit](/workshop/toolkit2023) - Nijmegen, NL +- 2023, [FIT'NG](/workshop/fitng2023) - Fetal, Infant, & Toddler Neuroimaging Group, online +- 2022, [PracticalMEEG](/workshop/practicalmeeg2022) - Aix-en-Provence, France +- 2022, [FEMfuns workshop](/workshop/femfuns2022) - Nijmegen, NL +- 2022, [Donders Cognition Brain and Technology school](/workshop/bcbt2022) - Nijmegen, NL +- 2022, [MEG/EEG toolkit](/workshop/toolkit2022) - Nijmegen, NL +- 2021, [CuttingEEG 2021](/workshop/cuttingeeg2021) - Aix-en-Provence, France +- 2021, [MEG/EEG toolkit](/workshop/toolkit2021) - (online) Nijmegen, NL +- 2020, [MEG/EEG toolkit](/workshop/toolkit2020) - (online) Nijmegen, NL +- 2019, [PracticalMEEG in Paris](/workshop/paris2019) - combined with BrainStorm and MNE-Python +- 2019, [EEG workshop](/workshop/oslo2019) - Oslo, Norway +- 2019, [Oxford, UK](/workshop/oxford2019) - Oxford, UK +- 2019, [MEG/EEG toolkit](/workshop/toolkit2019) - Nijmegen, NL +- 2019, [ECoG/SEEG toolkit](/workshop/davis2019) - Davis, California +- 2019, [Leuven, Belgium](/workshop/leuven2019) +- 2019, [Göttingen, Germany](/workshop/goettingen2019) +- 2019, [Madrid, Spain](/workshop/madrid2019) +- 2018, [Mannheim, Germany](/workshop/mannheim2018) +- 2018, [Stockholm](/workshop/stockholm2018) +- 2018, [Singapore](/workshop/ohbm2018) +- 2018, [MEG/EEG toolkit](/workshop/toolkit2018) - Nijmegen, NL +- 2017, [Chengdu, China](/workshop/chengdu2017) +- 2017, [Bern, Switzerland](/workshop/baci2017) +- 2017, [Salzburg, Austria](/workshop/salzburg2017) +- 2017, [Jyväskylä, Finland](/workshop/jyvaskyla2017) +- 2017, [MEG/EEG toolkit](/workshop/toolkit2017) - Nijmegen, NL +- 2016, [Marseille, France](/workshop/marseille2016b) +- 2016, [Tübingen, Germany](/workshop/tuebingen2016) +- 2016, [Guangzhou, China](/workshop/guangzhou) +- 2016, [London, UK](/workshop/london) +- 2016, [Coimbra, Portugal](/workshop/coimbra) +- 2016, [Kiel, Germany](/workshop/kiel) +- 2016, [MEG/EEG toolkit](/workshop/toolkit2016) - Nijmegen, NL +- 2016, [Marseille, France](/workshop/marseille) +- 2015, [Nijmegen](/workshop/realtime) - realtime analysis of MEG in AI course +- 2015, [Salzburg, Austria](/workshop/salzburg) +- 2015, [Aarhus, Denmark](/workshop/aarhus2015) +- 2015, [Chieti, Italy](/workshop/chieti2015) +- 2015, [Barcelona, Spain](/workshop/barcelona) +- 2015, [MEG/EEG toolkit](/workshop/toolkit2015) - Nijmegen, NL +- 2015, [MEG-UK meeting](/workshop/meg-uk-2015) - at Aston University, Birmingham, UK +- 2014, [Stockholm, Sweden](/workshop/natmeg2014) - EEG/MEG with a pitch towards clinical research +- 2014, [Birmingham, UK](/workshop/birmingham) - for the whole UK-MEG community +- 2014, [Parma, Italy](/workshop/parma) +- 2014, [Zurich, Switzerland](/workshop/zurich) +- 2014, [Göttingen, Germany](/workshop/goettingen) +- 2014, [Stockholm, Sweden](/workshop/stockholm2014) - combined FieldTrip and MNE workshop at NatMEG +- 2014, [MEG/EEG toolkit](/workshop/toolkit2014) - Nijmegen, NL +- 2013, [Groesbeek, Netherlands](/workshop/groesbeek2013) - DCCN summerschool on brain networks +- 2013, [Hamburg, Germany](/workshop/hamburg2013) +- 2013, [San Sebastian, Spain](/workshop/donostia2013) +- 2013, [Toronto, Canada](/workshop/toronto) +- 2013, [Tübingen, Germany](/workshop/tuebingen13) +- 2013, MEG/EEG toolkit, Nijmegen, NL +- 2012, [Trento, Italy](/workshop/trento) +- 2012, [Krakow, Poland](/workshop/krakow) +- 2012, [Frankfurt, Germany](/workshop/frankfurt) +- 2012, [Hamburg, Germany](/workshop/hamburg) +- 2012, Leipzig, Germany +- 2012, MEG/EEG toolkit, Nijmegen, NL +- 2011, Tübingen, Germany +- 2011, [St Louis, USA](/workshop/stlouis) +- 2011, New York, USA +- 2011, MEG/EEG toolkit, Nijmegen, NL +- 2010, Chieti, Italy +- 2010, Jena, Germany +- 2010, MEG/EEG toolkit, Nijmegen, NL +- 2009, Oxford, UK +- 2009, Seoul, South Korea +- 2009, Paris, France +- 2009, MEG/EEG toolkit, Nijmegen, NL +- 2008, Lyon, France (on realtime analysis) +- 2008, MEG/EEG toolkit, Nijmegen, NL +- 2007, Glasgow, UK +- 2007, MEG/EEG toolkit, Nijmegen, NL +- 2006, MEG/EEG toolkit, Nijmegen, NL +- 2005, MEG/EEG toolkit, Nijmegen, NL diff --git a/workshop/neuroimaging2-2324.md b/workshop/neuroimaging2-2324.md new file mode 100644 index 000000000..2f47c17ed --- /dev/null +++ b/workshop/neuroimaging2-2324.md @@ -0,0 +1,20 @@ +--- +title: Neuroimaging II - Electrophysiological Methods +tags: [neuroimaging2-2324] +--- + +# Neuroimaging II - Electrophysiological Methods + +This course is about the analysis of EEG- and MEG-data. The objective of the course is to introduce the student to the most important analysis methods for this type of data. + +{% include markup/yellow %} +This course is given every year as part of the [Cognitive Neuroscience](https://www.ru.nl/en/education/masters/cognitive-neuroscience-research) research master. + +The version that you are looking at is for the academic year 2023/2024. +{% include markup/end %} + +## Assignments + +This course consists of Signal processing (SPED), Source reconstruction (SR), and Statistical testing (SED). + +The only assignment that you can find here is for [SPED4](/workshop/neuroimaging2-2324/sped4). Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/469254) for the other assignments. diff --git a/workshop/neuroimaging2-2324/sped4.md b/workshop/neuroimaging2-2324/sped4.md new file mode 100644 index 000000000..d06648778 --- /dev/null +++ b/workshop/neuroimaging2-2324/sped4.md @@ -0,0 +1,366 @@ +--- +title: SPED4 - Time-frequency analysis in practice using FieldTrip +tags: [neuroimaging2-2324] +redirect_from: + - /workshop/ni2_timefrequencyanalysis/ + - /workshop/neuroimaging2/timefrequencyanalysis/ +--- + +# SPED4 - Time-frequency analysis in practice using FieldTrip + +## Introduction + +This is an adapted version of the [general FieldTrip tutorial on time-frequency analysis](/tutorial/timefrequencyanalysis), made specifically for the module _Signal Processing for Electrophysiological Data (SPED)_ in the course _Neuroimaging 2: Electrophysiological Methods_, in the _Cognitive Neuroscience Masters (CNS)_ program at Radboud University. This module is taught by Eelke Spaak. + +Some of the concepts convered here should by now be familiar to you, while some other concepts will be new. The main purpose of this week's tutorial is to show you how spectral and time-frequency data analysis is done when using a typical, widely used, analysis toolbox. This is in contrast to previous weeks, in which the focus was much more on implementing the basic methods yourself and understanding their intricacies. Specifically, this tutorial will cover the time-frequency analysis of a single subject's MEG data using a Hanning window, multitapers and wavelets. The tutorial also shows how to visualize the results. + +Please collect all the code you write for this tutorial in a single MATLAB live script file, which you can hand in via Brightspace. Ensure that your answers to the exercises are in separate text or code cells with clear labels ("**Exercise 1**" etc. in bold face will do). Also please start new code cells in your live script for each snippet of code provided here in the tutorial. You can break up a code cell by typing three dashes on a code line (`---`). Make sure all code cells are executed and the relevant plots are embedded. + +## Details on the dataset + +The MEG data set used here is from a language study on semantically congruent and incongruent sentences that is described in detail in Wang et al. (2012). Three types of sentences were used in the experiment. In the fully congruent condition (FC) the sentences ended with a high-cloze probability word, e.g., _De klimmers bereikten eindelijk de top van de berg_ (_The climbers finally reached the top of the mountain_) In the fully incongruent condition (FIC) sentences ended with a semantically anomalous word which was totally unexpected given the sentential context, e.g., _De klimmers bereikten eindelijk de top van de tulp_ (_The climbers finally reached the top of the tulip_). The third type of sentences ended with a semantically anomalous word that had the same initial phonemes (and lexical stress) as the high-cloze words from the congruent condition: initially congruent (IC). There were 87 trials per condition for each of the three conditions, and a set of 87 filler sentences were added. From the EEG literature it is known that a stronger negative potential is produced following incongruent compared to congruent sentence endings about 300-500 ms after the word onset. This response is termed the N400 effect¹ ². For more information about the materials you could take a look at the published EEG experiment using the same sentence materials³. + +In the study applied here, the subjects were seated in a relaxed position under the MEG helmet. Their task was to attentively listen to spoken sentences. They were informed that some of the sentences would be semantically anomalous. Acoustic transducers were used to deliver the auditory stimuli. After a 300-ms warning tone, followed by a 1200 ms pause, a sentence was presented. Every next trial began 4100 ms after the offset of the previous sentence. To reduce eye blinks and movements in the time interval in which the sentence was presented, subjects were instructed to fixate on an asterisk presented visually 1000 ms prior to the beginning of the sentence. The asterisk remained on the screen until 1600 ms after the onset of the spoken sentence. Subjects were encouraged to blink when the asterisk was not displayed on the screen. + +MEG signals were recorded with a 151-channel CTF system. In addition, the EOG was recorded to later discard trials contaminated by eye movements and blinks. The ongoing MEG and EOG signals were lowpass filtered at 100 Hz, digitized at 300 Hz and stored for off-line analysis. To measure the head position with respect to the sensors, three coils were placed at anatomical landmarks of the head (nasion, left and right ear canal). While the subjects were seated under the MEG helmet, the positions of the coils were determined before and after the experiment by measuring the magnetic signals produced by currents passed through the coils. + +The MEG data are stored as epochs or trials of fixed length around each stimulus trigger. + +There is no information in this tutorial about how to compare conditions, how to grandaverage the results across subjects or how to do statistical analysis on the time-frequency data. Some of these issues are covered in other tutorials (see the [summary and suggested further reading](#Summary and suggested further reading) section). + +## Background on time-frequency analysis + +Oscillatory components contained in the ongoing EEG or MEG signal often show power changes relative to experimental events. These signals are not necessarily phase-locked to the event and will not be represented in event-related fields and potentials ([Tallon-Baudry and Bertrand (1999)](https://doi.org/10.1016/S1364-6613(99)01299-1)). The goal of this section is to compute and visualize event-related changes by calculating time-frequency representations (TFRs) of power. This will be done using analysis based on Fourier analysis and wavelets. The Fourier analysis will include the application of multitapers ([Mitra and Pesaran (1999)](https://doi.org/10.1016/S0006-3495(99)77236-X), [Percival and Walden (1993)](http://lccn.loc.gov/92045862)) which allow a better control of time and frequency smoothing. + +Calculating time-frequency representations of power is done using a sliding time window. This can be done according to two principles: either the time window has a fixed length independent of frequency, or the time window decreases in length with increased frequency. For each time window the power is calculated. Prior to calculating the power one or more tapers are multiplied with the data. The aim of the tapers is to reduce spectral leakage and control the frequency smoothing. + +{% include image src="/assets/img/workshop/neuroimaging2-2324/sped4/figure1.png" width="600" %} + +_Figure: Time and frequency smoothing. (a) For a fixed length time window the time and frequency smoothing remains fixed. (b) For time windows that decrease with frequency, the temporal smoothing decreases and the frequency smoothing increases._ + +If you want to know more about tapers/ window functions you can have a look at this +[Wikipedia site](https://en.wikipedia.org/wiki/Window_function). Note that Hann window is another name for Hanning window used in this tutorial. There is also a Wikipedia site about multitapers, to take a look at it click [here](https://en.wikipedia.org/wiki/Multitaper). + +## Procedure + +To calculate the time-frequency analysis for the example dataset we will perform the following steps: + +- Read the data into MATLAB using **[ft_definetrial](/reference/ft_definetrial)** and **[ft_preprocessing](/reference/ft_preprocessing)** +- Seperate the trials from each condition using **[ft_selectdata](/reference/utilities/ft_selectdata)** +- Compute the power values for each frequency bin and each time bin using the function **[ft_freqanalysis](/reference/ft_freqanalysis)** +- Visualize the results. This can be done by creating time-frequency plots for one (**[ft_singleplotTFR](/reference/ft_singleplotTFR)**) or several channels (**[ft_multiplotTFR](/reference/ft_multiplotTFR)**), or by creating a topographic plot for a specified time- and frequency interval (**[ft_topoplotTFR](/reference/ft_topoplotTFR)**). + +{% include image src="/assets/img/workshop/neuroimaging2-2324/sped4/figure2.png" width="200" %} + +_Figure: Schematic overview of the steps in time-frequency analysis_ + +In this tutorial, procedures of 4 types of time-frequency analysis will be shown. You can see each of them under the titles: Time-frequency analysis I, II ... and so on. If you are interested in a detailed description about how to visualize the results, look at the [visualization](#visualization) part. + +## Preprocessing + +The first step is to read the data using the function **[ft_preprocessing](/reference/ft_preprocessing)**. It is recommended to read larger time intervals than the time period of interest. In this example, the time of interest is from -0.5 s to 1.5 s (t = 0 s defines the time of stimulus); however, the script reads the data from -1.0 s to 2.0 s. + +{% include markup/skyblue %} +**Exercise 1**: Why is it recommended to read in larger time intervals than the time window of interest when we want to do time-frequency analysis? +{% include markup/end%} + +### Reading in the data + +First, [download the data from here](https://download.fieldtriptoolbox.org/tutorial/Subject01.zip) and unzip it somewhere. Make sure FieldTrip is added to your MATLAB path: + + addpath + ft_defaults + +Then, execute the following code, which will determine the time indices of the trials of interest (note: adapt the path to wherever you unzipped Subject01.ds): + + cfg = []; + cfg.dataset = '/Subject01.ds'; + cfg.trialfun = 'ft_trialfun_general'; % this is the default + cfg.trialdef.eventtype = 'backpanel trigger'; % name of the trigger channel in the dataset + cfg.trialdef.eventvalue = [3 5 9]; % the values of the stimulus trigger for the three conditions + % 3 = fully incongruent (FIC), 5 = initially congruent (IC), 9 = fully congruent (FC) + cfg.trialdef.prestim = 1; % in seconds + cfg.trialdef.poststim = 2; % in seconds + + cfg = ft_definetrial(cfg); + +{% include markup/skyblue %} +**Exercise 2**: What do the configuration values `cfg.trialdef.prestim` and `cfg.trialdef.poststim` denote? Have a look at the documentation by doing `edit ft_definetrial` (or browse this wiki) if needed. +{% include markup/end%} + +The resulting `cfg` structure will have a `cfg.trl` matrix which contains the begin and end samples of all trials of interest, as well as the offset (3rd column) that determines which sample corresponds to time points t = 0. + +### Cleaning + +Some trials have previously been identified as artifactual (due to for example eye blinks or MEG SQUID jumps). Also, two MEG channels were malfunctioning. Both these trials and channels need to be removed. Furthermore, while reading in the data, we remove the overall per-trial and per-channel mean to facilitate downstream time-frequency analysis. The following code achieves all this and reads in the data: + + % remove the trials that have artifacts from the trl + cfg.trl([2, 5, 6, 8, 9, 10, 12, 39, 43, 46, 49, 52, 58, 84, 102, 107, 114, 115, 116, 119, 121, 123, 126, 127, 128, 133, 137, 143, 144, 147, 149, 158, 181, 229, 230, 233, 241, 243, 245, 250, 254, 260],:) = []; + + % preprocess the data + cfg.channel = {'MEG', '-MLP31', '-MLO12'}; % read all MEG channels except MLP31 and MLO12 + cfg.demean = 'yes'; % do baseline correction with the complete trial + + data_all = ft_preprocessing(cfg); + +We now select one of the conditions from the dataset for time-frequency analysis: + + cfg = []; + cfg.trials = data_all.trialinfo == 3; + dataFIC = ft_redefinetrial(cfg, data_all); + +If you want, you can save the data to disk in order to easily continue later on, without having to read in all data again: + + save dataFIC dataFIC + +## TFR I: Hanning taper, fixed window length + +Here, we will describe how to calculate time frequency representations using the commonly used [Hanning, or Hann, tapers](https://en.wikipedia.org/wiki/Hann_function). When choosing for a fixed window length procedure, the frequency resolution is defined according to the length of the time window (delta T). The frequency resolution (delta f in figure 1) = 1/length of time window in sec (delta T in figure 1). Thus a 500 ms time window results in a 2 Hz frequency resolution (1/0.5 sec = 2 Hz) meaning that power can be calculated for 2 Hz, 4 Hz, 6 Hz etc. An integer number of cycles should fit in the time window. + +In the following example, a time window with length 500 ms is applied: + + cfg = []; + cfg.output = 'pow'; + cfg.channel = 'MEG'; + cfg.method = 'mtmconvol'; + cfg.taper = 'hanning'; + cfg.foi = 2:2:30; % analysis 2 to 30 Hz in steps of 2 Hz + cfg.t_ftimwin = ones(length(cfg.foi),1).*0.5; % length of time window = 0.5 sec + cfg.toi = -0.5:0.05:1.5; % time window "slides" from -0.5 to 1.5 sec in steps of 0.05 sec (50 ms) + TFRhann = ft_freqanalysis(cfg, dataFIC); + +The field `cfg.method = 'mtmconvol';` instructs `ft_freqanalysis` to execute a convolution-type analysis. (The "mtm" stands for "multitaper method", which will be explained in more detail below, but is mainly there for historical reasons, since the function also supports convolution that is *not* based on multitapers.) Regardless of the method used for calculating the TFR, the output format is identical. It is a structure with the following fields: + + TFRhann = + label: {149x1 cell} % Channel names + dimord: 'chan_freq_time' % Dimensions contained in powspctrm, channels X frequencies X time + freq: [2 4 6 8 10 12 14 16 18 20 22 24 26 28 30] % Array of frequencies of interest (the elements of freq may be different from your cfg.foi input depending on your trial length) + time: [1x41 double] % Array of time points considered + powspctrm: [149x15x41 double] % 3-D matrix containing the power values + elec: [1x1 struct] % Electrode positions etc + grad: [1x1 struct] % Gradiometer positions etc + cfg: [1x1 struct] % Settings used in computing this frequency decomposition + +The field `TFRhann.powspctrm` contains the temporal evolution of the raw power values for each specified frequency. + +## Visualization with standard MATLAB code + +To facilitate understanding of the output of `ft_freqanalysis`, it is instructive to first plot it all in the same way we did before using `imagesc`. To do this, we need to first average over channels to obtain a 2D matrix. + + pow_allchan = squeeze(mean(TFRhann.powspctrm, 1)); + figure; + imagesc(TFRhann.time, TFRhann.freq, pow_allchan); + axis xy; + colorbar(); + xlabel('time (s)'); + ylabel('frequency (Hz)'); + +{% include markup/skyblue %} +**Exercise 3**: What do you notice most clearly in these raw power values? How does power vary across frequencies? And across time? +{% include markup/end%} + +## Visualization with FieldTrip code + +As discussed in the videos and lecture, biological signals are often dominated by a strong so-called "1/f" component. In order to visualize and interpret task-related *changes* in oscillatory activity with respect to a baseline window, it is therefore recommended to perform baseline normalization. + +In general there are two possibilities for normalizing: + +- Subtracting, for each frequency, the average power in a baseline interval from all other power values. This gives, for each frequency, the absolute change in power with respect to the baseline interval. +- Expressing, for each frequency, the raw power values as the relative increase or decrease with respect to the power in the baseline interval. This means active period/baseline. If we furthermore log-transform (and scale) these ratios, we end up with the commonly used decibel (db). + +There are three ways of graphically representing the data: 1) time-frequency plots of all channels, in a quasi-topographical layout, 2) time-frequency plot of an individual channel (or average of several channels), 3) topographical 2-D map of the power changes in a specified time-frequency interval. + +To plot the TFRs from all the sensors use the function **[ft_multiplotTFR](/reference/ft_multiplotTFR)**. Settings can be adjusted in the cfg structure. For example: + + cfg = []; + cfg.baseline = [-0.5 -0.1]; + cfg.baselinetype = 'db'; % use db baseline correction + cfg.zlim = 'maxabs'; % color scale symmetric around zero + cfg.showlabels = 'yes'; + cfg.layout = 'CTF151_helmet.mat'; + figure + ft_multiplotTFR(cfg, TFRhann); + +Note that using the options `cfg.baseline` and `cfg.baselinetype` results in baseline correction of the data, implicitly during the plotting call. Baseline correction can also be applied explicitly by calling **[ft_freqbaseline](/reference/ft_freqbaseline)**. Moreover, you can combine the various visualization options/functions interactively to explore your data. + +An interesting effect seems to be present in the TFR of sensor MRC15. To make a plot of a single channel use the function **[ft_singleplotTFR](/reference/ft_singleplotTFR)**. + + cfg = []; + cfg.baseline = [-0.5 -0.1]; + cfg.baselinetype = 'db'; + cfg.zlim = 'maxabs'; + cfg.channel = 'MRC15'; + cfg.layout = 'CTF151_helmet.mat'; + figure + ft_singleplotTFR(cfg, TFRhann); + +From the previous figure you can see that there is an increase in power around 15-20 Hz in the time interval 0.9 to 1.3 s after stimulus onset. To show the topography of the beta increase use the function **[ft_topoplotTFR](/reference/ft_topoplotTFR)**. + + cfg = []; + cfg.baseline = [-0.5 -0.1]; + cfg.baselinetype = 'db'; + cfg.xlim = [0.9 1.3]; + cfg.zlim = 'maxabs'; + cfg.ylim = [15 20]; + cfg.marker = 'on'; + cfg.layout = 'CTF151_helmet.mat'; + cfg.colorbar = 'yes'; + figure + ft_topoplotTFR(cfg, TFRhann); + +{% include markup/skyblue %} +**Exercise 4**: By default, FieldTrip plotting functions support an interactive mode. This interactive mode does not work in combination with Matlab Live scripts. Therefore: also execute the code for `ft_multiplotTFR` in the Matlab command window directly. That allows you to drag a box around sensors of interest, click that box, and you'll get an average TFR for those sensors only. In the resulting TFR plot, drag a box around a time/frequency window of interest, and you'll see a topographical plot. From that topoplot, you can again select sensors and go to an averaged TFR, etc. Optionally see also the [plotting tutorial](/tutorial/plotting) for more details. Play around with interactive mode and reflect briefly on what you see. +{% include markup/end%} + +{% include markup/skyblue %} +**Exercise 5**: Plot the TFR of sensor MLC24. How do you account for the increased power at ~300 ms post-stimulus (hint: compare to what you might expect in an event-related field)? +{% include markup/end%} + +## TFR II: Hanning taper, frequency dependent window length + +It is also possible to calculate the TFRs with respect to a time window that varies with frequency. Typically the time window gets shorter with an increase in frequency. The main advantage of this approach is that the temporal smoothing decreases with higher frequencies, leading to increased sensitivity to short-lived effects. However, an increased temporal resolution is at the expense of frequency resolution. + +{% include markup/skyblue %} +**Exercise 6**: Why is it the case that increased temporal resolution is at the expence of frequency resolution? +{% include markup/end%} + +We will here show how to perform a frequency-dependent time-window analysis, using a sliding window Hanning taper based approach. The approach is very similar to wavelet analysis. A wavelet analysis performed with a Morlet wavelet mainly differs by applying a Gaussian shaped taper (see [Time-frequency analysis IV](#time-frequency-analysis-iv)). + +The analysis is best done by first selecting the numbers of cycles per time window which will be the same for all frequencies. For instance if the number of cycles per window is 7, the time window is 1000 ms for 7 Hz (1/7 x 7 cycles); 700 ms for 10 Hz (1/10 x 7 cycles) and 350 ms for 20 Hz (1/20 x 7 cycles). The frequency can be chosen arbitrarily - however; too fine a frequency resolution is just going to increase the redundancy rather than providing new information. + +Below is the configuration for a 7-cycle time window. The calculation is only done for one sensor (MRC15) but it can of course be extended to all sensors. + + cfg = []; + cfg.output = 'pow'; + cfg.channel = 'MRC15'; + cfg.method = 'mtmconvol'; + cfg.taper = 'hanning'; + cfg.foi = 2:1:30; + cfg.t_ftimwin = 7./cfg.foi; % 7 cycles per time window + cfg.toi = -0.5:0.05:1.5; + TFRhann7 = ft_freqanalysis(cfg, dataFIC); + +To plot the result use **[ft_singleplotTFR](/reference/ft_singleplotTFR)**: + + cfg = []; + cfg.baseline = [-0.5 -0.1]; + cfg.baselinetype = 'db'; + cfg.zlim = 'maxabs'; + cfg.channel = 'MRC15'; + cfg.interactive = 'no'; + cfg.layout = 'CTF151_helmet.mat'; + figure + ft_singleplotTFR(cfg, TFRhann7); + +{% include markup/skyblue %} +**Exercise 7**: Adjust the length of the time-window and thereby degree of smoothing. Use **[ft_singleplotTFR](/reference/ft_singleplotTFR)** to show the results. Discuss the consequences of changing these setting. +{% include markup/end%} + +## TFR III: Morlet wavelets + +As discussed in detail in the videos, lectures, and last week's assignment, a common way to calculate TFRs is convolution with Morlet wavelets. The approach is equivalent to calculating TFRs with sliding time windows that depend on frequency using a taper with a Gaussian shape. + +{% include markup/skyblue %} +**Exercise 8**: Why are the two approaches equivalent? (Approach 1: slide a time window over your data, multiply the data in each window with a Gaussian, then FFT; approach 2: construct a wavelet by multiplying a complex sinusoid with a Gaussian window, and convolve that wavelet with your data.) +{% include markup/end%} + +The commands below illustrate how to do Morlet-wavelet based analysis in FieldTrip. One crucial parameter to set is `cfg.width`. It determines the width of the wavelets in number of cycles. Making the value smaller will increase the temporal resolution at the expense of frequency resolution and vice versa. The spectral bandwidth at a given frequency F is equal to `F/width*2` (so, at 30 Hz and a width of 7, the spectral bandwidth is `30/7*2 = 8.6 Hz`) while the wavelet duration is equal to `width/F/pi` (in this case, `7/30/pi = 0.074s = 74ms`) ([Tallon-Baudry and Bertrand (1999)](https://doi.org/10.1016/S1364-6613(99)01299-1)). + +Calculate TFRs using Morlet wavelet convolution: + + cfg = []; + cfg.channel = 'MEG'; + cfg.method = 'wavelet'; + cfg.width = 7; + cfg.output = 'pow'; + cfg.foi = 1:2:30; + cfg.toi = -0.5:0.05:1.5; + TFRwave = ft_freqanalysis(cfg, dataFIC); + +Plot the result (again, recommended to do this in the command window directly because of interactive move): + + cfg = []; + cfg.baseline = [-0.5 -0.1]; + cfg.baselinetype = 'db'; + cfg.zlim = 'maxabs'; + cfg.showlabels = 'yes'; + cfg.layout = 'CTF151_helmet.mat'; + cfg.colorbar = 'yes'; + figure + ft_multiplotTFR(cfg, TFRwave) + + +{% include markup/skyblue %} +**Exercise 9A**: Adjust `cfg.width` and see how the TFRs change. **Exercise 9B**: Make some plots using `absolute` baseline correction instead of `db` and see how the TFRs change. I'd recommend switching to `ft_singleplotTFR` for one or a few channels of interest for these exercises, rather than doing the full `ft_multiplotTFR` each time. +{% include markup/end%} + +## TFR IV: Multitapers + +Multitapers (literally: multiple tapers per time window of interest) are sometimes used in order to achieve better control over the frequency smoothing. More tapers for a given time window will result in stronger smoothing. For frequencies above 30 Hz, smoothing has been shown to be advantageous, increasing sensitivity thanks to reduced variance in the estimates despite reduced effective spectral resolution. Oscillatory gamma activity (30-100 Hz) is quite broad band and thus analysis of this signal component benefits from multitapering, which trades spectral resolution against increased sensitivity. For signals lower than 30 Hz it is recommend to use only a single taper, e.g., a Hanning taper as shown above (beware that in the example below multitapers are used to analyze low frequencies because there are no effects in the gamma band in this dataset). + +Time-frequency analysis based on multitapers is also performed by **[ft_freqanalysis](/reference/ft_freqanalysis)**. The function uses a sliding time window for which the power is calculated for a given frequency. Prior to calculating the power by discrete Fourier transforms the data are 'tapered'. Several orthogonal tapers might be used for each time window. The power is calculated for each tapered data segment and then combined. In the example below we apply a time window which gradually becomes shorter for higher frequencies (similar to wavelet techniques). Note that this is not necessary, but up to the researcher to decide. The arguments for the chosen parameters are as follows: + +- `cfg.foi`, the frequencies of interest, here from 1 Hz to 30 Hz in steps of 2 Hz. The step size could be decreased at the expense of computation time and redundancy. +- `cfg.toi`, the time-interval of interest. This vector determines the center times for the time windows for which the power values should be calculated. The setting `cfg.toi = -0.5:0.05:1.5` results in power values from -0.5 to 1.5 s in steps of 50 ms. A finer time resolution will give redundant information and longer computation times, but a smoother graphical output. +- `cfg.t_ftimwin` is the length of the sliding time-window in seconds. We have chosen `cfg.t_ftimwin = 5./cfg.foi`, i.e. 5 cycles per time-window. When choosing this parameter it is important that a full number of cycles fit within the time-window for a given frequency. +- `cfg.tapsmofrq` determines the width of frequency smoothing in Hz. We have chosen `cfg.tapsmofrq = cfg.foi*0.4`, i.e. the smoothing will increase with frequency. Specifying larger values will result in more frequency smoothing. For less smoothing you can specify smaller values, however, the following relation determined by the Shannon number must hold (see [Percival and Walden (1993)](http://lccn.loc.gov/92045862)): +`K = 2*tw*fw-1`, + +where K is required to be larger than 0. K is the number of tapers applied; the more, the greater the smoothing. + +These settings result in the following characteristics as a function of the frequencies of interest: + +{% include image src="/assets/img/workshop/neuroimaging2-2324/sped4/figure7.png" width="400" %} + +_Figure: a) The characteristics of the TFRs settings using multitapers in terms of time and frequency resolution of the settings applied in the example. b) Examples of the time-frequency tiles resulting from the settings._ + + cfg = []; + cfg.output = 'pow'; + cfg.channel = 'MEG'; + cfg.method = 'mtmconvol'; + cfg.foi = 1:2:30; + cfg.t_ftimwin = 5./cfg.foi; + cfg.tapsmofrq = 0.4 *cfg.foi; + cfg.toi = -0.5:0.05:1.5; + TFRmult = ft_freqanalysis(cfg, dataFIC); + +Note that if you get an error here that `dpss` is not working because you require the Signal Processing Toolbox, you can either (a) install the Signal Processing Toolbox if you have a license for it, or manually add `/external/signal/dpss_hack` to your Matlab path. + +Plot the result (again in the command window for interactive plotting): + + cfg = []; + cfg.baseline = [-0.5 -0.1]; + cfg.baselinetype = 'db'; + cfg.zlim = 'maxabs'; + cfg.showlabels = 'yes'; + cfg.layout = 'CTF151_helmet.mat'; + cfg.colorbar = 'yes'; + figure + ft_multiplotTFR(cfg, TFRmult) + +{% include markup/skyblue %} +**Exercise 10**: Explore the TFRs that result from multitapering. Reflect on how the alpha/beta-band (~10-20 Hz) response around 1-1.5s post-stimulus appears now, in comparison with the earlier approaches. Why might it be beneficial to use multitapering? +{% include markup/end%} + +### Multitapering as a hack around the time-frequency uncertainty principle? + +A final more detailed note on what multitapering actually does. While the fundamental trade-off between time- and frequency-resolution cannot be broken, multitapering offers a sort of "hack" to artificially reduce one *without* increasing the other. Sometimes we want to smooth over different frequencies, which is another way of saying that sometimes we *want* to reduce our frequency resolution. For example, we might know that, from a cognitive/physiological perspective, the exact same phenomenon is reflected in slightly different frequency bands across participants. By now you may have the (correct) intuition that in order to do this, we should reduce our time window or wavelet width (since that increases time resolution and thereby decreases frequency resolution a.k.a. increases frequency smoothing). However, we may also know, again from a cognitive/physiological perspective, that the exact same phenomenon is not always present at the exact same time points across participants, or even across trials! So here, actually, increasing our temporal resolution (a.k.a. decreasing time smoothing) is not what we want, because also that reduces our subsequent statistical sensitivity. Multitapering offers a way to reduce our frequency resolution (increase smoothing) while keeping the time window the same. Note that this is not a magical way around the "uncertainty principle", as it can only *increase* smoothing beyond that which is inherent in the time window, it cannot decrease it (i.e., increase frequency resolution) beyond that which is dictated by the time window length. + +## Optional further reading + +Here are links to other documentation that deals with frequency and time-frequency analysis. + +### Frequently asked questions + +{% include seealso category="faq" tag1="freq" %} + +### Examples + +{% include seealso category="example" tag1="freq" %} + +## References + +1. Kutas M, Hillyard SA. (1980) Reading senseless sentences: brain potentials reflect semantic incongruity. Science. 207(4427):203-5 +2. Kutas M, Federmeier KD. (2000) Electrophysiology reveals semantic memory use in language comprehension. Trends Cogn Sci. 4(12):463-470 +3. van den Brink D, Brown CM, & Hagoort P. (2001). Electrophysiological evidence for early contextual influences during spoken-word recognition: N200 versus N400 effects. J Cogn Neurosci. 13(7):967-985 +4. Wang L, Jensen O, van den Brink D, Weder N, Schoffelen JM, Magyari L, Hagoort P, Bastiaansen M. (2012) Beta oscillations relate to the N400m during language comprehension. Hum Brain Mapp. 2012 Dec;33(12):2898-912. diff --git a/workshop/neuroimaging2-2425.md b/workshop/neuroimaging2-2425.md new file mode 100644 index 000000000..014427083 --- /dev/null +++ b/workshop/neuroimaging2-2425.md @@ -0,0 +1,40 @@ +--- +title: Neuroimaging II - Electrophysiological Methods +tags: [neuroimaging2-2425] +--- + +# Neuroimaging II - Electrophysiological Methods + +This course is about the analysis of EEG- and MEG-data. The objective of the course is to introduce the student to the most important analysis methods for this type of data. + +{% include markup/yellow %} +This course is given every year as part of the [Cognitive Neuroscience](https://www.ru.nl/en/education/masters/cognitive-neuroscience-research) research master. + +The version that you are looking at is for the academic year 2024/2025. +{% include markup/end %} + +## Assignments + +This course consists of three parts. Note that some of these parts the assignments are not found here but on [BrightSpace](https://brightspace.ru.nl/d2l/home/502448). + +### Signal processing (SPED) + +- [SPED1](/workshop/neuroimaging2-2425/sped1) +- [SPED2](/workshop/neuroimaging2-2425/sped2) +- [SPED3](/workshop/neuroimaging2-2425/sped3) +- [SPED4](/workshop/neuroimaging2-2425/sped4) + +### Source reconstruction (SR) + +- [SR1](/workshop/neuroimaging2-2425/sr1) +- [SR2](/workshop/neuroimaging2-2425/sr2) +- [SR3](/workshop/neuroimaging2-2425/sr3) +- [SR4](/workshop/neuroimaging2-2425/sr4) +- [SR5](/workshop/neuroimaging2-2425/sr5) + +### Statistical testing (SED) + +- [SED1](/workshop/neuroimaging2-2425/sed1) +- [SED2](/workshop/neuroimaging2-2425/sed2) +- [SED3](/workshop/neuroimaging2-2425/sed3) +- [SED4](/workshop/neuroimaging2-2425/sed4) \ No newline at end of file diff --git a/workshop/neuroimaging2-2425/sed1.md b/workshop/neuroimaging2-2425/sed1.md new file mode 100644 index 000000000..334b1af35 --- /dev/null +++ b/workshop/neuroimaging2-2425/sed1.md @@ -0,0 +1,8 @@ +--- +title: SED1 - Statistical testing of electrophysiological data +tags: [neuroimaging2-2425] +--- + +# SED1 - Statistical testing of electrophysiological data + +Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/502448) for the assignment. diff --git a/workshop/neuroimaging2-2425/sed2.md b/workshop/neuroimaging2-2425/sed2.md new file mode 100644 index 000000000..420205af4 --- /dev/null +++ b/workshop/neuroimaging2-2425/sed2.md @@ -0,0 +1,8 @@ +--- +title: SED2 - Statistical testing of electrophysiological data +tags: [neuroimaging2-2425] +--- + +# SED2 - Statistical testing of electrophysiological data + +Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/502448) for the assignment. diff --git a/workshop/neuroimaging2-2425/sed3.md b/workshop/neuroimaging2-2425/sed3.md new file mode 100644 index 000000000..29f63d0f2 --- /dev/null +++ b/workshop/neuroimaging2-2425/sed3.md @@ -0,0 +1,8 @@ +--- +title: SED3 - Statistical testing of electrophysiological data +tags: [neuroimaging2-2425] +--- + +# SED3 - Statistical testing of electrophysiological data + +Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/502448) for the assignment. diff --git a/workshop/neuroimaging2-2425/sed4.md b/workshop/neuroimaging2-2425/sed4.md new file mode 100644 index 000000000..db6918d2c --- /dev/null +++ b/workshop/neuroimaging2-2425/sed4.md @@ -0,0 +1,8 @@ +--- +title: SED4 - Statistical testing of electrophysiological data +tags: [neuroimaging2-2425] +--- + +# SED4 - Statistical testing of electrophysiological data + +Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/502448) for the assignment. diff --git a/workshop/neuroimaging2-2425/sped1.md b/workshop/neuroimaging2-2425/sped1.md new file mode 100644 index 000000000..2ee956950 --- /dev/null +++ b/workshop/neuroimaging2-2425/sped1.md @@ -0,0 +1,8 @@ +--- +title: SPED1 - Signal processing of electrophysiological data +tags: [neuroimaging2-2425] +--- + +# SPED1 - Signal processing of electrophysiological data + +Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/502448) for the assignment. diff --git a/workshop/neuroimaging2-2425/sped2.md b/workshop/neuroimaging2-2425/sped2.md new file mode 100644 index 000000000..900a90fc3 --- /dev/null +++ b/workshop/neuroimaging2-2425/sped2.md @@ -0,0 +1,8 @@ +--- +title: SPED2 - Signal processing of electrophysiological data +tags: [neuroimaging2-2425] +--- + +# SPED2 - Signal processing of electrophysiological data + +Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/502448) for the assignment. diff --git a/workshop/neuroimaging2-2425/sped3.md b/workshop/neuroimaging2-2425/sped3.md new file mode 100644 index 000000000..0a5cfee73 --- /dev/null +++ b/workshop/neuroimaging2-2425/sped3.md @@ -0,0 +1,8 @@ +--- +title: SPED3 - Signal processing of electrophysiological data +tags: [neuroimaging2-2425] +--- + +# SPED3 - Signal processing of electrophysiological data + +Please look at [BrightSpace](https://brightspace.ru.nl/d2l/home/502448) for the assignment. diff --git a/workshop/neuroimaging2/timefrequencyanalysis.md b/workshop/neuroimaging2-2425/sped4.md similarity index 98% rename from workshop/neuroimaging2/timefrequencyanalysis.md rename to workshop/neuroimaging2-2425/sped4.md index c6f285bf1..2a738401b 100644 --- a/workshop/neuroimaging2/timefrequencyanalysis.md +++ b/workshop/neuroimaging2-2425/sped4.md @@ -1,11 +1,9 @@ --- -title: (SPED4) Time-frequency analysis in practice using FieldTrip -tags: [ni2] -redirect_from: - - /workshop/ni2_timefrequencyanalysis/ +title: SPED4 - Time-frequency analysis in practice using FieldTrip +tags: [neuroimaging2-2425] --- -# (SPED4) Time-frequency analysis in practice using FieldTrip +# SPED4 - Time-frequency analysis in practice using FieldTrip ## Introduction @@ -33,7 +31,7 @@ Oscillatory components contained in the ongoing EEG or MEG signal often show pow Calculating time-frequency representations of power is done using a sliding time window. This can be done according to two principles: either the time window has a fixed length independent of frequency, or the time window decreases in length with increased frequency. For each time window the power is calculated. Prior to calculating the power one or more tapers are multiplied with the data. The aim of the tapers is to reduce spectral leakage and control the frequency smoothing. -{% include image src="/assets/img/tutorial/timefrequencyanalysis/figure1.png" width="600" %} +{% include image src="/assets/img/workshop/neuroimaging2-2425/sped4/figure1.png" width="600" %} _Figure: Time and frequency smoothing. (a) For a fixed length time window the time and frequency smoothing remains fixed. (b) For time windows that decrease with frequency, the temporal smoothing decreases and the frequency smoothing increases._ @@ -49,7 +47,7 @@ To calculate the time-frequency analysis for the example dataset we will perform - Compute the power values for each frequency bin and each time bin using the function **[ft_freqanalysis](/reference/ft_freqanalysis)** - Visualize the results. This can be done by creating time-frequency plots for one (**[ft_singleplotTFR](/reference/ft_singleplotTFR)**) or several channels (**[ft_multiplotTFR](/reference/ft_multiplotTFR)**), or by creating a topographic plot for a specified time- and frequency interval (**[ft_topoplotTFR](/reference/ft_topoplotTFR)**). -{% include image src="/assets/img/tutorial/timefrequencyanalysis/figure2.png" width="200" %} +{% include image src="/assets/img/workshop/neuroimaging2-2425/sped4/figure2.png" width="200" %} _Figure: Schematic overview of the steps in time-frequency analysis_ @@ -308,7 +306,7 @@ where K is required to be larger than 0. K is the number of tapers applied; the These settings result in the following characteristics as a function of the frequencies of interest: -{% include image src="/assets/img/tutorial/timefrequencyanalysis/figure7.png" width="400" %} +{% include image src="/assets/img/workshop/neuroimaging2-2425/sped4/figure7.png" width="400" %} _Figure: a) The characteristics of the TFRs settings using multitapers in terms of time and frequency resolution of the settings applied in the example. b) Examples of the time-frequency tiles resulting from the settings._ diff --git a/workshop/neuroimaging2-2425/sr1.md b/workshop/neuroimaging2-2425/sr1.md new file mode 100644 index 000000000..33a3ae197 --- /dev/null +++ b/workshop/neuroimaging2-2425/sr1.md @@ -0,0 +1,344 @@ +--- +title: SR1 - Source reconstruction +tags: [neuroimaging2-2425] +--- + +# SR1 - Source reconstruction + +## 1 The biophysical forward model and linear mixing + +We assume that you have MATLAB installed and that you understand the basics +of it. This includes the following: starting a MATLAB session, using the command-line, +and using the MATLAB-editor. + +For the exercises we are going to use MATLAB-code that has been written specifically +for this course, as well the MATLAB-based toolbox FieldTrip. The latter has +been initiated at the Donders Centre for Cognitive Neuroimaging. The toolbox +is under continuous development and contains many state-of-the-art algorithms +for the analysis of electrophysiological data. Unlike other popular toolboxes, +FieldTrip does not come with a Graphical User Interface (GUI), and thus simply +clicking buttons is not sufficient to achieve what comes to your mind. As a +consequence, the novice user may experience some difficulties in getting the +most out of the toolbox. Fortunately, there is an excellent website that provides +a wealth of information. For the exercises in this course, no detailed knowledge +about FieldTrip is required. Howver, if you have some time to spare and feel +adventurous, there is a large quantity of [tutorials](/tutorial) that can be followed. + +### 1.1 Getting started: setting up the MATLAB environment + +As a first step, you need to install the required toolboxes on your computer. +These can be obtained from Brightspace or githib. We advise you to create a +separate folder that will contain the material for this course. For example, +on Windows, you could create a folder in 'My Documents' called 'neuroimaging2', +with a subfolder called 'matlab'. You have to download the two zip-files `fieldtrip.zip` +and `ni2.zip` from Brightspace to this folder and unzip them in this location. + +Next, MATLAB needs to know where to find the code we are using in the exercises. +To this end, the folders you have just created need to be added to the MATLAB-path. +Although this can be done through the 'Set Path' option (see figure 1), we will +use a `startup.m` file. This is a script that automatically deals with the path-settings +that are relevant for the exercises. Each time you start a MATLAB-session, you +need to change the Current Folder to `ni2`, and type `ni2_startup` on the command +line. This will automatically ensure that the path-settings are correct. + + ni2_startup + +### 1.2 Getting started: tips on how to approach the exercises + +The best way to approach the exercises is to create a MATLAB-script that can +be used to copy-and-paste the MATLAB-code in the instructions, and allows you +to play around with various parameter settings etc. You can open a new script +in the MATLAB-editor by typing edit on the command line, or by going to File->New->Script. +Next, you can save each script as a separate file in your course folder. + +## 2 Spatial mixing is linear mixing is matrix multiplication + +Electrophysiological signals typically represent a mixture of the underlying +neuronal sources. The next exercises intend to give some fundamental insights +with respect to the general mixing phenomenon. After doing these exercises: + +- You will understand that instantaneous mixing is the same as making a linear +combination of the underlying 'source' processes. +- You will know that making a weighted combination is equivalent to doing +a matrix multiplication. +- Argue that temporal characteristics of the sources and the spatial mixing +interact in a non-trivial way. + +We start with the generation of some 'source signals'. To this end we can +use the function `ni2_activation`. If you type `help ni2_activation` on the +MATLAB-command line you can read how to use the function. Let's start with + + [sourceactivity, time] = ni2_activation; + whos sourceactivity time + +Without specifying any input arguments, the function will set all parameters +to a default value. Type `help ni2_activation` to see the default parameter +values. + +The output variables `sourceactivity` and `time` contain for each sampled +time point the amplitude of the source signal, and the time in seconds. You +can visualize the activity by using MATLAB's built-in function plot. Type + + figure; plot(time, sourceactivity); xlabel('time (s)'); ylabel('activation (a.u.)') + +Imagine that a stimulus was presented at time t=0, and that around 300 or +400 ms after that stimulus some cortical activation was triggered. + +**_Verify whether the default parameter settings in ni2_activation coincide +with what is described in the function's._** + +Now we will create a second time course that peaks at 0.4 seconds and which +has an oscillation frequency of 5 Hz: + + [sourceactivity2, time] = ni2_activation('latency', 0.4, 'frequency', 5); + + whos sourceactivity2 time + +Verify the result by using the plot function. You can visualize the two time +courses in the same figure by doing: + + figure; hold on; xlabel('time (s)'); ylabel('activation (a.u.)') + plot(time, sourceactivity, 'b'); + plot(time, sourceactivity2, 'r'); + +The `hold on` command is necessary in order to show more than one line in +the figure. + +**_Evaluate the effect of the different parameter settings is on the shape +of the time course, by specifying different values for the frequency, ncycle, +latency and phase._** + +We can apply a very simple instantaneous mixing to the two sources' timecourses +by just summing the two. This procedure is equivalent to taking a weighted combination, +where the weight for each source is 1: + + datamix = sourceactivity + sourceactivity2; + size(datamix) + figure; plot(time, datamix); + +**_Plot the three time courses in a single figure and verify that the peaks +and troughs in the mixed signal do not necessarily end up at the same latencies +as in the constituent source signals._** + +**_Investigate how the morphology of the mixed signal changes, when the latency +of the second component (`sourceactivity2`) is changed. Also, see what the effect +is of changing the phase of the second component. Hint: create a new `sourceactivity2` +with different input parameters to `ni2_activation` and create a new `datamix`. +Look in the help documentation of `ni2_activation` to try and understand how to +adjust the phase of the signal._** + +Next, we will verify that a (weighted) combination of two (or more) activation +time courses can be easily achieved by means of a matrix multiplication. To +this end we first concatenate the original source activations into a single +matrix (each of the original timecourses will be a row in the resulting matrix): + +make sure that the `sourceactivity2` is what it should be, not the one you have been playing with + + [sourceactivity2, time] = ni2_activation('latency', 0.4, 'frequency', 5); + +concatenate the two vectors in a matrix + + sourcecombined = [sourceactivity; sourceactivity2]; + size(sourcecombined) + +Note that it is now very easy to plot both timecourses with a single plotting +command: + + figure + plot(time, sourcecombined); + +We can now make a mixture of the two 'sources' with a simple matrix multiplication. +Execute the following lines of code and verify that the outcomes are the same. + + datamix1 = sourceactivity + sourceactivity2; + datamix2 = sum(sourcecombined, 1); + datamix3 = [1 1] * sourcecombined; + + whos datamix1 datamix2 datamix3 + +or, more generally + + mix = [1 1]; + datamix3 = mix * sourcecombined; + +Note that the outcome of a matrix multiplication A*B, where the input matrices +are of dimensionality n x m and m x p yields a matrix of dimensionality n x +p. If you don't remember exactly the mechanics involved in a matrix multiplication, +you should look this up in the course material for the CNS Advanced Mathematics +course, or you could check the Wikipedia entry on matrix multiplication. In +our example p corresponds with the number of time points, m with the number +of 'sources', and n with the number of 'channels'. Our (very simple) 1 x 2 mixing +matrix [1 1] thus corresponds to the mapping of 2 sources onto a single channel, +where each of the sources is weighted with a factor of 1. We can increase the +number of channels by increasing the number of rows in the matrix mix: + + mix = [0 1; 0.1 0.9; 0.25 0.75; 0.5 0.5; 0.75 0.25; 0.9 0.1; 1 0]; + datamix = mix * sourcecombined; + whos mix + whos sourcecombined + whos datamix + +To better evaluate the individual time courses of the mixed sources, but still +visualizing them in the same figure, you can type: + + figure; plot(time, datamix + repmat((1:7)', [1 1000])); + +The part _repmat((1:7)', [1 1000]))_ lifts the 7 signals to different heights +in the figure. To better see what the repmat function does, type + + figure; plot(time, repmat((1:7)', [1 1000])); + +Note that the sum of the values in the rows of the mixing matrix do not have +to sum to a value of one. Note also that the values in the mixing matrix can +be negative. + +**_What is the effect of a negative mixing weight on the mixed result?_** + +## 3 Spatial mixing of neural sources: the leadfield + +This section deals with the spatial topographies of activity that are observed +with EEG when neural sources are active. Modeling these spatial topographies +when the underlying sources are known is called forward modeling. After doing +these exercises + +- You will understand the concept of a leadfield. +- You understand the effect of source parameters on the observed topographies. + +To build a forward model one needs a model of the sources, a volume conduction +model, and information about the sensor array (we will come back to this somewhat +later in this course). Sources are typically modeled as equivalent current dipoles +(ECDs). At the spatial scale of EEG/MEG an ECD can be represented as a point +source with 6 parameters: 3 location parameters (x, y, z coordinates in a (Cartesian) +coordinate system), and 3 parameter dipole moment (combining amplitude and orientation +information) along the x, y, z-axes of the coordinate system (see figure). + +As a volume conduction model we will initially use a simple model, consisting +of three concentric spheres. These spheres represent the inner and outer surfaces +of the skull, and the scalp surface. In an EEG volume conduction model, these +surfaces represent the locations at which the conductivity of the tissue changes +rapidly, leading to distortion and smearing of the volume currents. We will +use an EEG sensor-array that has 91 electrodes placed on the spherical scalp +surface. As such this sensor-array does not correspond to what you typically +encounter in real life EEG-setups, but this is not a problem for bringing across +the main message. + +To create the headmodel, type: + + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 3) + +To create the sensor array, type: + + sensors = ni2_sensors('type', 'eeg') + +These can be visualized using a few functions from the FieldTrip-toolbox: + + figure; hold on; + ft_plot_headmodel(headmodel, 'edgecolor', 'none', 'facecolor', 'skin'); alpha 0.5 + ft_plot_sens(sensors, 'elecshape', 'disc', 'elecsize', 1, 'label', 'on'); + ft_plot_axes(sensors); + view([1 1 1]) + axis on; grid on + xlabel('x'); ylabel('y'); zlabel('z'); + +Now that we have a sensor array and a volume conductor model of the head, +we can build a model for any source specified within the volume conductor. For +example: + + dippar1 = [0 0 6 1 0 0]; % dipole position at [0 0 6], dipole moment is [1 0 0] + leadfield1 = ni2_leadfield(sensors, headmodel, dippar1); + ni2_topoplot(sensors, leadfield1); colorbar + +The variable dippar1 consists of 6 elements, where the first triplet of numbers +represents the x, y, z-position of the dipole, and the second triplet of numbers +represents the dipole moment. + +**_Take a few moments to try and understand the topography._** + +A basic feature of a leadfield is that a change in the amplitude of the dipole +does not change the distribution of the peaks in the topography. This can be +explored as follows: + + dippar2 = [0 0 6 2 0 0]; + leadfield2 = ni2_leadfield(sensors, headmodel, dippar2); + ni2_topoplot(sensors, leadfield2); colorbar + +**_Verify that the values in leadfield2 differ from the values in leadfield1 +by a factor of 2._** + +The important consequence of this is that the amplitude can be 'uncoupled' +from the orientation (and location) information. Namely: + + ni2_topoplot(sensors, leadfield1*2); colorbar + +will yield the same result as: + + ni2_topoplot(sensors, leadfield2); colorbar + +For this reason, it is custom (and convenient) that leadfields are defined +as the spatial topography of the electric potential (EEG) or magnetic field +(MEG) due to a unit-amplitude source at a given location and orientation. + +In the example above the amplitude information (the value '2') just represented +the activity of a source in a single time point. The amplitude term can be very +easily extended to contain multiple time points, i.e., to become a vector. Mathematically, +this can still be expressed as a matrix multiplication: + + leadfield * amplitude + +We will return to this very important property in the next section. + +Another basic feature is that if two (or more sources) are simultaneously +active, the topographies caused by the individual sources mix linearly to yield +a composite topography: + + dippar3 = [0 0 5.99 1 0 0; 0 0 6.01 1 0 0]; % two dipoles at almost exactly the same location and with the same moment + leadfield3 = ni2_leadfield(sensors, headmodel, dippar3); + topo = leadfield3*[1; 1]; + ni2_topoplot(sensors, topo); colorbar + +The variable _dippar3_ consists of 2 rows of 6 parameters, each representing +a dipole. As a result, the variable leadfield3 consists of two columns, each +representing the spatial topography that is caused by one dipole. + +Note that the mixing column vector ([1; 1]) features on the right side of +the leadfield matrix, as opposed to on the left side (where in addition the +mixing vector was a row vector) when we were mixing activation time courses +in the previous section. Note also, that in the above example two unit-amplitude +sources are located very close to one another. + +**_Verify that the topography due to 2 very closely spaced sources (with the +same orientation) is hardly distinguishable from a situation where only one +source (with twice the single sources’ amplitude) is present at the average +location of the two sources._** + +This is a very important feature of electromagnetic forward models and in +essence the cause for the fact that the inverse problem is ill-posed: there +is no unique solution. We will revisit this issue in more detail at a later +stage. + +So far, we have considered the leadfield of a source located at [0 0 6], with +an orientation of [1 0 0]. + +**_Explore the effect of changing the position and orientation parameters. +Investigate the following situations:_** + +1. **_Keep the orientation fixed and change the location of the source, e.g., +by moving it closer to the center of the 'head’._** +2. **_Change the y and z position of the source, keeping x the same._** +3. **_Keep the location at a fixed position and change the orientation of the +source. Start by investigating the orientations [1 0 0], [0 1 0], and [0 0 1]._** +4. **_Also explore source orientations that have more than 1 non-zero value, +e.g. [0 1 1]._** +5. **_Compare the effect of a change in the sign of the orientation, e.g. [0 +1 1] versus [0 -1 -1]._** + +Up to this point we have explicitly added the orientation parameters when +computing a leadfield. Typically, however, a leadfield is defined as a 3-column +matrix, where, for a source at a given location, each of the columns represent +a unit source with the orientation along the axes of the coordinate system. +In other words, the first column represents a source with orientation [1 0 0], +the second column represents a source with orientation [0 1 0], etc. Based on +this 3-column representation, any orientation of the source can be represented +by means of (could it be any different?) linear mixing. + +**_Verify this._** diff --git a/workshop/neuroimaging2-2425/sr2.md b/workshop/neuroimaging2-2425/sr2.md new file mode 100644 index 000000000..99acfb721 --- /dev/null +++ b/workshop/neuroimaging2-2425/sr2.md @@ -0,0 +1,337 @@ +--- +title: SR2 - Source reconstruction +tags: [neuroimaging2-2425] +--- + +# SR2 - Source reconstruction + +## 4 Spatiotemporal mixing of neural sources: the basic observation model + +This document continue with the MATLAB exercises that form part of the course +“Neuroimaging II” relating to forward modeling. + +The best way to approach the exercises is to create a MATLAB-script that can +be used to copy-and-paste the MATLAB-code in the instructions, and allows you +to play around with various parameter settings etc. You can open a new script +in the MATLAB-editor by typing edit on the command line, or by going to File->New->Script. +Next, you can save each script as a separate file in your course folder. + +Set up the MATLAB path + + ni2_startup + ft_version + +_This section deals with the basic observation model, and combines what we +have learnt in the previous section. The basic observation model relates to +the very generic model of how the observed data are generated by the constituent +sources. It can be briefly stated as `y = L*s + n`. Here, `y` is the sensor +data, `L` is the known leadfield, `s` is the source amplitude and `n` is sensor +noise._ + +_After doing these exercises:_ + +- _You understand this very basic equation._ +- _In particular, you will understand that the sources’ time courses can be +'uncoupled’ from the spatial topographies._ + +In the previous section it was briefly discussed that the spatial fingerprint +of a given (dipolar) source, its leadfield, can be uncoupled from its moment, +i.e., the amplitude and orientation. In other words, we can construct for a +given location a leadfield matrix (consisting of 3 columns) that defines the +spatial topography of a unit amplitude source in the x, y, and z directions. +Consequently, we can compute any spatial topography due to a dipole at that +location with an arbitrary strength and orientation by right multiplying this +leadfield matrix by an appropriate dipole moment vector: `x = L*m`, where +m consists of three elements. + +To take this even further, rather than defining m as a 3x1-vector, m can be +defined as a 3xt matrix, where each column represents the dipole moment at a +particular time point. If the orientation of the dipole does not change over +time, the dipole is said to have a fixed orientation, and the matrix that represents +the dipole moment as a function of time can be decomposed into a 3x1-vector +representing the orientation (typically normalized to unit length) and a 1xt-vector +describing the activation time course of the dipole. In a formula: `y = m*s`. +If the orientation of the dipole changes over time, e.g. when the activation +is spreading over the crown of a gyrus into the bank of a sulcus, the dipole +is said to be a rotating dipole. In that case, the latter simplification is +not appropriate. + +Let’s explore these issues in the next exercises. We begin with the construction +of some sensor data that measures the activity of a single, fixed orientation +dipole. To this end, we first need to compute a leadfield: + + dippos = [0 0 8]; + sensors = ni2_sensors('type', 'eeg'); + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 3); + leadfield = ni2_leadfield(sensors, headmodel, dippos); + +Note, that by specifying only 3 dipole parameters, we get a leadfield matrix, +consisting of 3 columns. Now, we create an activation time course: + + [sourceactivity, time] = ni2_activation('ncycle', 0.5, 'frequency', 1); + +We now apply an orientation vector dipmom to the activation time course, and +then apply the leadfield to this. All this can be done in a single step: + + dipmom = [1; 0; 0]; + sensordata = leadfield * dipmom * sourceactivity; + +**_Q4.1 - Take some time to understand this multiplication. Also, verify that +this yields the same results as including the dipole moment parameters in the +call to `ni2_leadfield`._** + +These simulated sensor data are actually not interesting at all. This can +be seen when visualizing the sensor activations in a movie: + + ni2_topomovie(sensors, sensordata, time); + +**_Q4.2 - Describe how the topography changes over time. Make a distinction +between the ‘shape’ of the topography, and the ‘strength’._** + +You have hopefully observed that the shape of the topography does not change +over time. If we collapse the leadfield with the dipmom in the first equation +on this page with + + leadfield1 = leadfield * dipmom; + whos leadfield leadfield1 dipmom + +the first equation can be written as: + + sensordata1 = leadfield1 * sourceactivity; + whos sensordata1 + +Where both `leadfield` and `sourceactivity` are vectors (a column and a row +vector respectively). Consequently, each row in `sensordata` can be considered +a scaled version of the vector `sourceactivity`. Also, each column in `sensordata` +can be considered a scaled version of the vector `leadfield`. Thus, the `sensordata` +matrix is a bit boring. + +Once the spatial topographies consist of more than one column (and consequently +there are multiple source activation time courses), the structure in the spatio-temporal +data matrix becomes much richer. For example, we can construct a "rotating" +dipole in the following way: + + sourceactivity2 = ni2_activation('ncycle', 0.5, 'frequency', 1, 'latency', 0.6); + sourceactivity3 = zeros(size(sourceactivity2)); + + sourcedata = [sourceactivity; sourceactivity2; sourceactivity3]; + figure; plot(time, sourcedata); legend({'1', '2', '3'}) + + sensordata2 = leadfield * sourcedata; + ni2_topomovie(sensors, sensordata2, time); + +**_Q4.3 - Describe how the topography changes over time._** + +In the previous exercise we have a constructed a rotating dipole from 2 activation +time courses, where the leadfields corresponding to each of the time courses +were defined at a single location (with different orientation). + +From this situation it is just a small step to consider neural activations +that are originating from different locations. The underlying mathematics is +exactly the same. + + sourceactivity3 = ni2_activation('ncycle', 0.4, 'frequency', 1, 'latency', 0.6); + sourcedata = [sourceactivity; sourceactivity2; sourceactivity3]; + whos sourcedata + + dippar = [0 0 8.5 0 1 0; 3 5 6 0.7 0 -0.7; -5 6 3 0.5 -0.5 0.6]; + leadfield = ni2_leadfield(sensors, headmodel, dippar); + whos dippar leadfield + sensordata3 = leadfield * sourcedata; + whos leadfield sourcedata sensordata3 + ni2_topomovie(sensors, sensordata3, time); + +**_Q4.4 - Describe the changes in topography over time._** + +**_Q4.5 - Create sensor data using three or four source with different activation +patterns to get a feel for the mixing process. In the next class we will compare +the activation patterns that you have generated, and take a vote on the most +aesthetic spatiotemporal movie._** + +## 5 Differences between EEG and MEG, and the issue of the EEG reference + +This section deals with the fundamental differences between EEG and MEG, which +is threefold: # EEG picks up more activity than MEG, # EEG signals are more +blurred than MEG, and # with EEG one always has to consider the reference electrode. + +After doing these exercises: + +- You understand the difference between EEG and MEG in the spatial topography +for a given source. +- You understand that MEG does not see all activity +- You understand the influence of the reference electrode on the spatiotemporal +activation pattern. + +We start with comparing spatial topographies generated by the same dipole, +but measured either with EEG or with MEG. + +As usual we need the following ingredients: a description of a set of sensors, +a volume conduction model, and a set of source parameters. First, we do the +EEG case: + + dippos = [0 0 6]; + dipmom = [1 0 0]; + dippar = [dippos dipmom]; + + headmodeleeg = ni2_headmodel('type', 'spherical', 'nshell', 3); + sensorseeg = ni2_sensors('type', 'eeg'); + leadfieldeeg = ni2_leadfield(sensorseeg, headmodeleeg, dippar); + +We can plot the topography in 2D using: + + ni2_topoplot(sensorseeg, leadfieldeeg); + +or plot everything in 3D with: + + figure + ft_plot_headmodel(headmodeleeg, 'facealpha', 0.3) + ft_plot_sens(sensorseeg, 'elecshape', 'circle', 'label', 'on') + ft_plot_dipole(dippos, dipmom) + ft_plot_axes([], 'unit', 'cm') + ft_plot_topo3d(sensorseeg.chanpos, leadfieldeeg) + ft_colormap('*RdBu'); + title('EEG') + +Then the MEG case: + + headmodelmeg = ni2_headmodel('type', 'spherical', 'nshell', 1); + sensorsmeg = ni2_sensors('type', 'meg'); + leadfieldmeg = ni2_leadfield(sensorsmeg, headmodelmeg, dippar); + +Again, the topography can be ploted with: + + ni2_topoplot(sensorsmeg, leadfieldmeg); + +and in 3D with: + + figure + ft_plot_headmodel(headmodelmeg, 'facealpha', 0.3) + ft_plot_sens(sensorsmeg, 'coilshape', 'circle', 'label', 'on') + ft_plot_dipole(dippos, dipmom) + ft_plot_axes([], 'unit', 'cm') + ft_plot_topo3d(sensorsmeg.chanpos, leadfieldmeg) + ft_colormap('*RdBu') + title('MEG') + +Note that for the MEG situation, the volume conduction model can consist of +just a single sphere and the sensors are just above the head surface, not directly +touching. + +**_Q5.1 - Describe and explain the differences in topography._** + +**_Q5.2 - Explore the effect of the source parameters on the MEG topographies. +To this end, you can vary the location of the dipole, as well as the dipole +moment. In particular:_** + +1. **_Observe what happens if you change the depth of the dipole, i.e., by moving +the position closer to the center of the head._** +1. **_Observe what happens if the dipole moment has a non-zero radial component, +where in the extreme case the orientation is fully radial. See below for some +notes with respect to dipole orientation._** + +**_Q5.3 - Explore what happens if there is more than one source in the topography. +For example, model 2 dipoles with positions [4 0 6] and [-4 0 6] both with a +moment [1 0 0], and visualize the combined leadfield. Use matrix multiplication +to do the instantaneous mixing._** + +In a spherical volume conductor model, a dipole that has its orientation aligned +with the radius of the sphere is called a radial dipole. More generally, if +you draw a line between the origin of the sphere and the position of the dipole, +the projection of the dipole moment onto this line is called the radial component +(see figure). The plane perpendicular to the radius is called the tangential +plane. An MEG-sensor is blind to the radial component of any dipole in a spherical +volume conductor. In the most extreme case, the dipole moment is fully radially +oriented, yielding to a zero magnetic field. In reality, most dipoles have both +a non-zero radial component, as well as 2 tangential components. Also, realistically +head-shaped volume conductors are not spherical, hence a true 'radial’ orientation +does not exist. + +One very important issue in EEG data analysis is the notion that we are dealing +with potential differences. Typically, however, the signals are thought of as +representing the electric potential measured at a particular location on the +scalp. In reality the signals represent the difference in electrical potential +measured at these particular locations, and the potential measured at a (distant) +reference electrode. In an ideal situation the reference electrode is electrically +silent, but this is never true. This is due to intrinsic electrode noise, and +due to the fact that the reference electrode will also pick up some biological +signal. In most practical situations, a reference electrode at the location +of one of the mastoids is used. This location for sure picks up potential fluctuations +due to brain activity. Therefore, EEG measurements are re-referenced to a linked-mastoid +reference. As a consequence each signal represents the difference between the +potential at each location and the average potential at the mastoid electrodes. +This is not really an optimal referencing scheme, but it is widely used and +thus facilitates comparison of results with previous literature. + +We will now explore the effect of the reference on the spatiotemporal activations +measured at the scalp. First we will simulate some EEG data using a single source +that has some activation time course. By now the following code should start +to look familiar to you. + + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 3); + sensors = ni2_sensors('type', 'eeg'); + leadfield = ni2_leadfield(sensors, headmodel, [0 0 6 1 0 0]); + + [sourceactivity, time] = ni2_activation; + sensordata = leadfield * sourceactivity; + +Note the last line of code above. Remember that this represents the application +of the formula for the basic observation model. + +The algorithm that computes the leadfield also has to assume a reference electrode. +In this case, an average reference is assumed, meaning that each of the values +in the data represents the potential difference between the potential at the +channel’s location and the average potential across all channels. + +**_Q 5.4 - Confirm that the average over all channels is zero by plotting the +average versus the time. You might observe that it is slightly different from +zero; that is because computers have a limited numerical precision._** + +In order to emulate the situation that occurs just when the data has been +recorded, we need to re-reference these data. As the reference we pick a channel +at the back of the head, just posterior of where the negativity has its maximum. + +As before, we can visualize the topography of the activity at any time point, +using the plot function. Let’s use the 485th timepoint here and let's add some +options in the "cfg" argument to show the channel numbers: + + cfg = []; + cfg.marker = 'numbers'; + + ni2_topoplot(sensors, sensordata(:, 485), cfg); colorbar + +Re-referencing is nothing else than subracting two signals. This can be easily +done in MATLAB: + +channel 74 is an occipital channel + sensordata_reref = sensordata - repmat(sensordata(74,:), [91 1]); + + ni2_topoplot(sensors, sensordata_reref(:, 485)); colorbar + +**_Q5.5 - Also visualize the re-referenced data at the same time point and +describe the similarities/differences. Hint: don’t forget to look at the values +that are represented by the colors, using the colorbar._** + +Now have a look at the time courses, by doing: + + figure; plot(time, sensordata); + figure; plot(time, sensordata_reref); + +**_Q5.6 - Describe the differences._** + +A common re-referencing strategy is to use the linked mastoids as a reference. +This is achieved by taking the data (remember: the data has been physically +referenced during the recording to one of the mastoid electrodes), and subtract +half of the signal recorded at the other mastoid electrode. In MATLAB it looks +like this: + + sensordata_reref2 = sensordata - repmat(mean(sensordata([69 79],:),1), [91 1]); + +Note that we take the data as referenced to the 'left mastoid’ because this +represents more realistically the data how it would be recorded. Note also, +that our 'right mastoid’ corresponds with channel number 87. + +**_Q5.7 - Visualize the re-referenced to linked mastoids data and compare it +with the other results._** + +**_Q5.8 - Repeat the steps above, but now with a dipole that is close to the +‘left mastoid’ electrode, e.g. using the dipole parameters `[0 7 1 0 1 0]`._** diff --git a/workshop/neuroimaging2-2425/sr3.md b/workshop/neuroimaging2-2425/sr3.md new file mode 100644 index 000000000..06a4e45d8 --- /dev/null +++ b/workshop/neuroimaging2-2425/sr3.md @@ -0,0 +1,521 @@ +--- +title: SR3 - Source reconstruction +tags: [neuroimaging2-2425] +--- + +# SR3 - Source reconstruction + +## 6 Fitting EEG/MEG activity with dipole models + +This document contains the MATLAB exercises that form part of the course “Neuroimaging +II” relating to dipole modeling, or dipole fitting. + +The best way to approach the exercises is to create a MATLAB-script that can +be used to copy-and-paste the MATLAB-code in the instructions, and allows you +to play around with various parameter settings etc. You can open a new script +in the MATLAB-editor by typing edit on the command line, or by going to File->New->Script. +Next, you can save each script as a separate file in your course folder. + +Set up the MATLAB path + + ni2_startup + ft_version + +_These exercises treat the topic of dipole modeling. This technique is a so-called +parametric inverse method, because we will estimate a set of parameters yielding +a model of the observed data, which is aimed at explaining the data in an optimal +way. The modeling assumption we make here is that the spatial distribution of +measured potential or magnetic field at any moment in time is 'caused’ by a +limited number of equivalent current dipoles (ECDs). In the past sessions you +have learnt that we can build models of the potential difference or magnetic +field distribution for a given set of dipole parameters (3 location, and 3 moment +parameters). This is the so-called forward model. The idea of dipole modeling +is as follows: given a set of parameters we build a forward model of the data, +and compare this forward model with the measured data, by computing a measure +of goodness-of-fit. Then, we manipulate the parameters a tiny bit, recompute +the forward model, and see whether the goodness-of-fit is improved. If the goodness-of-fit +is improved, then the current model of the data apparently is better than the +previous one. We continue changing the parameters until we cannot further improve +the goodness-of-fit._ + +### 6.1 Fitting a model to the observed data + +The first thing we need to do is to determine which data matrix we are going +to model. As you know by now, the measured data can be represented in a spatio-temporal +matrix, where the rows represent the channels, and the columns represent the +spatial topography of the observed activity for a given time point. We will +start by modeling the data that is observed at a single time point. Then, we +need to make an assumption about the number of dipoles (and thus the number +of parameters) that we believe underly the observed data. Here, we start with +assuming that the data can be modelled with just a single dipole. + +After doing these exercises + +- You understand how the observed data can be fitted to a model. +- You understand how to quantify the goodness-of-fit + +We begin by generating some sensor-level data, by now this hopefully starts +to look familiar: + + [data, time] = ni2_activation; + sensors = ni2_sensors('type', 'eeg'); + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 3); + leadfield = ni2_leadfield(sensors, headmodel, [4.9 0 6.2 0 1 0]); + sensordata = leadfield * data + randn(91, 1000)*1e-3; + +We have added some noise to the data, in order to make it look more realistic. + + figure; plot(time, sensordata); + +Now we select a single time slice from the data matrix, which will serve as +our observed topography: + + topo_observed = sensordata(:, 500); + figure; ni2_topoplot(sensors, topo_observed); + +**_Q6.1.1 - Describe where in the scalp topography the dipolar pattern is visible._** + +The standard-error-of-mean (SEM) or noise in the average scales inversely +proportional to the square root of the number of trials. So with 10 times more +trials, the noise is a factor sqrt(10) smaller, which is about 3x. + +**_Q6.1.2 - Repeat the process with 3x times as little noise and make a figure. +This corresponds to 10x more trials._** + +**_Q6.1.3 - Repeat the process with 3x times as much noise and make a figure. +This corresponds to 10x fewer trials._** + +What is typically done in dipole fitting is that the model of the observed +data is created in a two-step procedure. First, given a set of location parameters, +the forward model is created, yielding an Nchannels x (Ndipoles x 3) leadfield +matrix, where each triplet of columns in the leadfield matrix represents the +topography of a unit-amplitude dipole at a given location, with an orientation +along one of the axes of the coordinate system. In a second step, the parameters +that describe the dipole(s’) moment are estimated using linear estimation. This +can be seen as a linear regression problem, where the leadfield matrix is the +'design matrix’, and the observed topography is the dependent variable. + +In MATLAB this can be done in the following way. We assume a dipole at an +arbitrary location and first model the leadfield. + + leadfield = ni2_leadfield(sensors, headmodel, [5 5 4]); + +Next, we are going to estimate the remainder of the parameters, i.e., the +3 dipole moment parameters, using linear estimation/least-squares regression. +In MATLAB this can be easily done using the `\` or backslash operator. + +since we have + + topo_opserved = leadfield * dipmom + noise + +By ignoring the noise we get + + topo_opserved = leadfield * dipmom + +or by flipping left and right side + + leadfield * dipmom = topo_opserved + +We can (conceptually) divide both sides by the leadfield to solve for dipmom. +However, since we are not working with scalars but with matrices, the division +is not simply a scalar division. + +**_Q6.1.4 - Look up the help for the / (slash) and the \ (backslash) operator +by typing "doc /" and "doc \"._** + +We can compute the least-squares optimal solution for dipmom using + + dipmom = leadfield \ topo_observed; + +The modelled data can now easily be obtained by multiplying the leadfield +with the estimated dipole moment. + + topo_modelled = leadfield * dipmom; + +**_Q6.1.5 - Plot the topography of the modelled dipole and compare it to the +previously plotted observed topography. Describe the difference._** + +Now we can quantify the difference between the observed and modelled data, +by summing the squared differences, and relating this number to the sum of the +squared data values. The smaller this number, the better the fit. + + topo_residual = topo_observed-topo_modelled; + sumsq = sum(topo_residual.^2) ./ sum(topo_observed.^2); + +The value we have obtained for sumsq does not yet mean that much, unless it +is compared to the sumsq obtained for a fitted model with different parameters, +i.e., a dipole at another location. + +**_Q6.1.6 - Make a scatter plot of the values in topo_modelled (along x) and +topo_observed (along y)._** + +**_Q6.1.7 - Compare the sumsq value to the correlation that you can observe +(and compute) between the topo_modelled and topo_observed._** + +### 6.2 Finding the optimal model + +Now we know how to model the observed data using the leadfields created for +one or more dipoles with a prespecified location, and we know how to quantify +the goodness-of-fit between the modelled and observed data. Next, we need to +consider the strategies that can be used to find the optimal model. Since the +leadfields are non-linear functions of the parameters, there is no easy analytic +solution to this problem. Therefore, the implicit strategy is to sample the +parameter space, and to quantify for each setting of the parameters the goodness-of-fit. +The parameter settings yielding the best model fit are selected. Typically, +it does not make sense to just start placing dipoles at random locations and +to hope that you will find the model with the best overall fit (out of all possible +models. Particularly, when more than one dipole is assumed, the number of potential +combinations of locations quickly explodes, and becomes unmanageable. However, +in the single dipole case this seems to be a reasonable strategy. Under the +assumption that the error landscape (i.e., 1 – goodness-of-fit expressed as +a function of dipole location) is relatively smooth, one can sample the total +set of possible source locations on a 3-dimensional grid of equally spaced dipole +locations, and select the location that yields the smallest error. From this +location, one could start a non-linear search to find a final solution. + +After these exercises + +- You will understand the concept of the error function +- You will understand the concept of a grid search + +To create an error function, one simply needs to repeat multiple times the +model fitting described in the previous section. One sensible strategy is to +create a regular 3-dimensional grid of dipole positions that can be used to +sample the parameter space. Here we do this with the following function call: + + sourcemodel = ni2_sourcemodel('type', 'grid', 'headmodel', headmodel, 'resolution', 1); + +As a little aside, this creates a variable in MATLAB that is a so-called structure, +which is a special type of variable that is convenient when working with data +objects that have multiple attributes, i.e., features that belong together. +These features are stored in so-called fields, which contain the actual data. +In this example, if you type `sourcemodel` on the command line, you will see: + + sourcemodel = + pos: [3610x3 double] + inside: [3610x1 logical] + dim: [19 19 10] + +which means that the structure called `sourcemodel` has 4 fields, called `pos`, +`inside`, `outside`, and `dim`. The most relevant field is the pos-field which +contains a matrix with the positions defined in 3D-space. Note, that the number +of positions is 3610, which equals the product of the elements in the dim-field. +The dim-field defines the number of dipoles in each of the three directions +of the 3D-box that defines the search space. The inside and outside fields are +vectors which index which of the dipole positions are within the volume conduction +model, and which ones are outside it. Note, that the total number of elements +in the inside and outside fields matches the total number of positions. FieldTrip +makes extensive use of MATLAB-structures, so it is good to have some basic understanding +of this type of variable. + +For illustration purposes we will first look at a subset of all positions +in this 3D-grid, and select those positions which have a z-coordinate of 6. +In other words, we are selecting those points that are on a plane that goes +almost through the location where we actually simulated the activity (we are +cheating a bit here, because usually we don’t know this of course). + + pos = sourcemodel.pos(sourcemodel.inside,:); + sel = find(pos(:, 3)==6); + pos = pos(sel,:); + +**_Q6.2.1 - How many source positions do we have remaining after selecting +only the posiitons inside the head, and only for this slice?_** + +Now, what we can do is repeat the steps in the previous section for each of +these points, i.e., we will model for each of the positions a dipole that optimally +explains the observed topography and compute a measure of goodness-of-fit. We +store these goodness-of-fit measures in a vector, so that we later can determine +which position gave the best fit. Doing the same time multiple times can be +easily solved with a for-loop. + + sumsq = zeros(size(pos, 1), 1); + + for k=1:size(pos, 1) + disp(k) + leadfield = ni2_leadfield(sensors, headmodel, pos(k,:)); + dipmom = leadfield \ topo_observed; + topo_modelled = leadfield * dipmom; + topo_residual = topo_observed-topo_modelled; + sumsq(k) = sum(topo_residual.^2) ./ sum(topo_observed.^2); + end + +Now we have a variable sumsq that is a vector, rather than a single number. +We can visualize this variable using the `plot` function. + +**_Q6.2.2 - Plot the sumsq values (along the y-axis) versus the index of the +dipole (along the x-axis)._** + +We can now look for the position that yields the lowest sum of squared difference +values, i.e., the one with the best model fit. We could achieve this by zooming +in into the figure and writing down the x-coordinate where the sumsq-variable +seems to have the lowest value, but we can also use MATLAB’s min function: + + [m, ix] = min(sumsq) + pos(ix,:) + +Depending on the noise in the data, this position will be more or less close +to the actual simulated location. + +One can improve on this estimate by fitting a model to more than one time +point. The idea is that the influence of noise on the single time point observed +topographies is attenuated when combining across time points. Assuming a fixed +dipole location, this extended temporal model is quite straightforward, we will +return to this later. + +First, for convenience, we will repeat the steps above by using a set of pre-computed +leadfields, that we compute for the *full 3D grid*. Since the computation of +the leadfields is relatively expensive (time-consuming) in terms of computation, +it makes sense to compute them only once when they will be used multiple times. +Further down in this tutorial we will explore the effect of model assumptions +on the outcome, and do this using the grid search, so it pays off to compute +the leadfields. + + if false + pos = sourcemodel.pos(sourcemodel.inside,:); + leadfield = ni2_leadfield(sensors, headmodel, pos); + else + load leadfields + end + + whos leadfield pos + +Now we can very quickly compute the goodness-of-fit for all locations in the +3D grid: + + sumsq = ones(size(pos, 1), 1); + + for k=1:size(pos, 1) + disp(k) + ik = (k-1)*3+(1:3); % select the three columns corresponding to one position + dipmom = leadfield(:, ik) \ topo_observed; + topo_modelled = leadfield(:, ik) * dipmom; + topo_residual = topo_observed-topo_modelled; + sumsq(k) = sum(topo_residual.^2) ./ sum(topo_observed(:).^2); + end + +### 6.3 Adding the time dimension + +When using the topography from a single time point for dipole modeling, noise +in the data can negatively affect the result. To this end it makes sense to +combine data across time points. Under the assumption that the model is stationary +in terms of dipole location (and possibly also in terms of orientation), pooling +across time points can be efficient in improving the model fit. + +After these exercises: + +- You will appreciate the fact that including temporal information can improve +the dipole fit. + +For this exercise we will the simulated data that was generated in section +2. If you are not working through these exercises in a single session, please +go back to section 2, and re-create the variable sensordata. + +Previously, we have used time point '500’ for the extraction of the observed +topography. + +Yet, in our very simple generative model (with generative model we mean the +model that actually underlies the simulated data) there is only one dipole with +a fixed location and orientation. In other words, and this is something that +was highlighted in a previous session, there is essentially only a single topography +present in the data, which only varies as a function of time. Thus, in principle, +using time point '499’ should yield the same result as using time point '501’, +or, for that matter, any other time point. Obviously, since the strength of +the activity varies over time, some time points are more informative than others. + +Now we are going to fit a single dipole model to a spatial topography from +a single time point, just as in the previous section. To speed things up, we +will not compute the leadfields on the fly, but load the pre-computed leadfields. + + topo_observed = sensordata(:, 500); % select one timeslice + + pos = sourcemodel.pos(sourcemodel.inside,:); + load('leadfields'); + + sumsq = ones(size(pos, 1), 1); + for k=1:size(pos, 1) + disp(k) + ik=(k-1)*3+(1:3); + dipmom = leadfield(:, ik) \ topo_observed; + topo_modelled = leadfield(:, ik) * dipmom; + topo_residual = topo_observed-topo_modelled; + sumsq(k) = sum(topo_residual(:).^2)./sum(topo_observed(:).^2); + end + [m, ix] = min(sumsq) + pos(ix,:) + +Note the use of `topo_residual(:)` in the line of code just before the end +statement. This `(:)` instruction tells MATLAB to reshape a matrix into a vector. +This is not needed in case the topography consists of just a single time point +(because the observed topography is already a vector), but we will need it when +fitting multiple time points. + +**_Q6.3.1 - Repeat the computation with topo_observed corresponding to all +sensordata, i.e., not selecting the 500th column but taking the whole matrix._** + +**_Q6.3.2 - What is the size of the topo_residual variable?_** + +**_Q6.3.3 - What is the size of the sumsq variable? Explain this._** + +### 6.4 The real deal + +So far, for didactical purposes, we have constrained ourselves and evaluated +the error-function based on a grid search. In this section we are going to use +one of FieldTrip’s core functions `ft_dipolefitting` to do a proper dipole fit +on our simulated EEG-data. + +After this section + +- You understand that the non-linear search for optimal dipole parameters +can yield a solution very close to the ground truth. + +We start again by ensuring that we have the following variables in the MATLAB-workspace: +sensordata, headmodel and sensors. If you don’t have these variables available, +please go back to section 2 and create these variables. + +Next, we need to create some variables that are recognized by FieldTrip. Most +FieldTrip functions work by providing 2 input arguments, a cfg-structure that +contains parameters that determine the behaviour of the function, and one (or +more) data-structures providing the data on which the function operates. + +Let’s first create the data variable: + + data = []; + data.avg = sensordata; + data.time = time; + data.label = sensors.label; + data.elec = sensors; + data.dimord = 'chan_time'; + +And the cfg-structure: + + cfg = []; + cfg.gridsearch = 'yes'; + cfg.model = 'regional'; + cfg.headmodel = headmodel; + cfg.latency = [0.49 0.51]; + cfg.nonlinear = 'yes'; + cfg.numdipoles = 1; + +Now we can call the function: + + dip = ft_dipolefitting(cfg, data); + +The output variable to `ft_dipolefitting` has a field `dip` containing information +about the optimal model. In particular, have a look at `dip.dip.pos`, and `dip.dip.mom`. +We can also visualize the modelled topography, and compare this to the observed +topography. These are represented in `dip.Vmodel` and `dip.Vdata`, respectively. + +**_Q6.4.1 - Using the output of ft_dipolefitting, plot a topography of the +observed data at 500ms, plot a topography of the model data at 500ms, and plot +the topopgraphy of the residual._** + +### 6.5 It’s all about the assumptions + +One important issue in dipole modeling is that the prior assumptions critically +constrain the final model (and thus the model fit). If these assumptions don’t +coincide with what’s actually in the data, this can lead to erroneous interpretations. +This can work against you in two directions, either your model is too simplistic +(i.e., you assume too few dipoles), or too complicated (you assume too many +dipoles). + +After these exercises: + +- You understand that if your model assumptions violate the underlying data, +the results are suboptimal. + +First, we create some sensor-level data that contains two sources: + + sensors = ni2_sensors('type', 'eeg'); + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 3); + + [data1, time] = ni2_activation; + [data2, time] = ni2_activation('frequency', 11, 'latency', 0.48); + + leadfield1 = ni2_leadfield(sensors, headmodel, [4.9 0 6.2 0 1 0]); + leadfield2 = ni2_leadfield(sensors, headmodel, [-5.3 0 5.9 1 0 0]); + sensordata = leadfield1*data1 + leadfield2*data2; + +**_Q6.5.1 - Plot the EEG data versus time (along the x-axis) and observe the +alternating pattern._** + +**_Q6.5.2 - Use the `ni2_topomovie` function to explore the alternating pattern +of activity._** + +Let's add some noise + + sensordata = leadfield1*data1 + leadfield2*data2 + randn(91, 1000)*.7e-3; + +Now we will perform the same grid search as in section 4, using the 490th +time point for the observed topography: + + topo_observed = sensordata(:, 490); + + sourcemodel = ni2_sourcemodel('type', 'grid', 'resolution', 1); + pos = sourcemodel.pos(sourcemodel.inside,:); + load('leadfields'); + + sumsq = ones(size(pos, 1), 1); + for k=1:size(pos, 1) + disp(k) + ik=(k-1)*3+(1:3); + dipmom = leadfield(:, ik) \ topo_observed; + topo_modelled = leadfield(:, ik)*dipmom; + sumsq(k)= sum((topo_observed(:)-topo_modelled(:)).^2) ./ sum(topo_observed(:).^2); + end + +Now we are going to use the FieldTrip `ft_dipolefitting` function to fit a +single dipole: + + data = []; + data.avg = sensordata; + data.time = time; + data.label = sensors.label; + data.elec = sensors; + data.dimord = 'chan_time'; + + cfg = []; + cfg.gridsearch = 'no'; + cfg.model = 'regional'; + cfg.headmodel = headmodel; + cfg.latency = [0.49 0.51]; + cfg.nonlinear = 'yes'; + cfg.numdipoles = 1; + dip = ft_dipolefitting(cfg, data); + +**_Q6.5.3 - Where did the fitted dipole end up and how does that compare to +the initial poisition of dipole 1 and dipole 2?_** + +We can also fit a model with two dipoles, this can be easily achieved by changing +the `cfg.numdipoles` option into 2. + + cfg = []; + cfg.gridsearch = 'no'; + cfg.model = 'regional'; + cfg.headmodel = headmodel; + cfg.latency = [0.49 0.51]; + cfg.nonlinear = 'yes'; + cfg.numdipoles = 2; + dip = ft_dipolefitting(cfg, data); + +As you may have noticed, the result is not particularly accurate. The reason +for this is that the optimization algorithm got trapped in a local minimum of +the error function. This is more likely to happen, the more complicated the +underlying model (i.e., more free parameters lead to a high-dimensional error +function with a complicated structure and potentially many local minima). We +can however inform the fitting algorithm with dipole positions from which to +start the non-linear search. If these starting positions are sufficiently close +to the actual source positions, the algorithm will converge to the correct solution. + + cfg = []; + cfg.gridsearch = 'no'; + cfg.model = 'regional'; + cfg.headmodel = headmodel; + cfg.latency = [0.49 0.51]; + cfg.nonlinear = 'yes'; + cfg.numdipoles = 2; + cfg.dip.pos = [5 0 5; -5 0 5]; % starting positions + dip = ft_dipolefitting(cfg, data); + +**_Q6.5.4 - Repeat the dipole fit with two dipoles with their initial positions +for the whole tine interval from 0 to 1000 ms. Plot the residual variance (dip.dip.rv) +versus time and describe what you see._** diff --git a/workshop/neuroimaging2-2425/sr4.md b/workshop/neuroimaging2-2425/sr4.md new file mode 100644 index 000000000..b52faa522 --- /dev/null +++ b/workshop/neuroimaging2-2425/sr4.md @@ -0,0 +1,550 @@ +--- +title: SR4 - Source reconstruction +tags: [neuroimaging2-2425] +--- + +# SR4 - Source reconstruction + +## 7 Modelling EEG/MEG activity using distributed sources + +This document contains the MATLAB exercises that form part of the course “Neuroimaging +II” relating to the minimum norm inverse methods for underdetermined systems. + +The best way to approach the exercises is to create a MATLAB-script that can +be used to copy-and-paste the MATLAB-code in the instructions, and allows you +to play around with various parameter settings etc. You can open a new script +in the MATLAB-editor by typing edit on the command line, or by going to File->New->Script. +Next, you can save each script as a separate file in your course folder. + +Set up the MATLAB path + + ni2_startup + ft_version + +_If we have measured data and a pre-computed leadfield (based on known sensor +positions and a volume conductor model), then we would like to compute an estimate +of the sources. Many methods use a linear matrix to compute this 'inverse solution’, +as a linear weighting of the senors to compute activity at a source location. +Throughout this homework, the equation representing the data and model is `y=L*s+N`. +Here, `y` is the sensor data, `L` is the known leadfield, `s` is the source +amplitude or dipole moment and N is the sensor noise._ + +_With distributed source models and the minimum norm solution the observed +data is assumed to be determined by a mixing of many active sources, where the +number of active sources is much higher than the number of observed channels. +This leads to an underdetermined problem, and one way to solve this is to assume +that a good guess of the distribution of the source amplitudes has the lowest +possible norm. One important feature of distributed source models is the fact +that the amplitudes of the individual sources are estimated in a single inversion +step._ + +### 7.1 Underdetermined linear systems of equations + +For non-unique solutions (underdetermined systems) we can use the minimum +norm of the overall source strength as additional constraint. + +After this section, you will + +- Understand that multiple solutions exist for an underdetermined system +- Understand that the pseudo-inverse of the leadfield matrix gives the solution +with the minimum-norm of the source power + +First begin with a 'toy’ composite leadfield matrix. It represents 3 source +locations and 2 sensors. + + L = [1 0 1; + 0 1 1]; + +Although it is an unrealistic example, it is useful to gain some intuition. +Let’s assume the data `y` we measured at a single time point is + + y = [2 1]'; + +Now we want to solve for what the source amplitude `s` is, given this data +`y` and given the known leadfield `L`. + +Assume no noise `N` for now, so the equation is `y = L*s`. + +This matrix multiplication essentially is a linear system of equations, where +the number of equations is 2 (in general: the number of rows in the leadfield +matrix), and the number of unknowns is 3 (in general: the number of columns +in the leadfield matrix. This never has an unique solution; there are many solutions +that satisfy this equation. Let’s first explicitly rewrite the matrix multiplication. +Refresh your understanding of matrix multiplication if needed. + + y(1) = L(1, 1)*s(1) + L(1, 2)*s(2) + L(1, 3)*s(3); % equation 1 + y(2) = L(2, 1)*s(1) + L(2, 2)*s(2) + L(2, 3)*s(3); % equation 2 + +Filling in the numbers, we get: + + y(1) = 1*s(1) + 0*s(2) + 1*s(3) = 2 + y(2) = 0*s(1) + 1*s(2) + 1*s(3) = 1 + +where s(1), s(2) and s(3) are the unknowns. + +Note that equation 1 represents a matrix multiplication of the first row of +the leadfield matrix with the source vector, and that equation 2 represents +the matrix multiplication of the second row of the leadfield matrix with the +source vector. Note, also, that we have more unknowns (3) than equations (2). +In other words, we could take an arbitrary value for, say, s(3), and we will +still be able to find a valid solution to the linear system of equations. + +By analogy, you may remember from high school geometry, that equations with +3 unknowns describe a plane in 3-dimensional space, and that 2 planes (if they +are not parallel) intersect in a line. This line represents all valid solutions +to the linear system of equations. + +In this toy example, it is very straightforward to parametrize the solution. +Let’s call the value that we take for s(3) the value `a`. Using this substition, +and applying it to the equations above, we get: + +the variable a can be anything, so let's give it a random value + a = rand(1) + +note that vector s should be a column-vector, not a row-vector + s(1,1) = 2-a; + s(2,1) = 1-a; + s(3,1) = a; + +**_Q7.1.1 - Show that this solution for `s` satisfies the linear system of +equations when a=0._** + +**_Q7.1.1 - Show that this solution for `s` satisfies the linear system of +equations when a=100._** + +We will use this parametrization in the next section. + +### 7.2 The 'best’ solution based on additional constraints: minimize norm. + +In the example presented above, mathematically it is equally valid to take +a value of 1 for a, as it is to take a value of 100. The former will yield source +amplitudes of (1, 0, 1), whereas the latter will yield source amplitudes of +(-98,-99, 100). + +It may be realistic to assume that the source activity measured at any given +instant by MEG/EEG is primarily due to active sources that are moderately active +(a=1). The alternative would be that all sources would be highly active (a=100). +A mathematically convenient and biologically plausible constraint is to minimize +the total power of the sources across the brain (rather than taking the amplitude, +we minimize for the amplitude squared). The sum of the power of the sources +across the brain is also called the L2-norm; the sum of the amplitudes of the +sources across the brain is represented by the so-called L1-norm. + +To compute the L2-norm, we take the square root of the sum of the squares +of each element in the vector. Here’s an example of source amplitude over 3 +source locations: + + s = [0 -1 2]'; + +The source power (L2 norm) can be computed in a variety of ways in MATLAB: + + snorm1 = sqrt(s(1)^2+s(2)^2+s(3)^2) + snorm2 = sqrt(sum(s.^2)) + snorm3 = sqrt(s'*s) + snorm4 = norm(s) + +**_Q7.2.1 - Compute and write down the L2-norm_** + +Rather than trying out random values for `a` to find the solution that yields +the lowest source norm, we can use the parametrization that we defined in the +previous section: + + snorm = sqrt(s(1)^2+s(2)^2+s(3)^2) + +Filling in the parametrization we obtained in section 2.1, we get: + + snorm = sqrt((2-a)^2+(1-a)^2+a^2); + +Rearranging the terms, we get: + + snorm = sqrt((4-4*a+a^2)+(1-2*a+a^2)+a^2); + snorm = sqrt(3*a^2-6*a+5); + +**_Q7.2.2 - Compute and write down the L2-norm for a=1 and for a=100._** + +Ignoring the square root, we need to minimize `(3*a^2-6*a+5)` which can be +done in a variety of ways, e.g. using the ABC-formula (https://en.wikipedia.org/wiki/Quadratic_formula) +to find the minimum of a parabolic equation, or by taking the derivative of +this equation and finding the point along the x-axis where the derivative of +the parabolic function is 0. + +**_Q7.2.3 - Take the function `f(a)=3*a^2-6*a+5` and compute its values for +the variable "a" ranging from -100 to +100 in small steps. Make a plot of f(a) +versus a._** + +**_Q7.2.4 - What is the smallest value of f(a), and for which value of a is +that value observed?_** + +### 7.3 Inverting leadfield matrices + +For situations with more than just a few sensors and a few sources, it is +too tedious to solve the system of equations for the unknown values by hand. +Fortunately, we can use matrix algebra to solve large systems of equations, +and let the computer do the work. + +First, by mean of a detour, let’s have a look at the following equation: + + y = 3*s + +If we want to solve this (very simple system of linear equations) for `s` +(the source amplitude), assuming that we know `y`, we simply divide each side +of the equation by 3, so we get: + + 1/3 * y = s + +Instead of dividing each side of the equation by 3, we can also say that we +are multiplying each side of the equation by 1/3. 1/3 is also known as the 'inverse’ +of 3, which can also be written as 3^-1. When we are dealing with matrices, +the same logic applies: + + Y = L * S + L^-1 * Y = L^-1 L * S + L^-1 * Y = S + +Here `L^-1*L = I`, where the matrix `I` is the identity matrix, all zeros +off the main diagonal and all ones on the diagonal; this is the matrix equivalent +of the number "1". + +The above equation however only works in a very limited number of cases. The +reason is that a matrix inverse is only defined for square matrices (i.e., in +our case we would need an equal number of channels and sources), where moreover +the leadfield matrix must fulfill the mathematical property that it is actually +invertible. + +We can use the so-called pseudo-inverse of a matrix to get a solution to the +linear system of equations. The term 'pseudo’ refers to the fact that the matrix +you get after taking the pseudo-inverse behaves a bit like an inverse matrix, +but not exactly. + +The pseudo-inverse in this case can be computed in math formulation as: + + Lpinv = L' * (L*L')^-1 + +The MATLAB pinv function achieves the same: + + help pinv + Lpinv = pinv(L) + +In contrast to a proper inverse matrix, where both `A*A^-1 = I` and `A^-1*A += I`, the pseudoinverse exists in only one direction. This can be easily seen +when inspecting `Lpinv*L` and `L*Lpinv`. + +**_Q7.3.1 - Compute and write down both `Lpinv*L` and `L*Lpinv`._** + +The first one does not result in an identity matrix. The second equation results +in an identity, because it is equivalent to `(L*L')^-1 * (L*L')`. The matrix +products between the brackets are the same, both form a square matrices and +they happen to be in general invertible, thus the product between the inverse +of that product with itself will yield `I`. + +**_Q7.3.2 - What happens if you try to compute the normal inverse (using the +inv function) of matrix L?_** + +### 7.4 Pseudo-inverse of the leadfield gives minimum norm + +The pseudo-inverse is not only a clever mathematical way of computing a new +matrix that, when multiplied with the original in the correct order, gives back +the identity matrix. It happens to be a solution to the undertermined linear +system of equations that yields the minimum norm. + +The proof for this can be derived by first showing that it is a particilar +solution; subsequently we show that there is no other solution that has a norm +smaller than the one derived using the pseudoinverse. + +We know that there are many possible solutions for the equation `y = L*s`. +Let us use a capital `S` from now on to facilitate formatting; we will use `Sx` +to indicate S with the subscript `x`. If we just take two possible solutions, +`Sm` and `Sx`, where `Sm` happens to be `L'*(L*L')^-1 * y` and `Sx` being any +random other solution, we know that both `L*Sm` and `L*Sx` yield `y`. + +Thus, `L*Sm = L*Sx`, or equivalently `L*(Sm-Sx) = 0`. + +Remember from section 2.2 that the norm of the solution can be computed from +`s'*s`. This latter equation computes for each of the sources the square of +the amplitude, and sums across sources. To actually get the norm, we would also +have to take the square root of the result, but let’s not do this for now, and +look at the squared norm. Likewise, we can do `(Sx-Sm)'*Sm`, where we compute +for each of the sources the product between the amplitude modelled in `Sm` and +the amplitude difference between `Sx` and `Sm`, and sum this across sources. +Substituting `L'*(L*L')^-1 * y` for the second `Sm` in the equation, we get: + + (Sx-Sm)' * Sm = + (Sx-Sm)' * L' * (L*L')^-1 * y = + ( (Sx-Sm)' * L') * (L*L')^-1 * y = + ( L * (Sx-Sm) )' * (L*L')^-1 * y = + 0 * (L*L')^-1 * y = 0 + +Shuffling the brackets, we focus on the first 2 terms, where we can use the +general matrix property that `A'B'=(BA)`. + +Above we already concluded that `L*(Sx-Sm)` is 0, so we can also conclude +that `(Sx-Sm)'*Sm` is 0. This is because we can fill in a 0 in the last equation, +and 0 times something else will be 0. + +Now considering the squared norm of `Sx`, which is `Sx'*Sx`, we can apply +a little trick: instead of using `Sx`, we use `((Sx-Sm)+Sm)`. The latter is +of course exactly the same as `Sx`. + + Sx' * Sx = + ((Sx-Sm)+Sm)' * ((Sx-Sm)+Sm) = + (Sx-Sm)'*(Sx-Sm) + (Sx-Sm)'*Sm + Sm'*(Sx-Sm) + Sm'*Sm + +Using our previous result `(Sx-Sm)'*Sm=0`, we get + + (Sx-Sm)'*(Sx-Sm) + (s-Sm)'*Sm + Sm'*(Sx-Sm) + Sm'*Sm = + (Sx-Sm)'*(Sx-Sm) + 0 + 0 + Sm'*Sm = + (Sx-Sm)'*(Sx-Sm) + Sm'*Sm + +or + + Sx'*Sx = Sm'*Sm + (Sx-Sm)'*(Sx-Sm) + +The last equation tells us that the squared norm of `Sx` is always the sum +of the squared norm of `Sm` _plus_ the squared norm of the difference between +`Sx` and `Sm`. + +Since squared numbers are greater than or equal to zero, we can conclude that +the norm of `Sx` is always larger than or equal to to the norm of `Sm`. Hence, +`Sm` must represent the solution with the minimum norm. + +### 7.5 The real deal - start simple with simulated data without noise + +After this section you will + +- Have a basic understanding of how the minimum norm reconstruction works +in practice. +- Understand why the minimum norm reconstruction tends to overemphasize activity +from superficial sources. +- Know how to counteract the tendency for overemphasizing the superficial +sources. +- Understand that noise in the data projects onto the estimated sources. +- Know how to counteract the contamination of the estimated source activity +by the noise. + +We start by simulating some MEG data that contains two active sources. + + [activity1, time1] = ni2_activation; + [activity2, time2] = ni2_activation('frequency', 11, 'latency', 0.48); + + sensors = ni2_sensors('type', 'meg'); + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 1); + + leadfield1 = ni2_leadfield(sensors, headmodel, [ 4.9 0 6.2 0 1 0]); % close to position 2352 in grid + leadfield2 = ni2_leadfield(sensors, headmodel, [-5.3 0 5.9 1 0 0]); + + sensordata = leadfield1*activity1 + leadfield2*activity2; + +Try and understand the steps above. Pay particular attention to the parameters +of the simulated dipoles. + +We now proceed to generate a MATLAB data-structure that FieldTrip understands. +This "structure" is a collection of MATLAB-variables, organized in so-called +fields, that belong together. An important aspect of these FieldTrip data structures +is that the numeric data that is represented (in our case in the 'avg’ field) +is accompanied by all information necessary to interpret this numeric data. +For example, there is a field called 'time’, that indicates each time sample +in seconds (i.e., it maps the columns of the 'avg’ field on a physical time +axis). The 'label’ field specifies the name of each channel (and tells us which +row in the 'avg’ field belongs to which channel). + + data = []; + data.avg = sensordata; + data.time = time1; + data.label = sensors.label; + data.grad = sensors; + data.cov = eye(numel(sensors.label)); + data.dimord = 'chan_time'; + +Next we will make a source reconstruction using the 'mne’ method of FieldTrip’s +ft_sourceanalysis function. Before we can do this, we need to define our source +model, i.e., the set of locations that we assume to be active. For now we assume +that the active dipoles are distributed on a 3D regular grid, with a spacing +of 1 cm between the dipoles: + + sourcemodel = ni2_sourcemodel('type', 'grid', 'resolution', 1); + + cfg = []; + cfg.sourcemodel = sourcemodel; + cfg.headmodel = headmodel; + cfg.method = 'mne'; + cfg.mne.prewhiten = 'yes'; + cfg.mne.scalesourcecov = 'yes'; + cfg.mne.lambda = 0; + cfg.keepleadfield = 'yes'; + source = ft_sourceanalysis(cfg, data); + +Let’s now have a look at the reconstructed source activity. + +**_Q7.5.1 - What is the position of grid point 2352?_** + +For each dipole location in the distributed source model, the estimated activity +is represented in the source.avg.mom field. We can easily use the MATLAB plot +command to visualize this: + + figure; plot(source.time, source.avg.mom{2352}); legend({'Sx' 'Sy' 'Sz'}); + +**_Q7.5.2 - In which direction is the dipole moment of this source at grid +location 2352 the largest? Is that consistent with the model that generated +the data?_** + +**_Q7.5.3 - What is the index of the grid point that is the closest to the +other dipole that we used in the model to generate the data?_** + +Ignoring the dipole orientation and time course of the activity, we can plot +the spatial distribution of the dipole strength that is represented in `source.avg.pow`, +which represents the squared amplitude for each time point. + + cfg = []; + cfg.funparameter = 'pow'; + cfg.location = sourcemodel.pos(2352,:); + cfg.funcolorlim = 'maxabs'; + figure; ft_sourceplot(cfg, source); + +The initial time point of which the spatial topography is plotted is t=0, +and at that moment there is no activity at all, hence the completely green distribution. +Click on the source timecourse in the lower right to select a time point at +which the activity in grid location 2352 peaks. + +**_Q7.5.4 - What happens with the spatial distribution of the source power +in-between two peaks at location 2352? Explain._** + +This simple noise-less example illustrates two important things. First, activity +is 'smeared’ out over various dipole locations and orientations. Second, the +estimated activity at a location closer to the sensors than the location at +which activity was simulated has a higher amplitude than the activity estimated +at the location where activity was simulated. We will return to this feature +of the minimum norm reconstruction in a later section. + +### 7.6 Simulated data with noise + +Let’s now simulate MEG sensor data with added noise: + + [activity1, time1] = ni2_activation; + [activity2, time2] = ni2_activation('frequency', 11, 'latency', 0.48); + + sensors = ni2_sensors('type', 'meg'); + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 1); + + leadfield1 = ni2_leadfield(sensors, headmodel, [ 4.9 0 6.2 0 1 0]); % close to position 2352 in grid + leadfield2 = ni2_leadfield(sensors, headmodel, [-5.3 0 5.9 1 0 0]); % close to position 2342 in grid + + sensordata = leadfield1*activity1 + leadfield2*activity2 + randn(301, 1000)*.7e-10; + +Create a FieldTrip data structure: + + data = []; + data.avg = sensordata; + data.time = time1; + data.label = sensors.label; + data.grad = sensors; + data.cov = cov(randn(301, 1000)'*.7e-10); + data.dimord = 'chan_time'; + +In the field 'cov’ we create a covariance matrix that was designed to represent +the covariance of the noise in the data. This will be a relevant item when we +will discuss noise regularisation. + + sourcemodel = ni2_sourcemodel('type', 'grid', 'resolution', 1); + +Do the source reconstruction: + + cfg = []; + cfg.sourcemodel = sourcemodel; + cfg.headmodel = headmodel; + cfg.method = 'mne'; + cfg.mne.prewhiten = 'yes'; + cfg.mne.scalesourcecov = 'yes'; + cfg.mne.lambda = 0; + cfg.keepleadfield = 'yes'; + source_noise = ft_sourceanalysis(cfg, data); + +The `cfg.mne.lambda` option was set to 0. This means that the inverse solution +fits all data perfectly, where the data not only includes the activity from +the sources of interest, but also contains noise. + +We can again make a plot of the spatial distribution of power in the brain +for each time point. + + cfg = []; + cfg.funparameter ='pow'; + cfg.location = sourcemodel.pos(2352,:); + cfg.funcolorlim = [-2 2]*1e-3; % set the color limits manually + figure; ft_sourceplot(cfg, source_noise); + +**_Q7.6.1 - Select a good latency and click around in the volume; can you find +a location that shows the expected temporal pattern of activity?_** + +We can use a non-zero lambda to compute a regularized minimum norm estimate, +where this lambda parameter is used to quantify the contribution of the noise +to the measured signals. + +The larger the value for lambda, the stronger the assumed noise. In combination +with the regularization parameter, a regularized minimum-norm estimate also +requires an estimate of the noise covariance matrix. This matrix represents +the spatial structure in the noise. The noise covariance matrix can be estimated +from the data, but experimenters sometimes also use an identity matrix. The +latter strategy assumes implicitly that each channel in the data gets the same +amount of uncorrelated noise. + +Do the source reconstruction with regularisation: + + cfg = []; + cfg.sourcemodel = sourcemodel; + cfg.headmodel = headmodel; + cfg.method = 'mne'; + cfg.mne.prewhiten = 'yes'; + cfg.mne.scalesourcecov = 'yes'; + cfg.mne.lambda = 0.5; + cfg.keepleadfield = 'yes'; + source_noise_reg = ft_sourceanalysis(cfg, data); + + cfg = []; + cfg.funparameter = 'pow'; + cfg.location = sourcemodel.pos(2352,:); + cfg.funcolorlim = 'maxabs'; + figure; ft_sourceplot(cfg, source_noise_reg) + +Another way to explore the effect of regularisation is to look at the residuals +of the model. This can be obtained in the following way: + + L = cat(2, source_noise_reg.leadfield{source_noise_reg.inside}); + S = cat(1, source_noise_reg.avg.mom{source_noise_reg.inside}); + model = L*S; + residual = sensordata-model; + +**_Q7.6.2 - Show that the residual for the source_noise condition without regularization +is zero and share your figure here. Note the limited numerical precision of +the computer that might cause some numerical inaccuracy to remain._** + +### 7.7 Minimum-norm estimates 'overestimate’ the amplitude of superficial sources + +As we have seen in the previous sections, the minimum-norm estimate has a +tendency to over-estimate the amplitude of dipoles that are close to the surface. +This feature is a direct consequence of the minimum-norm constraint. In order +to explain all measured data with a source model that has the lowest possible +norm, the deep sources will be penalized more because these need to have a strong +activation in order to be picked up by the MEG sensors in the first place. + + cfg = []; + cfg.sourcemodel = sourcemodel; + cfg.headmodel = headmodel; + cfg.method = 'mne'; + cfg.mne.prewhiten = 'yes'; + cfg.mne.scalesourcecov = 'yes'; + cfg.mne.lambda = 0.5; + cfg.keepleadfield = 'yes'; + cfg.normalize = 'yes'; + cfg.normalizeparam = 1; + source_noise_lfnorm = ft_sourceanalysis(cfg, data); + + cfg = []; + cfg.funparameter = 'pow'; + cfg.location = sourcemodel.pos(2352,:); + cfg.funcolorlim = 'maxabs'; + figure; ft_sourceplot(cfg, source_noise_lfnorm) + +**_Q7.7.1 - Explain the effect that is achieved by the leadfield normalization +(cfg.normalize='yes')._** + +**_Q7.7.2 - Is the resulting spatial distribution an accurate representation +of the (in this case known) underlying source activity?_** diff --git a/workshop/neuroimaging2-2425/sr5.md b/workshop/neuroimaging2-2425/sr5.md new file mode 100644 index 000000000..005a2747e --- /dev/null +++ b/workshop/neuroimaging2-2425/sr5.md @@ -0,0 +1,648 @@ +--- +title: SR5 - Source reconstruction +tags: [neuroimaging2-2425] +--- + +# SR5 - Source reconstruction + +## 8 Reconstructing EEG/MEG activity using beamforming + +This document contains the MATLAB exercises that form part of the course “Neuroimaging +II” relating to the scanning methods, specifically using beamforming. + +The best way to approach the exercises is to create a MATLAB-script that can +be used to copy-and-paste the MATLAB-code in the instructions, and allows you +to play around with various parameter settings etc. You can open a new script +in the MATLAB-editor by typing edit on the command line, or by going to File->New->Script. +Next, you can save each script as a separate file in your course folder. + +Set up the MATLAB path + + ni2_startup + ft_version + +_Beamforming is the third type of strategy that can be used for source reconstruction +of EEG/MEG data that is discussed in this course._ + +_As a brief recapitulation, the *first strategy* is the dipole fitting approach, +where the underlying assumption is that the pattern in the observed data can +be explained by a limited number of neural sources that are modelled as equivalent +current dipoles. The goal is now to find the parameters for the model that optimally +explains the observed sensor-level topography. These parameters pertain to the +number, location and orientation of the dipoles, and the optimal model is determined +by minimizing the error between the model and the observed data._ + +_The *second strategy* we discussed was distributed source modeling, where +minimum norm estimation was treated in some more detail. In this approach, the +observed data is assumed to be determined by a mixing of many active sources, +where the number of active sources is much higher than the number of observed +channels. This leads to an underdetermined problem, and one way to solve this +is to assume that a good guess of the distribution of the source amplitudes +has the lowest possible norm. One important feature of distributed source models +is the fact that the amplitudes of the individual sources are estimated in a +single inversion step._ + +_The *third strategy* that will be treated here is a so-called scanning method +(we will specifically be dealing with beamforming), where the amplitude at a +predefined set of source locations is estimated iteratively, that is, for one +source location at a time. This difference with distributed source modeling +has some important consequences, which we will return to later in these exercises. +The key feature of beamforming is that no prior assumption about the number +of sources is made. Rather, for each location that we choose to evaluate, we +ask ourselves the question: 'What would the the best estimate of the dipole +moment at this location?’ It turns out, that if we assume the underlying sources +to be uncorrelated over time we can get quite good estimates of our sources’ +activation time courses using beamforming._ + +_The 'best estimate’ in the previous question is more specifically operationalised +as the estimate that best captures the activity that can originate from that +location while optimally suppressing interference from sources at other locations. +When we use so-called adaptive beamformers for this, we need not only the biophysically +constraining forward model (i.e., the leadfield matrix), we also need the sensor-level +data, or more specifically the sensor-level covariance matrix. Before we will +start playing with the beamformer and get a feel for how and why it works, the +next section will deal with the concept of the sensor-level covariance matrix._ + +### 8.1 The sensor covariance matrix: a key ingredient for the beamformer + +After this section you will + +- Understand the concept of a covariance matrix. +- Argue that the sensor covariance matrix represents a mixture of the leadfield +outer products of all pairs of active sources. +- Understand that, if the sources underlying the sensor covariance matrix +are uncorrelated over time, the covariance matrix reduces to a weighted sum +of the leadfield outer products of only the active sources. + +In the following we will use `X` and `Y` to represent vectors rather than +matrices, to allow for formatting an element of that vector with a subscript +as `Xi`. + +The covariance between two variables (in our case time series) is defined +as: + + cov(X, Y) = ∑ (Xi-mean(X)) * (Yi-mean(Y)) / (n-1) + +If, for simplicity, we assume the vectors x and y to have a mean value of +0, this equation reduces to: + + cov(X, Y) = ∑ (Xi * Yi) / (n-1) + +In words: take the element-wise product of the elements in the vectors x and +y, and sum these products. Finish by normalizing with `(n-1)`, where n is the +number of elements in the vectors. + +A further simplification of this formula, assuming the vectors X and Y being +row vectors, using matrix algebra (remember what you have learnt from matrix +multiplication): + + cov(X, Y) = X * Y' / (n-1) + +Sometimes we even forget about the normalization term `(n-1)`, so we end up +with `X*Y'`. + +Anyway, what we need to know about the covariance that it quantifies the extent +to which variables x and y tend to covary (what’s in a name?) linearly. In other +words, if the sign of the covariance is positive, it reflects the overall tendency +of y to go up if x goes up (and vice versa). If the sign of the covariance is +negative, y has the tendency to go down if x goes up, and vice versa. If the +covariance is very close to 0, x and y don’t tend to covary. + +The concept of covariance is very closely related to the concept of correlation +and regression, but this is not the time to discuss it in further detail. + +Let’s start with creating a few vectors in MATLAB to further illustrate the +concept of covariance. First, we will create two vectors x and y, with the mean +value subtracted: + + x = randn(1, 100); + x = x-mean(x); + + y = randn(1, 100); + y = y-mean(y); + +Now we can compute the covariance between x and y with just a simple command: + + covxy = (x*y')/99; + +We can also visualize these vectors: + + figure; hold on; plot(x); plot(y, 'r'); + figure; plot(x, y, '.'); + +The second figure is a so-called scatter plot, which shows that the individual +pairs of observations (the corresponding entries in the vectors x and y) are +distributed all over the Cartesian xy-plane. + +**_Q8.1.1 - Looking at the scatter plot with x along the horizontal and y along +the vertical axis. Are the two correlated?_** + +Now we can introduce covariance between the vectors x and y by adding some +shared signal to the vectors: + + a = 1; + b = 1; + c = randn(1, 100); + + x2 = x + a .* c; + x2 = x2 - mean(x2); + + y2 = y + b .* c; + y2 = y2 - mean(y2); + + covxy2 = (x2*y2')/99; + +**_Again make a scatter plot._** + +**_Q8.1.2 - What is the correlation coefficient between x2 and y2? Explain +the (approximate) number that you get (hint: think about how the correlation +relates to explained variance)._** + +Up until now we have explored the covariance between two variables represented +as vectors. It may come as no surprise that we can perform the same multiplication +operation to a pair of matrices. If we consider a sensor-level data matrix X +with the channels in the rows and the time points in the columns (and with the +mean across columns subtracted from each column), when we do `X*X'` we will +get an n x n covariance matrix (strictly speaking scaled with the number of +time points minus one: for the following let’s forget about this scaling, and +also let’s assume the individual rows to have a mean value of 0), where n is +the number of channels. Each element `c(i,j)` in this matrix, let’s call this +matrix `C` reflects the covariance between the i-th and j-th channel. + +There are a few remarks to be made about a covariance matrix: + +- When a covariance matrix is mirrored across the main diagonal of the matrix, +you will get the same values. +- The elements on the main diagonal contain the auto-covariance between each +channel and itself, and are always positive values. These values represent the +variance of each channel. + +**_Q8.1.3 - Compute some normally distributed random data for 32 channels and +100 timepoints and represent this in a single matrix._** + +**_Q8.1.4 - Now compute the covariance between all channels; this can be represented +in a nchan x nchan matrix. You can use either for loops, or the corresponding +function in MATLAB._** + +**_Q8.1.5 - Plot the covariance matrix using `imagesc` and add a colorbar to +the figure. + +### 8.2 The sensor covariance gives information about the mixing process + +Let’s go back now to our basic observation model: `X = L*S+n`. If we now change +this equation to include the individual contributions of the single sources +s1, s2, ..., up to `sn`, and forget about the noise we get: + +X = l1*s1 + l2*s2 + ... + ln*sn + +When we compute `X*X'` and observe the individual terms in X we are essentially +doing the following: + +C = (l1*s1 + l2*s2 + ... +ln*sn) * (l1*s1 + l2*s2 + ... +ln*sn)' + +Note that here we are ignoring for now the normalization, i.e., the division +by N-1. + +There is a basic rule in matrix algebra that states that `(A*B)'` is the same +as `B'*A'`. Using this rule, and taking all the individual terms in the above +equation out of the brackets, we get: + + C = l1**s1**s1'*l1' + l2**s2**s1'*l1' + ... + ln**sn**s1'*l1' + ... + l1**s1**s2'*l2' + l2**s2**s2'*l2' + ... + ln**sn**s2'*l2' + ... + ... + l1**s1**sn'*ln' + l2**s2**sn'*ln' + ... + ln**sn**sn'*ln' + +Now the above equation looks complicated, but if we realize that `si*sj'` +represents the covariance (or auto-covariance) between the sources i and j, +and that these are scalar values (which means that it does not matter in which +order you multiply this in a matrix multiplication), we can rewrite the above +equation as: + + C = var(s1) **l1**l1' + cov(s2,s1)**l2**l1' + ... + cov(sn,s1)**ln**l1' + ... + cov(s1,s2)**l1**l2' + var(s2) **l2**l2' + ... + cov(sn,s2)**ln**l2' + ... + ... + cov(s1,sn)**l1**ln' + cov(s2,sn)**l2**ln' + ... + var(sn) **ln**ln' + +The terms `li*lj'` are also called vector outer-products, so in words the +above equation means that the covariance matrix can be represented as a _weighted +sum_ of the leadfield outer-products between all _pairs of sources_, where the +weights are based on the covariance between the corresponding pairs of sources. + +This is a very important feature of the covariance matrix that is exploited +by the beamformer, and is also exploited when we unmix the data matrix based +on a principal components analysis (which could be the topic of another session). + +### 8.3 Computing a beamformer solution + +After this section, you will + +- Understand the basic recipe for a beamformer analysis. +- Understand that the quality of the reconstruction critically depends on +the quality of the estimate of the covariance matrix. + +As already mentioned in the introduction section, the beamforming approach +is a so-called scanning method, where we investigate a set of locations in the +brain sequentially, where the question asked repeatedly is 'What would be the +best estimate of the dipole moment at _this_ location?’. + +For each of the locations investigated the beamformer algorithm computes a +spatial filter, also known as a set of weights (hence the convention to denote +the spatial filter with the letter w) that fulfills two criteria: + +1. The so-called filter gain is equal to 1. +2. The filter output should have minimum variance. + +The second criterion is specific to the type of beamformer we are typically +using, which is known as the minimum-variance beamformer. + +The first criterion of a filter gain of 1 is nothing else than 'what you get +is what you see’. In other words, the amplitude of the source signal that is +coming from a particular location in the brain (which is represented at the +channels by the leadfield from that location) should not be attenuated nor amplified +by the spatial filter that is estimated for that location. In a mathematical +formula this means `wi' * li = 1`. + +The second criterion aims that activity that is not coming from the location +under investigation does not affect ('leak into’) the estimate we’re currently +interested in. 'Filter output’ here means the estimated source activity. It +makes sense to require the _variance_ of this filter output to be as low as +possible, because if we are investigating a location from which no source activity +is emanating, we want the estimated activity to be as low as possible. + +It turns out that the two criteria expressed above are fulfilled by a spatial +filter computed as: + + w' = inv(lf'*inv(C)*lf) * lf' * inv(C) + +The beamformer makes an accurate reconstruction of the time course of the +underlying sources provided the individual sources are uncorrelated over time. +In reality neural sources are hardly even totally uncorrelated, but in practical +situations the beamformer is still tolerant against moderate levels of source +correlation (more about this later). It can be easily seen that the above formulation +satisfies criterion 1: + + w'*lf = inv(lf'*inv(C)*lf) * (lf'*inv(C)*lf) = I + +The proof that it also satisfies the second criterion can be demonstrated +with Lagrange multipliers (see https://en.wikipedia.org/wiki/Lagrange_multiplier), +but this falls beyond the scope of this course. + +The filter output or estimated source activity is defined as `w'*X` + +*Assume that we have data corresponding to 64 channels and and 1000 time points +and that we want to use the beamformer filter to estimate the activity of a +single dipole with known orientation, i.e., using a leadfield with 1 column.* + +**_Q8.3.1 - What is the size of the data matrix `X` and the size of the data +covariance matrix?_** + +**_Q8.3.2 - What is the size of the filter `w`?_** + +**_Q8.3.3 - What is the size of the result of the multiplication `w'*X`?_** + +### 8.4 Beamforming of simulated data. + +Let us now create some simulated data to demonstrate the beamformer. + + sensors = ni2_sensors('type', 'meg'); + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 1); + + leadfield1 = ni2_leadfield(sensors, headmodel, [-2 -8 3 -1 0 0]); % position 1110 in the grid + leadfield2 = ni2_leadfield(sensors, headmodel, [-5 0 6 1 0 0]); % position 2342 in the grid + leadfield3 = ni2_leadfield(sensors, headmodel, [ 5 0 6 0 1 0]); % position 2352 in the grid + leadfield4 = ni2_leadfield(sensors, headmodel, [ 4 -2 7 0 0.2 0.7]); % position 2674 in the grid + [s1, t] = ni2_activation('latency', .45, 'frequency', 3); + [s2, t] = ni2_activation('latency', .50, 'frequency', 10); + [s3, t] = ni2_activation('latency', .50, 'frequency', 15); + [s4, t] = ni2_activation('latency', .55, 'frequency', 30); + + sensordata = leadfield1*s1 + leadfield2*s2 + leadfield3*s3 + leadfield4*s4 + randn(301, 1000)*1e-9; + +**_Q8.4.1 - Make a figure with 4 subplots underneath each other and plot the +activity of source 1 to 4 (along the vertical axis) versus time (along the horizontal +axis)._** + +**_Q8.4.2 - Make a figure with the sensordata versus time. Do you recognize +the source activity?_** + +We are first going to compute the beamformer spatial filters by hand, to demonstrate +the recipe. As mentioned in the previous section, the beamformer needs the sensor-level +covariance matrix and the leadfields for the locations at which the spatial +filters are going to be estimated. For now we will be using a 3-dimensional +regular 'grid’ of dipole positions, where the source locations are 1 cm apart. +Also, we will use FieldTrip to efficiently compute the leadfields. In principle +we could achieve the same using the `ni2_leadfield` function, but the first +approach is much faster: + + sourcemodel = ni2_sourcemodel('type', 'grid', 'resolution', 1); + + cfg = []; + cfg.sourcemodel = sourcemodel; + cfg.grad = sensors; + cfg.headmodel = headmodel; + sourcemodel = ft_prepare_leadfield(cfg); + L = cat(2, sourcemodel.leadfield{sourcemodel.inside}); + +**_Q8.4.3 - What is the size of the matrix L?_** + +We also need the covariance of the sensor-level data: + + M = mean(sensordata, 2); + M = repmat(M, 1, 1000); + C = ((sensordata-M)*(sensordata-M)')./999; + +Now we also compute the inverse of the covariance matrix, because it will +be used repeatedly. When it has to be recomputed each time again it slows down +the computations. + + iC = inv(C); + + for ii=1:size(L, 2)/3 + indx = (ii-1)*3 + (1:3); + Lr = L(:, indx); % Lr is the Nx3 leadfield matrix for source r + wbf(indx,:) = pinv(Lr'*iC*Lr)*Lr'*iC; + end + + sbf = wbf * sensordata; + +**_Q8.4.4 - Explain what the variable `indx` is and how it is used._** + +We can now inspect the reconstructed source time course at the locations at +which activity was simulated. Note that if we don't constrain the orientation +of the sources (i.e., use a 3-column leadfield per location) we will get a 3-row +spatial filter per location and hence also estimates for the x, y and z component +of the activity. + +Since we only did the computations for the grid positions inside the head, +we have to go from the original 3D grid indices that covers a square regular +grid (inside _and_ outside the head) to the list of estimations that are only +for the inside positions. + +**_Q8.4.5 - How many grid positions are there in the complete grid?_** + +**_Q8.4.6 - How many positions are there inside the head?_** + +**_Q8.4.7 - Make a plot of all grid positions and a plot of only the grid positions +that are inside the head. You can use plot3, axis equal and axis vis3d._** + +We now look up the grid indices at which the original sources were placed. + + index = 1:numel(sourcemodel.inside); % these are _all_ source positions, including the ones outside the brain + index1110 = find(index(sourcemodel.inside)==1110) % find the index of source position 1110, only considering the ones inside the brain + index2342 = find(index(sourcemodel.inside)==2342) + index2352 = find(index(sourcemodel.inside)==2352) + index2674 = find(index(sourcemodel.inside)==2674) + sel1110 = (index1110-1)*3 + (1:3) % find the three columns corresponding to source position 1110 + sel2342 = (index2342-1)*3 + (1:3) + sel2352 = (index2352-1)*3 + (1:3) + sel2674 = (index2674-1)*3 + (1:3) + +Each vector `selXXX` is a triplet of consecutive numbers that points to rows +in the matrix of wbf (and sbf) that we are going to explore first. + + figure + subplot(1, 2, 1); plot(t, sbf(sel1110,:)); + subplot(1, 2, 2); plot(t, s1); + figure + subplot(1, 2, 1); plot(t, sbf(sel2342,:)); + subplot(1, 2, 2); plot(t, s2); + figure + subplot(1, 2, 1); plot(t, sbf(sel2352,:)); + subplot(1, 2, 2); plot(t, s3); + figure + subplot(1, 2, 1); plot(t, sbf(sel2674,:)); + subplot(1, 2, 2); plot(t, s4); + +As you may have noticed, the resulting time courses are still a bit noisy +due to the noise in the data also being projected onto the estimated source +time courses. Since we only have 1000 samples, the structure of the noise in +the data is not so well estimated and hence cannot be so well suppressed. We +can improve the noise suppression using a regularized estimate of the inverse +covariance. We do that using Tikhonov regularization, also used in Ridge regression +(see https://en.wikipedia.org/wiki/Ridge_regression). For that we add a certain +amount of "identity matrix" to the covariance matrix prior to taking the inverse. +The amount of regularization can be determined from the plot of the eigenvalues +(or singluar values) of the covariance, also known as the scree plot (see https://en.wikipedia.org/wiki/Scree_plot). + + iCr = inv(C + 1e-18*eye(301)); + +### 8.5 Beamformer and depth bias + +After this section, you will + +- Understand the depth bias of the beamformer, and its cause. +- Understand how in the typical application a contrast between two conditions +is needed for a meaningful source reconstruction. +- Understand how the performance of the beamformer is affected by correlation +of the source time courses. + +In the previous section we visualized the reconstructed time courses at the +locations close to where we actually simulated the activity. In real applications, +these locations of course are unknown, and we typically need to look for local +maxima in the reconstructed 'image’. The quantity that is used is the filter +output, i.e., the variance of the source time courses, which is also often referred +to as the 'power’ of the sources. Apart from the fact that in real applications +the data are usually quite noisy, causing difficulties in the estimation of +the local maxima, there is an important feature of the beamformer, which further +complicates the evaluation of peaks in the image. This is the so-called depth +bias. + +To illustrate this depth bias, we first restructure the source-reconstructed +simulated data of section 3.2 in a data-structure that can be used by FieldTrip, +so that we can use FieldTrip's visualization functionality. If you don’t have +the `sbf` and `sourcemodel` variables in MATLAB memory anymore, you need to +reconstruct these in order to be able to proceed. + +In order to represent the reconstruction as an image, we need to express the +variance of the sources at each of the locations in a single number. Recall +that at each location of the 3-dimensional grid the source activity consists +of three time courses, one for each 'cardinal’ x/y/z orientation. A common way +to achieve this is to sum the variance across the three orientations. This is +essentially the application of Pythagoras’ rule (without explicitly taking the +square and the square root, since variance is already a 'squared’ value). With +our sbf variable it is possible to do this in the following way. Note that this +variable is a 'number of inside sources x 3’ times 'number of timepoints’ matrix. +If we compute the variance across time (var(sbf, [], 2)) we end up with a vector, +that in consecutive triplets contains the variance in the x/y/z orientation +at the 'inside’ dipole locations of the sourcemodel. We can now efficiently +create the variance for each location by using MATLAB’s reshape and sum functions: + + pbf = var(sbf, [], 2); + pbf = reshape(pbf, 3, numel(pbf)/3); + pbf = sum(pbf, 1); + +Take a moment to try and understand what is going on in the second and third +line. + +Now, create a FieldTrip structure of the 'source’ type, and use `ft_sourceplot` +to visualize this. + + source = []; + source.pos = sourcemodel.pos; + source.dim = sourcemodel.dim; + source.inside = sourcemodel.inside; + source.inside = reshape(source.inside, source.dim); + source.pow = zeros(size(source.pos, 1), 1); + source.pow(source.inside) = pbf; + source.pow = reshape(source.pow, source.dim); + + cfg = []; + cfg.funparameter = 'pow'; + cfg.method = 'slice'; + cfg.nslices = 10; + cfg.funcolorlim = [0 0.2]; + ft_sourceplot(cfg, source); + +**_Q8.5.1 - Include the figure that you just created in your answers._** + +What you see now is a set of slices through the spherical volume conductor, +where each slice is parallel to the xy-plane. It starts at the left-lower bottom +with the slice that has the lowest z-coordinate, and ends at the upper right +with the crown of our 'simulated’ head. The x-axis is running from left to right, +and the y-axis is running from bottom to top. + +The most prominent feature in this image is the enormous 'blob’ in the middle +of the 'head’. This represents the depth bias of the beamformer, and is an important +motivation for why most successful applications of the beamformer always involve +the reconstruction of a contrast between two conditions (another important motivation +is that we are usually interested in the features in our data that change as +a consequence of an experimental manipulation, which by construction always +involves the comparison across two (or more) experimental conditions). In this +simulated data example with a relatively high signal-to-noise ratio of the data, +admittedly three out of the four simulated sources are visible. + +The depth bias is directly caused by the unit gain constraint of the spatial +filter. The further away the source is from the sensors, the smaller the numbers +in the leadfield (why?). If the dot-product between the spatial filter and the +leadfield is required to be 1, the small values in a deep source’s leadfield +need to be counterbalanced by large values in the spatial filter. As a direct +consequence the spatial filter’s output (`w'**C**w`) will be much larger for a +deep source than for a more superficial source. + +### 8.6 Accounting for depth bias: computing a contrast + +In the previous section we have seen that the depth bias is related to the +fact that the spatial filters for deep sources have much higher values than +the spatial filters for superficial sources. The depth bias is therefore a feature +of the spatial filters. One way to account for this is to normalize the estimated +source power by an estimate of how noise projects through the spatial filters. +This normalized quantity is known as the 'neural activity index’, but in real +data applications this usually does not work that well. The reason is that a +good estimate of the noise is difficult to obtain, and usually the noise covariance +is assumed to be a scaled identity matrix (this reflects noise to be uncorrelated +across channels, with the same variance for each of the channels), which is +far from reality. A better strategy is to compute a contrast between two conditions. +The idea is that the features in the data that are the same across conditions +(such as the depth bias) will cancel each other when making the contrast. + +We will use the variables `sensordata`, `sourcemodel` and `L` that we also +used in section 3. We also need the leadfields and source timecourses that we +used for the simulations. If you don’t have these variables anymore in MATLAB +memory, you should re-create them. + +Now we will simulate data from a 'second’ condition (compared to the original +variable sensordata), where the sources have the exact same locations and time +courses, but the amplitude of two sources is decreased, and the amplitude of +the two other sources is increased, relative to the 'first’ condition. + + sensordata2 = 1.25 .* leadfield1*s1 + ... + 0.80 .* leadfield2*s2 + ... + 0.80 .* leadfield3*s3 + ... + 1.25 .* leadfield4*s4 + ... + randn(301, 1000)*1e-9; + +We will now compute the spatial filters using the covariance estimated from +the data combined across the two conditions. In this way we will end up with +a single set of spatial filters, and thus, in comparing across the two conditions, +we ensure that the depth bias is the same for condition 1 and 2. The covariance +of the data combined across the 2 conditions can be computed in several ways, +e.g. by averaging the single condition covariances. Here, we first concatenate +the data and subsequently compute the covariance. Now we will use the MATLAB +cov function, rather than computing the covariance 'by hand’ (i.e., by first +computing the mean across time etc.). + + C2 = cov([sensordata sensordata2]'); + iCr2 = inv(C2 + eye(301)*2e-18); + + for ii=1:size(L, 2)/3 + indx = (ii-1)*3 + (1:3); + Lr = L(:, indx); % Lr is the Nx3 leadfield matrix for source r + wbf(indx,:) = pinv(Lr'*iCr2*Lr)*Lr'*iCr2; + end + + sbf1 = wbf * sensordata; + sbf2 = wbf * sensordata2; + + pbf1 = var(sbf1, [], 2); + pbf1 = reshape(pbf1, 3, numel(pbf1)/3); + pbf1 = sum(pbf1, 1); + + pbf2 = var(sbf2, [], 2); + pbf2 = reshape(pbf2, 3, numel(pbf2)/3); + pbf2 = sum(pbf2, 1); + +We can now create a FieldTrip style source-structure, and store in the field +pow a measure of the difference between condition 1 and 2. + + source = []; + source.pos = sourcemodel.pos; + source.dim = sourcemodel.dim; + source.inside = sourcemodel.inside; + source.inside = reshape(source.inside, source.dim); + source.pow = zeros(size(source.pos, 1), 1); + source.pow(source.inside) = (pbf1-pbf2)./((pbf1+pbf2)/2); + source.pow = reshape(source.pow, source.dim); + + cfg = []; + cfg.funparameter = 'pow'; + cfg.method = 'slice'; + cfg.nslices = 10; + cfg.funcolorlim = [-0.3 0.3]; + ft_sourceplot(cfg, source); + +**_Q8.6.1 - Include the figure that you just created in your answers._** + +### 8.7 Beamforming and correlated sources + +An unfortunate characteristic feature of the beamformer is its inability to +deal with strongly correlated sources. This is a direct consequence of the fact +that, in the presence of correlated sources, the leadfield outer products of +the sources that are correlated contribute significantly to the sensor level +covariance matrix (see section 2.2). As a result, the spatial filters, which +aim to suppress interfering (but uncorrelated) activity originating from other +locations lead to a distortion of the true source time courses. In this section +we will start from a fresh simulation, so you’d best issue a `clear all` command +before you proceed. + +First, we create some sensor data: + + sensors = ni2_sensors('type', 'meg'); + headmodel = ni2_headmodel('type', 'spherical', 'nshell', 1); + leadfield1 = ni2_leadfield(sensors, headmodel, [-5.3 0 5.9 1 0 0]); % position 2342 in grid + leadfield2 = ni2_leadfield(sensors, headmodel, [4.9 0 6.2 0 1 0]); % position 2352 in grid + +create the time course of activation + [s1, t] = ni2_activation('latency', .5, 'frequency', 10); + [s2, t] = ni2_activation('latency', .49, 'frequency', 10); + +create the sensor data + sensordata = leadfield1*s1 + ... + leadfield2*s2 + ... + randn(301, 1000)*0.04e-9; + +Now we can assess the correlation between s1 and s2, and we will note that +it is significant: + + c = corr(s1', s2'); + +**_Q8.7.1 - What is the correlation?_** + +**_Q8.7.2 - Plot the source timecourse s1 and s2 in a single figure._** + +We can make a scree plot of the eigenvalues of the sensor covariance. It reveals +that there is largely only one source component contributing to the data + + v = svd(cov(sensordata')); + figure; plot(v(1:10), 'o') + +**_Q8.7.3 - Try making sensordata with more and with less correlated sources._**