Skip to content

Commit 0cb9d60

Browse files
committed
new github workflow for clone count
1 parent 4722d9d commit 0cb9d60

24 files changed

Lines changed: 1316 additions & 0 deletions

.github/workflows/clone.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Clone Count Update
2+
3+
on:
4+
schedule:
5+
- cron: "10 0 * * SUN"
6+
workflow_dispatch:
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v3
14+
with:
15+
ref: clone_count
16+
17+
- name: gh login
18+
run: echo "${{ secrets.SECRET_TOKEN }}" | gh auth login --with-token
19+
20+
- name: parse latest clone count
21+
run: |
22+
curl --user "${{ github.actor }}:${{ secrets.SECRET_TOKEN }}" \
23+
-H "Accept: application/vnd.github.v3+json" \
24+
https://api.github.com/repos/${{ github.repository }}/traffic/clones \
25+
> clone.json
26+
27+
- name: create gist and download previous count
28+
id: set_id
29+
run: |
30+
if gh secret list | grep -q "GIST_ID"
31+
then
32+
echo "GIST_ID found"
33+
echo "GIST=${{ secrets.GIST_ID }}" >> $GITHUB_OUTPUT
34+
curl https://gist.githubusercontent.com/${{ github.actor }}/${{ secrets.GIST_ID }}/raw/clone.json > clone_before.json
35+
if cat clone_before.json | grep '404: Not Found'; then
36+
echo "GIST_ID not valid anymore. Creating another gist..."
37+
gist_id=$(gh gist create clone.json | awk -F / '{print $NF}')
38+
echo $gist_id | gh secret set GIST_ID
39+
echo "GIST=$gist_id" >> $GITHUB_OUTPUT
40+
cp clone.json clone_before.json
41+
git rm --ignore-unmatch CLONE.md
42+
fi
43+
else
44+
echo "GIST_ID not found. Creating a gist..."
45+
gist_id=$(gh gist create clone.json | awk -F / '{print $NF}')
46+
echo $gist_id | gh secret set GIST_ID
47+
echo "GIST=$gist_id" >> $GITHUB_OUTPUT
48+
cp clone.json clone_before.json
49+
fi
50+
51+
- name: update clone.json
52+
run: |
53+
curl https://raw.githubusercontent.com/MShawon/github-clone-count-badge/master/main.py > main.py
54+
python3 main.py
55+
56+
- name: Update gist with latest count
57+
run: |
58+
content=$(sed -e 's/\\/\\\\/g' -e 's/\t/\\t/g' -e 's/\"/\\"/g' -e 's/\r//g' "clone.json" | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
59+
echo '{"description": "${{ github.repository }} clone statistics", "files": {"clone.json": {"content": "'"$content"'"}}}' > post_clone.json
60+
curl -s -X PATCH \
61+
--user "${{ github.actor }}:${{ secrets.SECRET_TOKEN }}" \
62+
-H "Content-Type: application/json" \
63+
-d @post_clone.json https://api.github.com/gists/${{ steps.set_id.outputs.GIST }} > /dev/null 2>&1
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
matlabbatch{1}.spm.tools.physio.save_dir = {'physio_out'};
2+
matlabbatch{1}.spm.tools.physio.log_files.vendor = 'BIDS';
3+
matlabbatch{1}.spm.tools.physio.log_files.cardiac = {'sub-s998_task-random_run-99_physio.tsv'};
4+
matlabbatch{1}.spm.tools.physio.log_files.respiration = {''};
5+
matlabbatch{1}.spm.tools.physio.log_files.scan_timing = {''};
6+
matlabbatch{1}.spm.tools.physio.log_files.sampling_interval = [];
7+
matlabbatch{1}.spm.tools.physio.log_files.relative_start_acquisition = [];
8+
matlabbatch{1}.spm.tools.physio.log_files.align_scan = 'first';
9+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nslices = 16;
10+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.NslicesPerBeat = [];
11+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.TR = 1.45;
12+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Ndummies = 0;
13+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nscans = 474;
14+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.onset_slice = 9;
15+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.time_slice_to_slice = 0.090625;
16+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nprep = 0;
17+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.scan_timing_log = struct([]);
18+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.modality = 'PPU';
19+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.filter.no = struct([]);
20+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.load_from_logfile = struct([]);
21+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.posthoc_cpulse_select.off = struct([]);
22+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.filter.passband = [0.05 2];
23+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.despike = false;
24+
matlabbatch{1}.spm.tools.physio.model.output_multiple_regressors = 'multiple_regressors.txt';
25+
matlabbatch{1}.spm.tools.physio.model.output_physio = 'physio.mat';
26+
matlabbatch{1}.spm.tools.physio.model.orthogonalise = 'none';
27+
matlabbatch{1}.spm.tools.physio.model.censor_unreliable_recording_intervals = false;
28+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.c = 3;
29+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.r = 4;
30+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.cr = 1;
31+
matlabbatch{1}.spm.tools.physio.model.rvt.yes.method = 'hilbert';
32+
matlabbatch{1}.spm.tools.physio.model.rvt.yes.delays = 0;
33+
matlabbatch{1}.spm.tools.physio.model.hrv.yes.delays = 0;
34+
matlabbatch{1}.spm.tools.physio.model.noise_rois.no = struct([]);
35+
matlabbatch{1}.spm.tools.physio.model.movement.no = struct([]);
36+
matlabbatch{1}.spm.tools.physio.model.other.no = struct([]);
37+
matlabbatch{1}.spm.tools.physio.verbose.level = 2;
38+
matlabbatch{1}.spm.tools.physio.verbose.fig_output_file = 'physio.jpeg';
39+
matlabbatch{1}.spm.tools.physio.verbose.use_tabs = false;
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
matlabbatch{1}.spm.tools.physio.save_dir = {'physio_out'};
2+
matlabbatch{1}.spm.tools.physio.log_files.vendor = 'BIDS';
3+
matlabbatch{1}.spm.tools.physio.log_files.cardiac = {'sub-s999_task-random_run-99_physio.tsv.gz'};
4+
matlabbatch{1}.spm.tools.physio.log_files.respiration = {''};
5+
matlabbatch{1}.spm.tools.physio.log_files.scan_timing = {''};
6+
matlabbatch{1}.spm.tools.physio.log_files.sampling_interval = [];
7+
matlabbatch{1}.spm.tools.physio.log_files.relative_start_acquisition = 0;
8+
matlabbatch{1}.spm.tools.physio.log_files.align_scan = 'first';
9+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nslices = 16;
10+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.NslicesPerBeat = [];
11+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.TR = 1.45;
12+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Ndummies = 0;
13+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nscans = 408;
14+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.onset_slice = 9;
15+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.time_slice_to_slice = [];
16+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nprep = [];
17+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.scan_timing_log = struct([]);
18+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.modality = 'PPU';
19+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.filter.no = struct([]);
20+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.min = 0.4;
21+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.file = 'initial_cpulse_kRpeakfile.mat';
22+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.max_heart_rate_bpm = 90;
23+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.posthoc_cpulse_select.off = struct([]);
24+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.filter.passband = [0.01 2];
25+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.despike = false;
26+
matlabbatch{1}.spm.tools.physio.model.output_multiple_regressors = 'multiple_regressors.txt';
27+
matlabbatch{1}.spm.tools.physio.model.output_physio = 'physio.mat';
28+
matlabbatch{1}.spm.tools.physio.model.orthogonalise = 'none';
29+
matlabbatch{1}.spm.tools.physio.model.censor_unreliable_recording_intervals = false;
30+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.c = 3;
31+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.r = 4;
32+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.cr = 1;
33+
matlabbatch{1}.spm.tools.physio.model.rvt.no = struct([]);
34+
matlabbatch{1}.spm.tools.physio.model.hrv.no = struct([]);
35+
matlabbatch{1}.spm.tools.physio.model.noise_rois.no = struct([]);
36+
matlabbatch{1}.spm.tools.physio.model.movement.no = struct([]);
37+
matlabbatch{1}.spm.tools.physio.model.other.no = struct([]);
38+
matlabbatch{1}.spm.tools.physio.verbose.level = 2;
39+
matlabbatch{1}.spm.tools.physio.verbose.fig_output_file = '';
40+
matlabbatch{1}.spm.tools.physio.verbose.use_tabs = false;
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
matlabbatch{1}.spm.tools.physio.save_dir = {'physio_out'};
2+
matlabbatch{1}.spm.tools.physio.log_files.vendor = 'Biopac_Txt';
3+
matlabbatch{1}.spm.tools.physio.log_files.cardiac = {'Biopac_Physio_Data_Export.txt'};
4+
matlabbatch{1}.spm.tools.physio.log_files.respiration = {'Biopac_Physio_Data_Export.txt'};
5+
matlabbatch{1}.spm.tools.physio.log_files.scan_timing = {'Biopac_Physio_Data_Export.txt'};
6+
matlabbatch{1}.spm.tools.physio.log_files.sampling_interval = [];
7+
matlabbatch{1}.spm.tools.physio.log_files.relative_start_acquisition = 0;
8+
matlabbatch{1}.spm.tools.physio.log_files.align_scan = 'last';
9+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nslices = 36;
10+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.NslicesPerBeat = [];
11+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.TR = 3;
12+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Ndummies = 0;
13+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nscans = 100;
14+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.onset_slice = 18;
15+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.time_slice_to_slice = [];
16+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nprep = [];
17+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.scan_timing_log = struct([]);
18+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.modality = 'ECG';
19+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.filter.no = struct([]);
20+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.min = 0.4;
21+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.file = 'initial_cpulse_kRpeakfile.mat';
22+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.max_heart_rate_bpm = 90;
23+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.posthoc_cpulse_select.off = struct([]);
24+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.filter.passband = [0.01 2];
25+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.despike = false;
26+
matlabbatch{1}.spm.tools.physio.model.output_multiple_regressors = 'multiple_regressors.txt';
27+
matlabbatch{1}.spm.tools.physio.model.output_physio = 'physio.mat';
28+
matlabbatch{1}.spm.tools.physio.model.orthogonalise = 'none';
29+
matlabbatch{1}.spm.tools.physio.model.censor_unreliable_recording_intervals = false;
30+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.c = 3;
31+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.r = 4;
32+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.cr = 1;
33+
matlabbatch{1}.spm.tools.physio.model.rvt.no = struct([]);
34+
matlabbatch{1}.spm.tools.physio.model.hrv.no = struct([]);
35+
matlabbatch{1}.spm.tools.physio.model.noise_rois.no = struct([]);
36+
matlabbatch{1}.spm.tools.physio.model.movement.no = struct([]);
37+
matlabbatch{1}.spm.tools.physio.model.other.no = struct([]);
38+
matlabbatch{1}.spm.tools.physio.verbose.level = 2;
39+
matlabbatch{1}.spm.tools.physio.verbose.fig_output_file = '';
40+
matlabbatch{1}.spm.tools.physio.verbose.use_tabs = false;
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
matlabbatch{1}.spm.tools.physio.save_dir = {'physio_out'};
2+
matlabbatch{1}.spm.tools.physio.log_files.vendor = 'GE';
3+
matlabbatch{1}.spm.tools.physio.log_files.cardiac = {'ECGData_epiRT_phys_0921201215_38_08'};
4+
matlabbatch{1}.spm.tools.physio.log_files.respiration = {'RespData_epiRT_phys_0921201215_38_08'};
5+
matlabbatch{1}.spm.tools.physio.log_files.scan_timing = {''};
6+
matlabbatch{1}.spm.tools.physio.log_files.sampling_interval = 0.025;
7+
matlabbatch{1}.spm.tools.physio.log_files.relative_start_acquisition = 0;
8+
matlabbatch{1}.spm.tools.physio.log_files.align_scan = 'last';
9+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nslices = 35;
10+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.NslicesPerBeat = 35;
11+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.TR = 1.925;
12+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Ndummies = 0;
13+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nscans = 434;
14+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.onset_slice = 17;
15+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.time_slice_to_slice = [];
16+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nprep = [];
17+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.nominal = struct([]);
18+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.modality = 'PPU';
19+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.filter.no = struct([]);
20+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.min = 0.4;
21+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.file = 'initial_cpulse_kRpeakfile.mat';
22+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.auto_matched.max_heart_rate_bpm = 90;
23+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.posthoc_cpulse_select.off = struct([]);
24+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.filter.passband = [0.01 2];
25+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.despike = false;
26+
matlabbatch{1}.spm.tools.physio.model.output_multiple_regressors = 'multiple_regressors.txt';
27+
matlabbatch{1}.spm.tools.physio.model.output_physio = 'physio.mat';
28+
matlabbatch{1}.spm.tools.physio.model.orthogonalise = 'none';
29+
matlabbatch{1}.spm.tools.physio.model.censor_unreliable_recording_intervals = false;
30+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.c = 3;
31+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.r = 4;
32+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.cr = 1;
33+
matlabbatch{1}.spm.tools.physio.model.rvt.no = struct([]);
34+
matlabbatch{1}.spm.tools.physio.model.hrv.no = struct([]);
35+
matlabbatch{1}.spm.tools.physio.model.noise_rois.no = struct([]);
36+
matlabbatch{1}.spm.tools.physio.model.movement.no = struct([]);
37+
matlabbatch{1}.spm.tools.physio.model.other.no = struct([]);
38+
matlabbatch{1}.spm.tools.physio.verbose.level = 2;
39+
matlabbatch{1}.spm.tools.physio.verbose.fig_output_file = '';
40+
matlabbatch{1}.spm.tools.physio.verbose.use_tabs = false;
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
% Script tapas_physio_example_multi_subjects(input)
2+
% Shows how to generalize single-subject batch for all subjects
3+
%
4+
%
5+
% See also tapas_physio_new
6+
7+
% Author: Lars Kasper
8+
% Created: 2015-07-31
9+
% Copyright (C) 2015 TNU, Institute for Biomedical Engineering,
10+
% University of Zurich and ETH Zurich.
11+
%
12+
% This file is part of the TAPAS PhysIO Toolbox, which is released under the terms of the GNU General Public
13+
% License (GPL), version 3. You can redistribute it and/or modify it under the terms of the GPL
14+
% (either version 3 or, at your option, any later version). For further details, see the file
15+
% COPYING or <http://www.gnu.org/licenses/>.
16+
17+
18+
%% # MOD - Change parameters to your needs in this section %%%%%%%%%%%%%%%%
19+
20+
% set 1 to look at batch, to 0 for running it for all subjects
21+
doReviewBatch = false;
22+
23+
pathStudy = '/Users/kasperla/studies/physiotest';
24+
25+
dirSubjectArray = {
26+
'subject10'
27+
'subject11'
28+
};
29+
30+
pathStudy = '/Users/kasperla/Documents/code/matlab/smoothing_trunk/PhysIOToolbox/examples/Philips';
31+
dirSubjectArray = {
32+
'ECG3T'
33+
'ECG3T'
34+
};
35+
36+
% folder, where multiple_regressors, physio.mat and output figures are saved,
37+
% typically analysis folder of the subject
38+
dirOutput = 'glm';
39+
40+
filePhysCardiac = 'SCANPHYSLOG.log';
41+
filePhysRespiratory = 'SCANPHYSLOG.log';
42+
fileRealignmentPar = 'rp_fmri.txt';
43+
jobfile = 'tapas_physio_example_spm_job_ECG3T.m';
44+
45+
46+
47+
%% # END MOD Loop over subjects, filling in subject-specific data
48+
49+
nSubjects = numel(dirSubjectArray);
50+
spm('defaults', 'FMRI');
51+
52+
for iSubject = 1:nSubjects
53+
54+
% load template matlabbatch
55+
clear matlabbatch
56+
run(jobfile);
57+
physio = matlabbatch{1}.spm.tools.physio;
58+
59+
% construct subject-specific data
60+
pathSubject = fullfile(pathStudy, dirSubjectArray{nSubjects});
61+
fullpathFilePhysCardiac = fullfile(pathSubject, filePhysCardiac);
62+
fullpathFilePhysRespiratory = fullfile(pathSubject, filePhysRespiratory);
63+
fullpathFileRealignment = fullfile(pathSubject, fileRealignmentPar);
64+
65+
% overwrite matlabbatch structure parameters
66+
physio.save_dir = {pathSubject};
67+
physio.log_files.cardiac = {fullpathFilePhysCardiac};
68+
physio.log_files.respiration = {fullpathFilePhysRespiratory};
69+
physio.log_files.scan_timing = {};
70+
71+
physio.model.movement.yes.file_realignment_parameters = ...
72+
{fullpathFileRealignment};
73+
74+
% run/examine job for this subject
75+
matlabbatch{1}.spm.tools.physio = physio;
76+
77+
if doReviewBatch
78+
spm_jobman('interactive', matlabbatch);
79+
else
80+
spm_jobman('run', matlabbatch);
81+
end
82+
end
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
matlabbatch{1}.spm.tools.physio.save_dir = {'physio_out'};
2+
matlabbatch{1}.spm.tools.physio.log_files.vendor = 'Philips';
3+
matlabbatch{1}.spm.tools.physio.log_files.cardiac = {'SCANPHYSLOG.log'};
4+
matlabbatch{1}.spm.tools.physio.log_files.respiration = {'SCANPHYSLOG.log'};
5+
matlabbatch{1}.spm.tools.physio.log_files.scan_timing = {'SCANPHYSLOG.log'};
6+
matlabbatch{1}.spm.tools.physio.log_files.sampling_interval = [];
7+
matlabbatch{1}.spm.tools.physio.log_files.relative_start_acquisition = 0;
8+
matlabbatch{1}.spm.tools.physio.log_files.align_scan = 'last';
9+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nslices = 37;
10+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.NslicesPerBeat = [];
11+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.TR = 2.5;
12+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Ndummies = 3;
13+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nscans = 495;
14+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.onset_slice = 19;
15+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.time_slice_to_slice = [];
16+
matlabbatch{1}.spm.tools.physio.scan_timing.sqpar.Nprep = [];
17+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.gradient_log.grad_direction = 'y';
18+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.gradient_log.zero = 0.4;
19+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.gradient_log.slice = 0.45;
20+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.gradient_log.vol = [];
21+
matlabbatch{1}.spm.tools.physio.scan_timing.sync.gradient_log.vol_spacing = [];
22+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.modality = 'ECG';
23+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.filter.no = struct([]);
24+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.initial_cpulse_select.load_from_logfile = struct([]);
25+
matlabbatch{1}.spm.tools.physio.preproc.cardiac.posthoc_cpulse_select.off = struct([]);
26+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.filter.passband = [0.01 2];
27+
matlabbatch{1}.spm.tools.physio.preproc.respiratory.despike = false;
28+
matlabbatch{1}.spm.tools.physio.model.output_multiple_regressors = 'multiple_regressors.txt';
29+
matlabbatch{1}.spm.tools.physio.model.output_physio = 'physio.mat';
30+
matlabbatch{1}.spm.tools.physio.model.orthogonalise = 'none';
31+
matlabbatch{1}.spm.tools.physio.model.censor_unreliable_recording_intervals = false;
32+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.c = 3;
33+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.r = 4;
34+
matlabbatch{1}.spm.tools.physio.model.retroicor.yes.order.cr = 1;
35+
matlabbatch{1}.spm.tools.physio.model.rvt.no = struct([]);
36+
matlabbatch{1}.spm.tools.physio.model.hrv.no = struct([]);
37+
matlabbatch{1}.spm.tools.physio.model.noise_rois.no = struct([]);
38+
matlabbatch{1}.spm.tools.physio.model.movement.yes.file_realignment_parameters = {'rp_fMRI.txt'};
39+
matlabbatch{1}.spm.tools.physio.model.movement.yes.order = 6;
40+
matlabbatch{1}.spm.tools.physio.model.movement.yes.censoring_method = 'MAXVAL';
41+
matlabbatch{1}.spm.tools.physio.model.movement.yes.censoring_threshold = [3 Inf];
42+
matlabbatch{1}.spm.tools.physio.model.other.no = struct([]);
43+
matlabbatch{1}.spm.tools.physio.verbose.level = 2;
44+
matlabbatch{1}.spm.tools.physio.verbose.fig_output_file = 'PhysIO_output.fig';
45+
matlabbatch{1}.spm.tools.physio.verbose.use_tabs = false;

0 commit comments

Comments
 (0)