diff --git a/assets/img/workshop/practicalmeeg2022/mri_origNAS.png b/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure1.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/mri_origNAS.png rename to assets/img/workshop/practicalmeeg2022/handson_anatomy/figure1.png diff --git a/assets/img/workshop/practicalmeeg2022/mri_headmodel.png b/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure2.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/mri_headmodel.png rename to assets/img/workshop/practicalmeeg2022/handson_anatomy/figure2.png diff --git a/assets/img/workshop/practicalmeeg2022/surf_native.png b/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure3.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/surf_native.png rename to assets/img/workshop/practicalmeeg2022/handson_anatomy/figure3.png diff --git a/assets/img/workshop/practicalmeeg2022/surf_wb.png b/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure4.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/surf_wb.png rename to assets/img/workshop/practicalmeeg2022/handson_anatomy/figure4.png diff --git a/assets/img/workshop/practicalmeeg2022/coregistration.png b/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure5.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/coregistration.png rename to assets/img/workshop/practicalmeeg2022/handson_anatomy/figure5.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure1.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure1.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure1.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure1.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure2.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure2.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure2.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure2.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure3.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure3.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure3.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure3.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure4.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure4.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure4.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure4.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure5.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure5.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure5.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure5.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure6.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure6.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure6.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure6.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure7.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure7.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure7.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure7.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure8.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure8.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure8.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure8.png diff --git a/assets/img/workshop/practicalmeeg2022/groupanalysis/figure9.png b/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure9.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/groupanalysis/figure9.png rename to assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure9.png diff --git a/assets/img/workshop/practicalmeeg2022/raw2erp_multi_mags.png b/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure1.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/raw2erp_multi_mags.png rename to assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure1.png diff --git a/assets/img/workshop/practicalmeeg2022/raw2erp_single_mags.png b/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure2.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/raw2erp_single_mags.png rename to assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure2.png diff --git a/assets/img/workshop/practicalmeeg2022/raw2erp_topo_famous.png b/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure3.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/raw2erp_topo_famous.png rename to assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure3.png diff --git a/assets/img/workshop/practicalmeeg2022/raw2erp_topo_unfamiliar.png b/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure4.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/raw2erp_topo_unfamiliar.png rename to assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure4.png diff --git a/assets/img/workshop/practicalmeeg2022/raw2erp_topo_scrambled.png b/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure5.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/raw2erp_topo_scrambled.png rename to assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure5.png diff --git a/assets/img/workshop/practicalmeeg2022/raw2erp_topo_appended.png b/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure6.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/raw2erp_topo_appended.png rename to assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure6.png diff --git a/assets/img/workshop/practicalmeeg2022/tfrtiles.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure1.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/tfrtiles.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure1.png diff --git a/assets/img/workshop/practicalmeeg2022/tfr_pipelinenew.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure2.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/tfr_pipelinenew.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure2.png diff --git a/assets/img/workshop/practicalmeeg2022/freqlow_famous.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure3.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/freqlow_famous.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure3.png diff --git a/assets/img/workshop/practicalmeeg2022/freqlow_famous_singleplotTFR.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure4.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/freqlow_famous_singleplotTFR.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure4.png diff --git a/assets/img/workshop/practicalmeeg2022/freqlow_famous_topoplotTFR.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure5.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/freqlow_famous_topoplotTFR.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure5.png diff --git a/assets/img/workshop/practicalmeeg2022/tfrhann7.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure6.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/tfrhann7.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure6.png diff --git a/assets/img/workshop/practicalmeeg2022/freqhigh_famous.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure7.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/freqhigh_famous.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure7.png diff --git a/assets/img/workshop/practicalmeeg2022/freq_famous.png b/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure8.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/freq_famous.png rename to assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure8.png diff --git a/assets/img/workshop/practicalmeeg2022/cov_meg.png b/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure1.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/cov_meg.png rename to assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure1.png diff --git a/assets/img/workshop/practicalmeeg2022/cov_svd.png b/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure2.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/cov_svd.png rename to assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure2.png diff --git a/assets/img/workshop/practicalmeeg2022/rejectvisual.png b/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure3.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/rejectvisual.png rename to assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure3.png diff --git a/assets/img/workshop/practicalmeeg2022/lcmv_avgovercortex.png b/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure4.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/lcmv_avgovercortex.png rename to assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure4.png diff --git a/assets/img/workshop/practicalmeeg2022/lcmv_inflated_visualvc.png b/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure5.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/lcmv_inflated_visualvc.png rename to assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure5.png diff --git a/assets/img/workshop/practicalmeeg2022/lcmv_vc_timecourse.png b/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure6.png similarity index 100% rename from assets/img/workshop/practicalmeeg2022/lcmv_vc_timecourse.png rename to assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure6.png diff --git a/workshop/practicalmeeg2022/handson_anatomy.md b/workshop/practicalmeeg2022/handson_anatomy.md index 0d59366cf..f7605784f 100644 --- a/workshop/practicalmeeg2022/handson_anatomy.md +++ b/workshop/practicalmeeg2022/handson_anatomy.md @@ -6,7 +6,7 @@ tags: [practicalmeeg2022, meg, headmodel, sourcemodel, sourceanalysis, mmfaces] # Creation of headmodels and sourcemodels for source reconstruction {% include markup/info %} -This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022. It is an adjusted version of the [MEG headmodel tutorial](/tutorial/headmodel_meg) and an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). +This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022 and is part of a coherent sequence of tutorials. It is an adjusted version of the [MEG headmodel tutorial](/tutorial/headmodel_meg) and an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). {% include markup/end %} ## Introduction @@ -69,7 +69,7 @@ To align the coordinates of the MRI with the anatomical landmarks, we use the fo cfg.coordsys = 'neuromag'; mri = ft_volumerealign(cfg, mri); -{% include image src="/assets/img/workshop/practicalmeeg2022/mri_origNAS.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure1.png" width="400" %} _Figure: The location of the NAS indicated by the crosshair in the anatomical MRI image_ @@ -126,7 +126,7 @@ You can now visualise the headmodel in combination with the anatomical image: cfg.intersectmesh = headmodel.bnd; ft_sourceplot(cfg, mri); -{% include image src="/assets/img/workshop/practicalmeeg2022/mri_headmodel.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure2.png" width="400" %} _Figure: The headmodel visualised on top of the volulmetric anatomical image_ @@ -193,7 +193,7 @@ That is, a bunch of files, which exist in an 'rh' and 'lh' version. Each of the material dull lighting gouraud; set(gcf,'color','w'); -{% include image src="/assets/img/workshop/practicalmeeg2022/surf_native.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure3.png" width="400" %} _Figure: The pial surface extracted by freesurfer_ @@ -288,7 +288,7 @@ We can have a look at some files in a bit more detail: The line with **[linkprop](https://nl.mathworks.com/help/matlab/ref/linkprop.html)** allows for simultaneous rotation of all objects, when switching on the rotate3d option in the figure. Click on the "rotate" symbol and use your mouse to look at the surfaces from all sides. -{% include image src="/assets/img/workshop/practicalmeeg2022/surf_wb.png" width="600" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure4.png" width="600" %} _Figure: The different surfaces generated by connectome workbench_ @@ -321,6 +321,6 @@ Importantly, before proceeding any further, we want to check whether the headmod ft_plot_sens(grad); h = light; lighting gouraud; material dull; -{% include image src="/assets/img/workshop/practicalmeeg2022/coregistration.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_anatomy/figure5.png" width="400" %} _Figure: Coregistration between headmodel, sourcemodel and sensors_ diff --git a/workshop/practicalmeeg2022/handson_artifacts.md b/workshop/practicalmeeg2022/handson_artifacts.md index 035c561ca..86854628f 100644 --- a/workshop/practicalmeeg2022/handson_artifacts.md +++ b/workshop/practicalmeeg2022/handson_artifacts.md @@ -6,7 +6,7 @@ tags: [practicalmeeg2022, artifact, ica, preprocessing, mmfaces] # From raw data to ERP {% include markup/info %} -This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022. +This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022 and is part of a coherent sequence of tutorials. {% include markup/end %} ## Introduction diff --git a/workshop/practicalmeeg2022/handson_groupanalysis.md b/workshop/practicalmeeg2022/handson_groupanalysis.md index db3fddfc5..989e5ee01 100644 --- a/workshop/practicalmeeg2022/handson_groupanalysis.md +++ b/workshop/practicalmeeg2022/handson_groupanalysis.md @@ -6,7 +6,7 @@ tags: [practicalmeeg2022, meg, timelock, statistics, plotting, mmfaces] # Group-level statistics with parametric and non-parametric methods {% include markup/info %} -This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022. It is an adjusted version of the [event-related statistics tutorial](/tutorial/eventrelatedstatistics) and an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). +This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022 and is part of a coherent sequence of tutorials. It is an adjusted version of the [event-related statistics tutorial](/tutorial/eventrelatedstatistics) and an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). {% include markup/end %} ## Introduction @@ -117,7 +117,7 @@ Using this layout, we can plot all channels: cfg.layout = layout; ft_multiplotER(cfg, grandavg_famous, grandavg_unfamiliar, grandavg_scrambled); -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure1.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure1.png" width="400" %} _Figure; ERPs for each virtual channel (parcel)_ @@ -129,7 +129,7 @@ Channel/parcel number 291 has a clear ERP, which is different between the face c Note that you can also very easily make this figure using the standard MATLAB [plot](https://nl.mathworks.com/help/matlab/ref/plot.html) function. -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure2.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure2.png" width="400" %} _Figure; Comparing the ERPs on the virtual channel (parcel) of interest_ @@ -148,7 +148,7 @@ We can use the `brainordinate` field of one of the subjects to determine where t view(0, -45) camlight -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure3.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure3.png" width="400" %} _Figure; Location of the parcel corresponding to the virtual channel of interest_ @@ -179,7 +179,7 @@ From the grand average plot we can zoom in on our comparison of interest and onl end legend({'famous', 'scrambled'}) -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure4.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure4.png" width="400" %} _Figure; Single subject results, the time window of interest is highlighted_ @@ -203,7 +203,7 @@ We can also plot the differences between conditions, for each subject, in a diff figure; plot(M', 'o-'); xlim([0.5 2.5]) legend({subj.name}, 'location', 'EastOutside'); -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure5.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure5.png" width="400" %} _Figure; Single subject results, averaged for the channel of interest and the time window of interest_ @@ -292,7 +292,7 @@ In the previous paragraph we picked a channel/parcel and time window by hand aft figure; ft_multiplotER(cfg, grandavg_effect) title('Parametric: significant without multiple comparison correction') -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure6.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure6.png" width="400" %} _Figure; Parametric test, plot of the effect size with significant channels in red_ @@ -380,7 +380,7 @@ This is implemented in FieldTrip in the function **[ft_statistics_montecarlo](/r figure; ft_multiplotER(cfg, grandavg_effect) title('Nonparametric: significant without multiple comparison correction') -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure7.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure7.png" width="400" %} _Figure; Nonparametric test, plot of the effect size with significant channels in red_ @@ -442,7 +442,7 @@ If your channels in the data are close to each other, you can also use the featu figure; ft_multiplotER(cfg, grandavg_effect) title('Nonparametric: significant after cluster-based correction') -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure8.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure8.png" width="400" %} _Figure; Nonparametric test, cluster-based correction for multiple comparisons_ @@ -465,7 +465,7 @@ Although a single test is performed to test exchangeability of the whole data ov colorbar camlight -{% include image src="/assets/img/workshop/practicalmeeg2022/groupanalysis/figure9.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_groupanalysis/figure9.png" width="400" %} _Figure; Spatial distribution of p-values over the parcels_ diff --git a/workshop/practicalmeeg2022/handson_raw2erp.md b/workshop/practicalmeeg2022/handson_raw2erp.md index eb16a1c94..cdaf38307 100644 --- a/workshop/practicalmeeg2022/handson_raw2erp.md +++ b/workshop/practicalmeeg2022/handson_raw2erp.md @@ -6,7 +6,7 @@ tags: [practicalmeeg2022, meg, timelock, preprocessing, mmfaces] # From raw data to ERP {% include markup/info %} -This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022. It is an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). +This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022 and is part of a coherent sequence of tutorials. It is an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). {% include markup/end %} ## Introduction @@ -242,19 +242,19 @@ Each type of channel can be visualised with its corresponding layout. For the vi cfg.layout = layout_eeg; figure; ft_multiplotER(cfg, avg_famous, avg_unfamiliar, avg_scrambled); -{% include image src="/assets/img/workshop/practicalmeeg2022/raw2erp_multi_mags.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure1.png" width="400" %} _Figure: Distribution of magnetometer ERFs on a 2D projected sensory layout._ The figure that is generated by **[ft_multiplotER](/reference/ft_multiplotER)** shows in a spatial distribution the ERFs on the different channels (in this case: magnetometers). The figure is interactive, and you can select subsets of channels by drawing a rectangle in the figure panel, followed by a left mouse click. This results in a figure that shows the condition specific ERFs as an average across the selected sensors. This representation is the same as when using **[ft_singleplotER](/reference/ft_singleplotER)**. Selecting a time range in this figure results in a set of condition specific figures that show the topographical distribution of the ERF amplitude, as an average across the selected latency window. -{% include image src="/assets/img/workshop/practicalmeeg2022/raw2erp_single_mags.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure2.png" width="400" %} _Figure: Average across selected magnetometers for each of the conditions._ -{% include image src="/assets/img/workshop/practicalmeeg2022/raw2erp_topo_famous.png" width="400" %} -{% include image src="/assets/img/workshop/practicalmeeg2022/raw2erp_topo_unfamiliar.png" width="400" %} -{% include image src="/assets/img/workshop/practicalmeeg2022/raw2erp_topo_scrambled.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure3.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure4.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure5.png" width="400" %} _Figure: Topographies of average across selected latency window for each of the conditions._ @@ -310,6 +310,6 @@ Now that we have a combined layout, we can plot all three datatypes and all thre Explore the data, using the interactive property of the figure. Visualize the topographies of the ERF/ERPs in the latency window between 175 and 250 ms. Also inspect the topographies in the latency window from 300-450 ms. Explain the differences in topography (between latencies and channel types) based on putative underlying neuronal generators. {% include markup/end %} -{% include image src="/assets/img/workshop/practicalmeeg2022/raw2erp_topo_appended.png" width="600" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_raw2erp/figure6.png" width="600" %} _Figure: Topographies of average across selected latency window for one of the conditions._ diff --git a/workshop/practicalmeeg2022/handson_sensoranalysis.md b/workshop/practicalmeeg2022/handson_sensoranalysis.md index f55566780..735e11c70 100644 --- a/workshop/practicalmeeg2022/handson_sensoranalysis.md +++ b/workshop/practicalmeeg2022/handson_sensoranalysis.md @@ -6,7 +6,7 @@ tags: [practicalmeeg2022, meg, freq, mmfaces] # Time-frequency analysis using Hanning window, multitapers and wavelets {% include markup/info %} -This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022. It is an adjusted version of the [time-frequency analysis tutorial](/tutorial/timefrequencyanalysis) and an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). +This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022 and is part of a coherent sequence of tutorials. It is an adjusted version of the [time-frequency analysis tutorial](/tutorial/timefrequencyanalysis) and an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). {% include markup/end %} ## Introduction @@ -21,7 +21,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/workshop/practicalmeeg2022/tfrtiles.png" width="600" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/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._ @@ -36,7 +36,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 with **[ft_singleplotTFR](/reference/ft_singleplotTFR)** or several channels with **[ft_multiplotTFR](/reference/ft_multiplotTFR)**, or by creating a topographic plot for a specified time- and frequency interval with **[ft_topoplotTFR](/reference/ft_topoplotTFR)**. -{% include image src="/assets/img/workshop/practicalmeeg2022/tfr_pipelinenew.png" width="200" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure2.png" width="200" %} _Figure: Schematic overview of the steps in time-frequency analysis_ @@ -161,7 +161,7 @@ The function **[ft_multiplotTFR](/reference/ft_multiplotTFR)** plots the TFRs fr cfg.layout = 'neuromag306mag_helmet.mat'; figure; ft_multiplotTFR(cfg, freqlow_famous); -{% include image src="/assets/img/workshop/practicalmeeg2022/freqlow_famous.png" width="650" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure3.png" width="650" %} _Figure: Time-frequency representations calculated using ft_freqanalysis. Plotting was done with ft_multiplotTFR)_ @@ -177,7 +177,7 @@ An interesting effect seems to be present in the TFR of sensor MEG0731. To make cfg.channel = 'MEG0731'; figure; ft_singleplotTFR(cfg, freqlow_famous); -{% include image src="/assets/img/workshop/practicalmeeg2022/freqlow_famous_singleplotTFR.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure4.png" width="400" %} _Figure: The time-frequency representation of a single sensor obtained using ft_singleplotTFR_ @@ -195,7 +195,7 @@ From the previous figure you can see that there is an increase in power around 5 cfg.marker = 'on'; figure; ft_topoplotTFR(cfg, freqlow_famous); -{% include image src="/assets/img/workshop/practicalmeeg2022/freqlow_famous_topoplotTFR.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure5.png" width="400" %} _Figure: A topographic representation of the time-frequency representations (15 - 20 Hz, 0.9 - 1.3 s post stimulus) obtained using ft_topoplotTFR_ @@ -251,7 +251,7 @@ To plot the result use **[ft_singleplotTFR](/reference/ft_singleplotTFR)**: cfg.interactive = 'no'; figure; ft_singleplotTFR(cfg, TFRhann7); -{% include image src="/assets/img/workshop/practicalmeeg2022/tfrhann7.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure6.png" width="400" %} _Figure: A time-frequency representation of channel MEG0741 obtained using ft_singleplotTFR_ @@ -335,7 +335,7 @@ Plot the result cfg.marker = 'on'; figure; ft_multiplotTFR(cfg, freqhigh_famous); -{% include image src="/assets/img/workshop/practicalmeeg2022/freqhigh_famous.png" width="650" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure7.png" width="650" %} _Figure: Time-frequency representations of power calculated using multitapers._ @@ -390,7 +390,7 @@ Plot the result cfg.layout = 'neuromag306mag_helmet.mat'; figure; ft_multiplotTFR(cfg, freq_famous) -{% include image src="/assets/img/workshop/practicalmeeg2022/freq_famous.png" width="650" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sensoranalysis/figure8.png" width="650" %} _Figure: Time-frequency representations of power calculated using Morlet wavelets._ diff --git a/workshop/practicalmeeg2022/handson_sourceanalysis.md b/workshop/practicalmeeg2022/handson_sourceanalysis.md index 121504da1..9bef3bf70 100644 --- a/workshop/practicalmeeg2022/handson_sourceanalysis.md +++ b/workshop/practicalmeeg2022/handson_sourceanalysis.md @@ -6,7 +6,7 @@ tags: [practicalmeeg2022, meg, sourceanalysis, beamformer, mmfaces] # Reconstructing source activity using beamformers {% include markup/info %} -This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022. It is an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). +This tutorial was written specifically for the [PracticalMEEG workshop in Aix-en-Provence](/workshop/practicalmeeg2022) in December 2022 and is part of a coherent sequence of tutorials. It is an updated version of the corresponding tutorial for [Paris 2019](/workshop/paris2019). {% include markup/end %} ## Introduction @@ -64,7 +64,7 @@ Now, if we reorder the channels a bit, we can visualise this covariance matrix a C = baseline_avg.cov([find(selmag);find(selgrad)],[find(selmag);find(selgrad)]); figure; imagesc(C);hold on;plot(102.5.*[1 1],[0 306],'w','linewidth',2);plot([0 306],102.5.*[1 1],'w','linewidth',2); -{% include image src="/assets/img/workshop/practicalmeeg2022/cov_meg.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure1.png" width="400" %} _Figure: MEG sensor covariance matrix_ @@ -76,7 +76,7 @@ To make this a bit more concrete, we first will have a look at the singular valu [u,s,v] = svd(baseline_avg.cov); figure; plot(log10(diag(s)),'o'); -{% include image src="/assets/img/workshop/practicalmeeg2022/cov_svd.png" width="400" %} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure2.png" width="400" %} _Figure: Singular values of a MEG sensor covariance matrix_ @@ -127,7 +127,7 @@ A byproduct of the magnetometers and gradiometers being represented at a similar cfg.layout = layout; dataw_meg = ft_rejectvisual(cfg, dataw_meg); -{% include image src="/assets/img/workshop/practicalmeeg2022/rejectvisual.png" width="600" height="600"%} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure3.png" width="600" height="600"%} _Figure: Visual artifact rejection window_ @@ -193,14 +193,14 @@ With the forward model and the covariance (as average across trials) computed, w source = ft_sourceanalysis(cfg, tlckw); filename = fullfile(subj.outputpath, 'sourceanalysis', subj.name, sprintf('%s_source_lcmv', subj.name)); - save(filename, 'source', 'tlckw'); + % save(filename, 'source', 'tlckw'); + % load(filename, 'source', 'tlckw'); With the source structure computed, we can inspect the fields of the variable source, and the subfields of source.avg: source = struct with fields: - time: [1x510 double] inside: [15684x1 logical] pos: [15684x3 double] @@ -214,7 +214,6 @@ With the source structure computed, we can inspect the fields of the variable so ans = struct with fields: - ori: {1x15684 cell} pow: [15684x1 double] mom: {15684x1 cell} @@ -238,9 +237,9 @@ The content of source.avg is the interesting stuff. Particularly, the 'mom' fiel % replace the original dipole positions with those of the inflated surface source.pos = inflated.pos; - figure; ft_sourceplot_interactive(cfg, source); + ft_sourceplot_interactive(cfg, source); -{% include image src="/assets/img/workshop/practicalmeeg2022/lcmv_avgovercortex.png" width="400" %}{% include image src="/assets/img/workshop/practicalmeeg2022/lcmv_inflated_visualvc.png" width="400" %}{% include image src="/assets/img/workshop/practicalmeeg2022/lcmv_vc_timecourse.png" width="400"%} +{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure4.png" width="400" %}{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure5.png" width="400" %}{% include image src="/assets/img/workshop/practicalmeeg2022/handson_sourceanalysis/figure6.png" width="400"%} _Figure: Interactive figure windows to inspect virtual channels_ @@ -306,7 +305,7 @@ With the spatial filters computed from the covariance matrix estimated from all cfg = []; cfg.parameter = 'mom'; - figure; ft_sourceplot_interactive(cfg, source_famous, source_unfamiliar, source_scrambled); + ft_sourceplot_interactive(cfg, source_famous, source_unfamiliar, source_scrambled); You can also investigate the difference between the 'famous' and 'scrambled' conditions: @@ -318,4 +317,4 @@ You can also investigate the difference between the 'famous' and 'scrambled' con cfg = []; cfg.parameter = 'mom'; cfg.has_diff = true; - figure; ft_sourceplot_interactive(cfg, source_famous, source_scrambled, source_diff); + ft_sourceplot_interactive(cfg, source_famous, source_scrambled, source_diff);