Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
development:dss [2018/10/21 14:58]
42.49.180.224 [Description]
development:dss [2017/08/17 11:21] (current)
127.0.0.1 external edit
Line 20: Line 20:
  
 How does DSS work to find the components to remove? ​ You give it the time points of the peaks, and time windows of set length before/​after this peak (you can obtain these easily by calling ft_artifact_zvalue). ​ After concatenating trials into one vector (hence matrix of channels x time) the data is sphered. ​ For each component, it initializes by projecting the sphered data onto a random basis [randn(1,​Nchan)*sphered_data]. If it is solving for the second or later component, this weight is orthogonalized with respect to all previously found weights for previously computed components. The average template of the artifact in the time windows around the peaks is computed, with zeros elsewhere. (This step was modified to respect trial boundaries, i.e. if a time window around a peak goes off the edge of a trial). ​ The weighting of sphered data to obtain this repeated template is computed (and re-orthogonalized if component 2 or greater) and normed. Iterate until weights not change much and save. How does DSS work to find the components to remove? ​ You give it the time points of the peaks, and time windows of set length before/​after this peak (you can obtain these easily by calling ft_artifact_zvalue). ​ After concatenating trials into one vector (hence matrix of channels x time) the data is sphered. ​ For each component, it initializes by projecting the sphered data onto a random basis [randn(1,​Nchan)*sphered_data]. If it is solving for the second or later component, this weight is orthogonalized with respect to all previously found weights for previously computed components. The average template of the artifact in the time windows around the peaks is computed, with zeros elsewhere. (This step was modified to respect trial boundaries, i.e. if a time window around a peak goes off the edge of a trial). ​ The weighting of sphered data to obtain this repeated template is computed (and re-orthogonalized if component 2 or greater) and normed. Iterate until weights not change much and save.
 +
 ==== Example dataset ==== ==== Example dataset ====
 You can run the code below on your own data. Alternatively,​ try with the example EEG dataset [[ftp://​ftp.fieldtriptoolbox.org/​pub/​fieldtrip/​tutorial/​callmesomething.zip]]. All figures in this example script are based on these data.   ​(Note*** just a placeholder at the moment, this data does not exist yet.***) You can run the code below on your own data. Alternatively,​ try with the example EEG dataset [[ftp://​ftp.fieldtriptoolbox.org/​pub/​fieldtrip/​tutorial/​callmesomething.zip]]. All figures in this example script are based on these data.   ​(Note*** just a placeholder at the moment, this data does not exist yet.***)
Line 87: Line 88:
 rawdssrej ​    = ft_rejectcomponent(cfg,​ compdss, rawcleanrere);​ rawdssrej ​    = ft_rejectcomponent(cfg,​ compdss, rawcleanrere);​
 </​code>​ </​code>​
 +
 +