You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: development/meeting/20140402.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,4 +21,4 @@ tags: [meeting]
21
21
- We discussed bug 2500.
22
22
- We discussed bug 2516.
23
23
- We briefly discussed how to deal with the e-mails that are left unanswered on the mailing list. All FT team members should reply occasionally (1 per week at least), to reflect that it's a team effort. Also we should give room to the outside-centre FT'ers to reply.
24
-
- support for component data in source reconstruction functions: - dipolefitting and MNE should in principle be doable. - yet, the functions may become confused because of the mixed representation of the component data (in a freq/tlck structure). - identify which functions should support this, but currently don't do it well. - ensure that the data is unambiguous, i.e. only keep topo/topolabel and remove anything else.
24
+
- support for component data in source reconstruction functions: - dipole fitting and MNE should in principle be doable. - yet, the functions may become confused because of the mixed representation of the component data (in a freq/tlck structure). - identify which functions should support this, but currently don't do it well. - ensure that the data is unambiguous, i.e. only keep topo/topolabel and remove anything else.
Copy file name to clipboardExpand all lines: development/project/distributed.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,7 +66,7 @@ We may need to estimate the time and memory requirements of each process, potent
66
66
67
67
Robert: an automatic estimation and updating of requirements for subsequent jobs was built into peercellfun, but turned out not to be very robust. In qsubcellfun I therefore forced the correct specification onto the user instead of attempting to have smart defaults.
68
68
69
-
The benefit to different modules being run in parallel may vary. Memory/processor intensive scripts (fMRI normalisation) vs. hard disk intensive (DICOM to Nifti conversion) depending on the site specific architecture.
69
+
The benefit to different modules being run in parallel may vary. Memory/processor intensive scripts (fMRI normalisation) vs. hard disk intensive (DICOM to NIFTI conversion) depending on the site specific architecture.
70
70
71
71
Similarly, small jobs would benefit from stacking (running a series of jobs on a single distributed node). That is implemented in qsubcellfun.
Copy file name to clipboardExpand all lines: development/project/testing_ft_vs_mne.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,7 +187,7 @@ It is not clear for me when you have to define the option grid.inside and grid.o
187
187
188
188
## Minimum-norm estimate in FieldTrip using simulated data
189
189
190
-
Trying to understand the results above, we looked at the phantom data in detail. It turned out that the location of the phantom with respect to the sensor-array was quite eccentric. To get a better idea about whether the results are caused by a feature of the code, or by the strange alignment we simulate some phantom data, where the active dipole is in the centre of the helmet.
190
+
Trying to understand the results above, we looked at the phantom data in detail. It turned out that the location of the phantom with respect to the sensorarray was quite eccentric. To get a better idea about whether the results are caused by a feature of the code, or by the strange alignment we simulate some phantom data, where the active dipole is in the centre of the helmet.
Copy file name to clipboardExpand all lines: faq/plotting/headmodel_localspheres.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ redirect_from:
9
9
10
10
# How can I visualize a localspheres volume conductor model?
11
11
12
-
Typically, one would use **[ft_plot_headmodel](/reference/plotting/ft_plot_headmodel)** for the visualization of a headmodel. This function will not allow you right away to visualize a localspheres headmodel in a meaningful way. The reason for this is that a meaningful interpretation of the localspheres headmodel is only possible in combination with a specification of the sensor-array that was used to construct the headmodel. Namely, in the specification of the headmodel, for each of the sensors a sphere has been specified that best describes the local surface of the boundary closest to that sensor. ft_plot_headmodel does not know anything about the sensors, and will not be able to plot an interpretable figure. The following snippet of code can be used to visualize the surface that is described by the localspheres headmodel. For this code to work it is assumed that you have the headmodel and corresponding sensor description (here named grad) in MATLAB working memory.
12
+
Typically, one would use **[ft_plot_headmodel](/reference/plotting/ft_plot_headmodel)** for the visualization of a headmodel. This function will not allow you right away to visualize a localspheres headmodel in a meaningful way. The reason for this is that a meaningful interpretation of the localspheres headmodel is only possible in combination with a specification of the sensorarray that was used to construct the headmodel. Namely, in the specification of the headmodel, for each of the sensors a sphere has been specified that best describes the local surface of the boundary closest to that sensor. ft_plot_headmodel does not know anything about the sensors, and will not be able to plot an interpretable figure. The following snippet of code can be used to visualize the surface that is described by the localspheres headmodel. For this code to work it is assumed that you have the headmodel and corresponding sensor description (here named grad) in MATLAB working memory.
Copy file name to clipboardExpand all lines: faq/spectral/freqanalysis_foimismatchwavelet.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,16 +10,17 @@ redirect_from:
10
10
11
11
# Why does my output.freq not match my cfg.foi when using 'wavelet' (formerly 'wltconvol') in ft_freqanalysis?
12
12
13
-
Conceptually, a wavelet analysis is a time domain convolution of a signal with a set of wavelets, each of these being designed to capture some feature in the data. In neuroscience, we typically use Morlet-wavelets, which are designed to capture sine and cosine waves in the data. This is because a Morlet wavelet consists of a sine/cosine wave, tapered by a gaussian window. When doing a spectral decomposition, the goal typically is to assign the fluctuations in the signal to distinct frequency bands. Importantly, the (implicitly) required behavior of the spectral transformation is, that the power estimated at X Hz truly comes from signal fluctuations at X Hz., and not from signal fluctuations at Y Hz. (and Z Hz etc). This is the issue of spectral leakage, and a few signal processing tricks are needed to optimally control for this.
14
-
In the context of wavelet analysis in FieldTrip and in order to minimize detrimental effects of (unpredictable spectral leakage), you need to keep 2 things in min
13
+
Conceptually, a wavelet analysis is a time domain convolution of a signal with a set of wavelets, each of these being designed to capture some feature in the data. In neuroscience, we typically use Morlet-wavelets, which are designed to capture sine and cosine waves in the data. This is because a Morlet wavelet consists of a sine/cosine wave, tapered by a gaussian window. When doing a spectral decomposition, the goal typically is to assign the fluctuations in the signal to distinct frequency bands. Importantly, the (implicitly) required behavior of the spectral transformation is, that the power estimated at X Hz truly comes from signal fluctuations at X Hz, and not from signal fluctuations at Y Hz (and Z Hz, etc). This is the issue of spectral leakage, and a few signal processing tricks are needed to optimally control for this.
14
+
15
+
In the context of wavelet analysis in FieldTrip and in order to minimize detrimental effects of (unpredictable spectral leakage), you need to keep 2 things in mind:
15
16
16
17
- The length of the wavelet at frequency X should fit an integer number of cycles of the wavelet's frequency. If this is not the case, the wavelet becomes sensitive to other frequencies in the data as well, thus making the wavelet less specific to the wished-for frequency, and vulnerable to spectral leakage.
17
18
18
-
- The total length of the data (your trials) should yield a frequency resolution that captures the frequencies of your spectral decomposition (your cfg.foi). This is because in its implementation FieldTrip uses the trick "convolution in the time domain is equivalent to multiplication in the frequency domain". In other words, rather than convolving the tome domain signal with the wavelets of different frequencies, the Fourier representation data is multiplied with the Fourier representation of the wavelets (and the inverse fourier transform is computed to get to the time domain representation again). If there is a mismatch between the frequencies specified in cfg.foi, and the inherent frequency resolution of the data (given by the length T, i.e. the frequency resolution is 1/T), some implicit spectral interpolation is done, which is particularly vulnerable to spectral leakage effects.
19
+
- The total length of the data (your trials) should yield a frequency resolution that captures the frequencies of your spectral decomposition (your `cfg.foi`). This is because in its implementation FieldTrip uses the trick "convolution in the time domain is equivalent to multiplication in the frequency domain". In other words, rather than convolving the tome domain signal with the wavelets of different frequencies, the Fourier representation data is multiplied with the Fourier representation of the wavelets (and the inverse fourier transform is computed to get to the time domain representation again). If there is a mismatch between the frequencies specified in `cfg.foi`, and the inherent frequency resolution of the data (given by the length T, i.e. the frequency resolution is 1/T), some implicit spectral interpolation is done, which is particularly vulnerable to spectral leakage effects.
19
20
20
-
So, to make a long story short: in order to protect the user against him/herself the new implementation in the specest-module checks for potential discrepancies, and corrects the cfg.foi, if needed. Therefore, if you wish for particular frequencies in your TFR, you need to think twic
21
+
So to protect the user against him/herself, the new implementation in the specest-module checks for potential discrepancies, and corrects the `cfg.foi` if needed. Therefore, if you wish for particular frequencies in your TFR, you need to think twice:
21
22
22
-
- Is cfg.width an integer number, resulting in an integer number of cycles for each requested frequency?
23
-
- Is the length of my data such, that the frequency resolution 1/T can capture all cfg.foi? This means, in other words, that cfg.foi/T should be integer numbers.
23
+
- Is `cfg.width` an integer number, resulting in an integer number of cycles for each requested frequency?
24
+
- Is the length of my data such, that the frequency resolution 1/T can capture all `cfg.foi`? This means, in other words, that `cfg.foi` divided by T should be integer numbers.
24
25
25
-
Hint: The length of the data can be influenced with the cfg.pad parameter.
26
+
Hint: The length of the data can be influenced with the `cfg.pad` parameter.
Copy file name to clipboardExpand all lines: tutorial/connectivity/connectivity_sensor_source.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -168,7 +168,7 @@ We now recompute the virtual channel time series, but now only for the dipole di
168
168
#### Exercise 8
169
169
170
170
{% include markup/skyblue %}
171
-
Rather than using a sourcemodel in the beamformer that consists of all three (x, y, z) directions, you can also have the beamformer compute the filter for only the optimal source orientation. This is implemented using the _cfg.lcmv.fixedori='yes'_ option.
171
+
Rather than using a source model in the beamformer that consists of all three (x, y, z) directions, you can also have the beamformer compute the filter for only the optimal source orientation. This is implemented using the _cfg.lcmv.fixedori='yes'_ option.
172
172
173
173
Recompute the spatial filter for the optimal source orientation and using that spatial filter (a 1x151 vector) recompute the time series.
Copy file name to clipboardExpand all lines: tutorial/source/coregistration_opm.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -333,7 +333,7 @@ _Figure: Spatial topographies of the signals generated by the 3 HPI coils._
333
333
334
334
For the fitting the magnetic dipole positions, we will use a grid search as an initial scan over the whole volume, followed by a iterative non-linear optimization. The grid search is motivated by the fact that a non-linear search of the whole parameter space (i.e., volume of space covered by the helmet) might result in convergence to a local minimum.
335
335
336
-
The following creates a sourcemodel that consists of a regular grid of dipole positions that will be used for the initial grid search.
336
+
The following creates a source model that consists of a regular grid of dipole positions that will be used for the initial grid search.
337
337
338
338
%% create a regular grid of dipole positions bounded by the helmet
339
339
fieldlinebeta2 = ft_read_sens('fieldlinebeta2.mat'); % from fieldtrip/template/grad
Copy file name to clipboardExpand all lines: tutorial/source/epilepsy.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ This tutorial describes how to perform a source localization on epilepsy data us
20
20
21
21
The tutorial covers data for 3 patients, all shared via our [download server](https://download.fieldtriptoolbox.org/tutorial/epilepsy/). The provided datasets have varying degrees of clinical complexity. The more complex cases are, of course, the ones most likely to be referred for MEG recordings prior to consideration for surgery.
22
22
23
-
For one of the patients, case 3, we provide a detailed line-by-line breakdown of the MATLAB code required to analyze the data. We outline the steps in obtaining the beamformer outputs, from anatomical coregistration right through to plotting source images. We note an important extra step that is required in computing the beamformer for data collected on an Neuromag/Elekta/MEGIN system compared to a CTF system. We also describe how to output the source images into NiFTI format for viewing in other software such as [MRIcro](https://www.mccauslandcenter.sc.edu/crnl/tools), and how to output source timeseries as a file which can be examined clinically alongside the original data in [AnyWave](http://meg.univ-amu.fr/wiki/AnyWave) data viewing software.
23
+
For one of the patients, case 3, we provide a detailed line-by-line breakdown of the MATLAB code required to analyze the data. We outline the steps in obtaining the beamformer outputs, from anatomical coregistration right through to plotting source images. We note an important extra step that is required in computing the beamformer for data collected on an Neuromag/Elekta/MEGIN system compared to a CTF system. We also describe how to output the source images into NIfTI format for viewing in other software such as [MRIcro](https://www.mccauslandcenter.sc.edu/crnl/tools), and how to output source timeseries as a file which can be examined clinically alongside the original data in [AnyWave](http://meg.univ-amu.fr/wiki/AnyWave) data viewing software.
24
24
25
25
For patients 1 and 2, we simply provide a summary of the outputs and some other useful observations. These datasets can be analyzed by the reader in exactly the same way as case 3.
0 commit comments