From ccb2cba6f1e943eb6ea07ccfad4751db37a3460a Mon Sep 17 00:00:00 2001 From: Koen Helwegen Date: Tue, 21 Mar 2023 14:30:23 +0100 Subject: [PATCH] add option to truncate timeseries --- .../config_functional_default.json | 3 +- .../functionalParameterProperties.xlsx | Bin 13590 -> 13742 bytes .../reconstruction_functional_network.m | 39 +++++++++++++----- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/functional_pipeline/config_functional_default.json b/src/functional_pipeline/config_functional_default.json index 7d6aeb9..5313ed4 100644 --- a/src/functional_pipeline/config_functional_default.json +++ b/src/functional_pipeline/config_functional_default.json @@ -56,7 +56,7 @@ "reconstructionMethod": "corr", "connectivityMatrixFile": "OUTPUTDIR/SUBJECT_connectivity_METHOD_TEMPLATE.mat", "timeSeriesFile": "OUTPUTDIR/SUBJECT_time_series_METHOD_TEMPLATE.mat", - "minRepetitionTime": 100, + "minRepetitionTime": 100, "regression":{ "regressionMask": [24,2,41,251,252,253,254,255], "globalMeanRegression": false @@ -65,6 +65,7 @@ "filter": true, "frequencies": [0.01, 0.1] }, + "truncateFrames": 5, "scrubbing":{ "scrubbing": true, "maxFD": 0.25, diff --git a/src/functional_pipeline/functionalParameterProperties.xlsx b/src/functional_pipeline/functionalParameterProperties.xlsx index d754cc6c472abd20256f84cabe4ed65e96c1e069..7a8c1cc875d2ca7d1da8afff482978c4151ad1ba 100644 GIT binary patch delta 7010 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 delta 6859 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 scrubbing.minViolations; + framesToRemove = sum(violations, 1) >= scrubbing.minViolations; % To accommodate temporal smoothing of data, frames consecutive to % frames with labeled motion artifacts are optionally excluded: @@ -244,29 +247,43 @@ function reconstruction_functional_network(configParams) % succeeding frames to be excluded from further analysis. % This is a convolution, but for clarity let's use a for-loop - outlierFramesextended = zeros(size(outlierFrames)); - for i = 1:length(outlierFrames) - if outlierFrames(i) > 0 - outlierFramesextended(i-scrubbing.backwardNeighbors:i+scrubbing.forwardNeighbors) = 1; + framesToRemoveExtended = zeros(size(framesToRemove)); + for i = 1:length(framesToRemove) + if framesToRemove(i) > 0 + framesToRemoveExtended(i-scrubbing.backwardNeighbors:i+scrubbing.forwardNeighbors) = 1; end end - outlierFrames = outlierFramesextended; + framesToRemove = framesToRemoveExtended; fprintf('- scrubbing: remove %i frames\n', ... - nnz(outlierFrames)); + nnz(framesToRemove)); else - outlierFrames = zeros(1, nTimePoints); + framesToRemove = zeros(1, nTimePoints); end - numberOfScrubbedVolumes = nnz(outlierFrames); %#ok + %% Truncation + % Truncation is advisable when using bandpass filtering as filtering + % can potentially introduce artefacts at the beginning and end of the + % timeseries. + + if truncateFrames > 0 + removedPrior = nnz(framesToRemove); + framesToRemove = framesToRemove | [true(1, truncateFrames), false(1, nTimePoints-2*truncateFrames), true(1, truncateFrames)]; + fprintf('- truncating: remove additional %i frames\n', ... + nnz(framesToRemove) - removedPrior); + end + + %% Apply scrubbing & truncation + + numberOfScrubbedVolumes = nnz(framesToRemove); %#ok % calculate average motion metric over remaining frames - selectedFrames = find(~outlierFrames); + selectedFrames = find(~framesToRemove); motionMetrics = mean(motionMetrics(:, selectedFrames(2:end)), 2); %#ok % Compose final filtered, regressed and scrubbed time series - selectedTimeSeries = signalIntensities(:, ~outlierFrames); + selectedTimeSeries = signalIntensities(:, ~framesToRemove); clear signalIntensities %% Correlate