<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Dear Andreas,
<div class=""><br class="">
</div>
<div class="">This is truly a lightspeed pick up of some new functionality that only came available this morning!</div>
<div class=""><br class="">
</div>
<div class="">I think that there may be some confusion w.r.t. the meaning of the option ‘continuous’ in ft_preprocessing vs. ft_redefinetrial, and perhaps also with respect to when to use ft_definetrial or ft_redefinetrial.</div>
<div class=""><br class="">
</div>
<div class="">Clearly, ft_definetrial is intended to decorate the input cfg structure with a ’trl’ field, which is the recipe for the epochs.</div>
<div class=""><br class="">
</div>
<div class="">cfg.continuous is an option for ft_preprocessing to be able to deal with CTF’s ‘pseudocontinuous’ recording mode, which essentially means that every 10 seconds or so (in a continuous data stream) a ’trial’ trigger is inserted in the data, which
 caused the original reading functions to choke if samples across these artificial boundaries were detected. </div>
<div class=""><br class="">
</div>
<div class="">on the other hand, cfg.continuous in ft_redefinetrial has a different meaning and functionality. It is intended as a recipe to ’stitch back together’ chunks of data, that before for some reason became unstitched. There are not many exotic use
 cases that would need this, and it is even dangerous to apply this option too enthusiastically, but the typical use case would be something like this:</div>
<div class=""><br class="">
</div>
<div class="">cfg = [];</div>
<div class="">cfg = <somedataset></div>
<div class="">data = ft_preprocessing(cfg); %->reads in the data as a very long chunk</div>
<div class=""><br class="">
</div>
<div class="">cfg = [];</div>
<div class="">cfg.length = 2;</div>
<div class="">data = ft_redefinetrial(cfg, data); %-> chops up the data in 1 s snippets</div>
<div class=""><br class="">
</div>
<div class="">cfg = [];</div>
<div class="">cfg.method = ’summary’;</div>
<div class="">cfg.keeptrial = ’nan’;</div>
<div class="">data = ft_rejectvisual(cfg, data); %-> results in chunked data with ‘artifiacts’ nanned out</div>
<div class=""><br class="">
</div>
<div class="">cfg = [];</div>
<div class="">cfg.continuous = ‘yes’;</div>
<div class="">data = ft_redefinetrial(cfg, data); %-> stitches everything back together again, but now with NaNs at the one-second windows containing artifacts</div>
<div class=""><br class="">
</div>
<div class="">As an important side note: This is risky once you start filtering the individual chunks before you stitch them together again, because you introduce boundary effects, which were not there </div>
<div class="">initially.</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Using cfg.trl in ft_redefinetrial, where the input data typically contains one (or a few) very long segments of data should not require the cfg.continuous option to be specified, not even if this was needed for ft_preprocessing in the first place.
 My suspicion is that you stumbled across this because of what I just said, so the solution to your problem is to start from an empty cfg before calling ft_redefinetrial (and not recycle the one you also used for ft_preprocessing).</div>
<div class="">Please let me know if I totally ‘missed the plank’, as we’d say in Dutch.</div>
<div class=""><br class="">
</div>
<div class="">Best wisehs,</div>
<div class="">JM</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><font size="4" class=""><br class="">
</font></div>
<div class=""><font size="4" class=""><br class="">
</font>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 22 Sep 2021, at 15:55, Andreas Wollbrink via fieldtrip <<a href="mailto:fieldtrip@science.ru.nl" class="">fieldtrip@science.ru.nl</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Dear Fieldtrip community,<br class="">
<br class="">
my question is probably more directed to the Fieldtrip developers, but<br class="">
should be of interest to the rest of the users as well.<br class="">
I just noticed that in the latest Fieldtrip version (revision<br class="">
0cafbf72b) in the function ft_redefinetrial in line 156 there are some<br class="">
plausibility queries that exclude the mutual presence of cfg.trl and<br class="">
cfg.continuous. <br class="">
Can't this make sense if cfg.trl is obtained from a previous call to<br class="">
ft_definetrial and the data itself was recorded continuously?<br class="">
What is the recommendation then on how to call the ft_redefinetrial<br class="">
function?<br class="">
<br class="">
Thanks a lot for the help.<br class="">
<br class="">
Best, Andreas<br class="">
<br class="">
-- <br class="">
Andreas Wollbrink, <br class="">
Dipl.-Ing., Biomedical Engineer<br class="">
<br class="">
MEG / EEG Lab Manager<br class="">
<br class="">
Institute for Biomagnetism and Biosignalanalysis<br class="">
University Hospital, University of Muenster<br class="">
<br class="">
Malmedyweg 15, 48149 Muenster, Germany<br class="">
<br class="">
office:    +49-251-83-52546<br class="">
<a href="mailto:a.wollbrink@wwu.de" class="">email: a.wollbrink@wwu.de</a><br class="">
<br class="">
https://urldefense.com/v3/__http://campus.uni-muenster.de/biomag/das-institut/mitarbeiter/andreas-wollbrink__;!!HJOPV4FYYWzcc1jazlU!pjFq8SOuM1EcP-viSP-nhi5lt4TLaOCmAUl1HEjHVL4ssvU8EBe0uhO5IVxTK5ayqoDhyxMFREo5cf8$
<br class="">
<br class="">
<br class="">
<br class="">
_______________________________________________<br class="">
fieldtrip mailing list<br class="">
https://mailman.science.ru.nl/mailman/listinfo/fieldtrip<br class="">
https://urldefense.com/v3/__https://doi.org/10.1371/journal.pcbi.1002202__;!!HJOPV4FYYWzcc1jazlU!pjFq8SOuM1EcP-viSP-nhi5lt4TLaOCmAUl1HEjHVL4ssvU8EBe0uhO5IVxTK5ayqoDhyxMFGVnECC8$
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>