-
Notifications
You must be signed in to change notification settings - Fork 18
/
default_pipeline.yaml
545 lines (329 loc) · 19.5 KB
/
default_pipeline.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
---
# CPAC Pipeline Configuration YAML file
# Version 1.1.0
#
# http://fcp-indi.github.io for more info.
#
# Tip: This file can be edited manually with a text editor for quick modifications.
# Select False if you intend to run CPAC on a single machine.
# If set to True, CPAC will attempt to submit jobs through the job scheduler / resource manager selected below.
runOnGrid: false
# Full path to the FSL version to be used by CPAC.
# If you have specified an FSL path in your .bashrc file, this path will be set automatically.
FSLDIR: /usr/share/fsl/5.0
# Sun Grid Engine (SGE), Portable Batch System (PBS), or Simple Linux Utility for Resource Management (SLURM).
# Only applies if you are running on a grid or compute cluster.
resourceManager: SGE
# SGE Parallel Environment to use when running CPAC.
# Only applies when you are running on a grid or compute cluster using SGE.
parallelEnvironment: mpi_smp
# SGE Queue to use when running CPAC.
# Only applies when you are running on a grid or compute cluster using SGE.
queue: all.q
# The maximum amount of memory each participant's workflow can allocate. Use this to place an upper bound of memory usage. Warning: 'Memory Per Participant' multiplied by 'Number of Participants to Run Simultaneously' must not be more than the total amount of RAM. Conversely, using too little RAM can impede the speed of a pipeline run. It is recommended that you set this to a value that when multiplied by 'Number of Participants to Run Simultaneously' is as much RAM you can safely allocate.
maximumMemoryPerParticipant: 1
# The maximum amount of cores (on a single machine) or slots on a node (on a cluster/grid) to allocate per participant. Setting this above 1 will parallelize each participant's workflow where possible. If you wish to dedicate multiple cores to ANTS-based anatomical registration (below), this value must be equal or higher than the amount of cores provided to ANTS. The maximum number of cores your run can possibly employ will be this setting multiplied by the number of participants set to run in parallel (the 'Number ofParticipants to Run Simultaneously' setting).
maxCoresPerParticipant: 1
# The number of participant workflows to run at the same time. The maximum number of cores your run can possibly employ will be this setting multiplied by the number of cores dedicated to each participant (the 'Maximum Number of Cores Per Participant' setting).
numParticipantsAtOnce: 1
# The number of cores to allocate to ANTS-based anatomical registration per participant. Multiple cores can greatly speed up this preprocessing step. This number cannot be greater than the number of cores per participant.
num_ants_threads: 4
# Name for this pipeline configuration - useful for identification.
pipelineName: analysis
# Directory where CPAC should store temporary and intermediate files.
workingDirectory: /tmp
# Directory where CPAC should write crash logs.
crashLogDirectory: /tmp
# Directory where CPAC should place run logs.
log_to_file: true
logDirectory: /tmp
# Directory where CPAC should place processed data.
outputDirectory: /output
# If setting the 'Output Directory' to an S3 bucket, insert the path to your AWS credentials file here.
awsOutputBucketCredentials:
# Enable server-side 256-AES encryption on data to the S3 bucket
s3Encryption: [0]
# Include extra versions and intermediate steps of functional preprocessing in the output directory.
write_func_outputs: [0]
# Include extra outputs in the output directory that may be of interest when more information is needed.
write_debugging_outputs: [0]
# Generate quality control pages containing preprocessing and derivative outputs.
generateQualityControlImages: [1]
# Create a user-friendly, well organized version of the output directory.
# We recommend all users enable this option.
runSymbolicLinks: [0]
# Deletes the contents of the Working Directory after running.
# This saves disk space, but any additional preprocessing or analysis will have to be completely re-run.
removeWorkingDir: true
# Uses the contents of the Working Directory to regenerate all outputs and their symbolic links.
# Requires an intact Working Directory from a previous CPAC run.
reGenerateOutputs: false
# The resolution to which anatomical images should be transformed during registration.
# This is the resolution at which processed anatomical files will be output.
resolution_for_anat: 2mm
# Template to be used during registration.
# It is not necessary to change this path unless you intend to use a non-standard template.
template_brain_only_for_anat: /usr/share/fsl/5.0/data/standard/MNI152_T1_${resolution_for_anat}_brain.nii.gz
# Template to be used during registration.
# It is not necessary to change this path unless you intend to use a non-standard template.
template_skull_for_anat: /usr/share/fsl/5.0/data/standard/MNI152_T1_${resolution_for_anat}.nii.gz
# Use either ANTS or FSL (FLIRT and FNIRT) as your anatomical registration method.
regOption: [ANTS]
# Configuration file to be used by FSL to set FNIRT parameters.
# It is not necessary to change this path unless you intend to use custom FNIRT parameters or a non-standard template.
fnirtConfig: T1_2_MNI152_2mm
# Configuration file to be used by FSL to set FNIRT parameters.
# It is not necessary to change this path unless you intend to use custom FNIRT parameters or a non-standard template.
ref_mask: /usr/share/fsl/5.0/data/standard/MNI152_T1_${resolution_for_anat}_brain_mask_symmetric_dil.nii.gz
# Register skull-on anatomical image to a template.
regWithSkull: [1]
# Disables skull-stripping on the anatomical inputs if they are already skull-stripped outside of C-PAC. Set this to On if your input images are already skull-stripped.
already_skullstripped: [0]
# Automatically segment anatomical images into white matter, gray matter, and CSF based on prior probability maps.
runSegmentationPreprocessing: [1]
# Full path to a directory containing binarized prior probability maps.
# These maps are included as part of the 'Image Resource Files' package available on the Install page of the User Guide.
# It is not necessary to change this path unless you intend to use non-standard priors.
priors_path: /usr/share/fsl/5.0/data/standard/tissuepriors/2mm
# Full path to a binarized White Matter prior probability map.
# It is not necessary to change this path unless you intend to use non-standard priors.
PRIORS_WHITE: $priors_path/avg152T1_white_bin.nii.gz
# Full path to a binarized Gray Matter prior probability map.
# It is not necessary to change this path unless you intend to use non-standard priors.
PRIORS_GRAY: $priors_path/avg152T1_gray_bin.nii.gz
# Full path to a binarized CSF prior probability map.
# It is not necessary to change this path unless you intend to use non-standard priors.
PRIORS_CSF: $priors_path/avg152T1_csf_bin.nii.gz
# First timepoint to include in analysis.
# Default is 0 (beginning of timeseries).
startIdx: 4
# Last timepoint to include in analysis.
# Default is None or End (end of timeseries).
stopIdx: None
# Specify the TR at which images were acquired.
# Default is None (TR information is read from image file header)
TR: None
# Interpolate voxel time courses so they are sampled at the same time points.
slice_timing_correction: [1]
# Acquisition strategy for acquiring image slices.
slice_timing_pattern: [Use NIFTI Header]
# Run Functional to Anatomical Registration
runRegisterFuncToAnat: [1]
# Run Functional to Anatomical Registration with BB Register
runBBReg: [1]
# Standard FSL 5.0 Scheduler used for Boundary Based Registration.
# It is not necessary to change this path unless you intend to use non-standard MNI registration.
boundaryBasedRegistrationSchedule: /usr/share/fsl/5.0/etc/flirtsch/bbr.sch
# Choose whether to use the mean of the functional/EPI as the input to functional-to-anatomical registration or one of the volumes from the functional 4D timeseries that you choose.
func_reg_input: [Mean Functional]
# Only for when 'Use as Functional-to-Anatomical Registration Input' is set to 'Selected Functional Volume'. Input the index of which volume from the functional 4D timeseries input file you wish to use as the input for functional-to-anatomical registration.
func_reg_input_volume: 0
# Choose which tool to be used in functional masking - AFNI 3dAutoMask or FSL BET.
functionalMasking: [3dAutoMask]
# Register functional images to a standard MNI152 template.
# This option must be enabled if you wish to calculate any derivatives.
runRegisterFuncToMNI: [1]
# The resolution (in mm) to which the preprocessed, registered functional timeseries outputs are written into. Note that selecting a 1 mm or 2 mm resolution might substantially increase your RAM needs- these resolutions should be selected with caution. For most cases, 3 mm or 4 mm resolutions are suggested.
resolution_for_func_preproc: 3mm
# The resolution (in mm) to which the registered derivative outputs are written into.
resolution_for_func_derivative: 3mm
# Standard FSL Skull Stripped Template. Used as a reference image for functional registration
template_brain_only_for_func: /usr/share/fsl/5.0/data/standard/MNI152_T1_${resolution_for_func_preproc}_brain.nii.gz
# Standard FSL Anatomical Brain Image with Skull
template_skull_for_func: /usr/share/fsl/5.0/data/standard/MNI152_T1_${resolution_for_func_preproc}.nii.gz
# Matrix containing all 1's. Used as an identity matrix during registration.
# It is not necessary to change this path unless you intend to use non-standard MNI registration.
identityMatrix: /usr/share/fsl/5.0/etc/flirtsch/ident.mat
# Run Nuisance Signal Regression
runNuisance: [1]
# Standard Lateral Ventricles Binary Mask
lateral_ventricles_mask: /usr/share/fsl/5.0/data/atlases/HarvardOxford/HarvardOxford-lateral-ventricles-thr25-2mm.nii.gz
# Select which nuisance signal corrections to apply:
# compcor = CompCor
# wm = White Matter
# csf = CSF
# gm = Gray Matter
# global = Global Mean Signal
# pc1 = First Principle Component
# motion = Motion
# linear = Linear Trend
# quadratic = Quadratic Trend
Regressors:
- compcor: 1
wm: 0
csf: 1
global: 1
pc1: 0
motion: 1
linear: 1
quadratic: 1
gm: 0
- compcor: 1
wm: 0
csf: 1
global: 0
pc1: 0
motion: 1
linear: 1
quadratic: 1
gm: 0
# Number of Principle Components to calculate when running CompCor. We recommend 5 or 6.
nComponents: [5]
# Use the Friston 24-Parameter Model during volume realignment.
# If this option is turned off, only 6 parameters will be used.
# These parameters will also be output as a spreadsheet.
runFristonModel: [1]
# Correct for the global signal using Median Angle Correction.
runMedianAngleCorrection: [0]
# Target angle used during Median Angle Correction.
targetAngleDeg: [90]
# Apply a temporal band-pass filter to functional data.
runFrequencyFiltering: [1, 0]
# Define one or more band-pass filters by clicking the + button.
nuisanceBandpassFreq: [[0.01, 0.1]]
# Motion Spike De-Noising. Remove or regress out volumes exhibiting
# excessive motion.
# Options: ['Off'], ['De-Spiking'], or ['Scrubbing']
runMotionSpike: [Off]
# (Motion Spike De-Noising only) Choose which Framewise Displacement (FD)
# calculation to apply the threshold to during de-spiking or scrubbing.
# Options: ['Jenkinson'] or ['Power']
fdCalc: [Jenkinson]
# (Motion Spike De-Noising only) Specify the maximum acceptable Framewise
# Displacement (FD) in millimeters. Any volume exhibiting FD greater than
# the value will be regressed out or scrubbed.
# Options: float value like [0.2] or [1.5]
spikeThreshold: [0.5]
# Number of volumes to remove preceeding a volume with excessive FD.
numRemovePrecedingFrames: 1
# Number of volumes to remove subsequent to a volume with excessive FD.
numRemoveSubsequentFrames: 2
# Extract the average time series of one or more ROIs/seeds. Must be enabled if you wish to run Seed-based Correlation Analysis.
runROITimeseries: [1]
# Enter paths to region-of-interest (ROI) NIFTI files (.nii or .nii.gz) to be used for time-series extraction, and then select which types of analyses to run.
# Available analyses: ['Avg', 'Voxel', 'SpatialReg'].
# Denote which analyses to run for each ROI path by listing the names above. For example, if you wish to run Avg and SpatialReg, you would enter: '/path/to/ROI.nii.gz': Avg, SpatialReg
tsa_roi_paths:
- /cpac_resources/cpac_templates/CC400.nii.gz: Avg
/cpac_resources/cpac_templates/ez_mask_pad.nii.gz: Avg
/cpac_resources/cpac_templates/aal_mask_pad.nii.gz: Avg
/cpac_resources/cpac_templates/CC200.nii.gz: Avg
/cpac_resources/cpac_templates/tt_mask_pad.nii.gz: Avg
/cpac_resources/cpac_templates/PNAS_Smith09_rsn10.nii.gz: SpatialReg
/cpac_resources/cpac_templates/ho_mask_pad.nii.gz: Avg
/cpac_resources/cpac_templates/rois_3mm.nii.gz: Avg
# By default, extracted time series are written as both a text file and a 1D file. Additional output formats are as a .csv spreadsheet or a Numpy array.
roiTSOutputs: [true, true]
# For each extracted ROI Average time series, CPAC will generate a whole-brain correlation map.
# It should be noted that for a given seed/ROI, SCA maps for ROI Average time series will be the same.
runSCA: [1]
# Enter paths to region-of-interest (ROI) NIFTI files (.nii or .nii.gz) to be used for time-series extraction, and then select which types of analyses to run.
# Available analyses: ['Avg', 'DualReg', 'MultReg'].
# Denote which analyses to run for each ROI path by listing the names above. For example, if you wish to run Avg and MultReg, you would enter: '/path/to/ROI.nii.gz': Avg, MultReg
sca_roi_paths:
- /cpac_resources/cpac_templates/PNAS_Smith09_rsn10.nii.gz: DualReg
# Normalize each time series before running Dual Regression SCA.
mrsNorm: true
# Calculate Voxel-mirrored Homotopic Connectivity (VMHC) for all voxels.
runVMHC: [1]
# Included as part of the 'Image Resource Files' package available on the Install page of the User Guide.
# It is not necessary to change this path unless you intend to use a non-standard symmetric template.
template_symmetric_brain_only: $FSLDIR/data/standard/MNI152_T1_${resolution_for_anat}_brain_symmetric.nii.gz
# Included as part of the 'Image Resource Files' package available on the Install page of the User Guide.
# It is not necessary to change this path unless you intend to use a non-standard symmetric template.
template_symmetric_skull: $FSLDIR/data/standard/MNI152_T1_${resolution_for_anat}_symmetric.nii.gz
# Included as part of the 'Image Resource Files' package available on the Install page of the User Guide.
# It is not necessary to change this path unless you intend to use a non-standard symmetric template.
dilated_symmetric_brain_mask: $FSLDIR/data/standard/MNI152_T1_${resolution_for_anat}_brain_mask_symmetric_dil.nii.gz
# Included as part of the 'Image Resource Files' package available on the Install page of the User Guide.
# It is not necessary to change this path unless you intend to use a non-standard symmetric template.
configFileTwomm: $FSLDIR/etc/flirtsch/T1_2_MNI152_2mm.cnf
# Calculate Amplitude of Low Frequency Fluctuations (ALFF) and and fractional ALFF (f/ALFF) for all voxels.
runALFF: [1]
# Frequency cutoff (in Hz) for the high-pass filter used when calculating f/ALFF.
highPassFreqALFF: [0.01]
# Frequency cutoff (in Hz) for the low-pass filter used when calculating f/ALFF
lowPassFreqALFF: [0.1]
# Calculate Regional Homogeneity (ReHo) for all voxels.
runReHo: [1]
# Number of neighboring voxels used when calculating ReHo
# 7 (Faces)
# 19 (Faces + Edges)
# 27 (Faces + Edges + Corners)
clusterSize: 27
# Calculate Degree, Eigenvector Centrality, or Functional Connectivity Density.
runNetworkCentrality: [1]
# Full path to a NIFTI file describing the mask. Centrality will be calculated for all voxels within the mask.
templateSpecificationFile: /cpac_resources/cpac_templates/Mask_ABIDE_85Percent_GM.nii.gz
# Enable/Disable degree centrality by selecting the connectivity weights
degWeightOptions: [true, true]
# Select the type of threshold used when creating the degree centrality adjacency matrix.
degCorrelationThresholdOption: [Sparsity threshold]
# Based on the Threshold Type selected above, enter a Threshold Value.
# P-value for Significance Threshold
# Sparsity value for Sparsity Threshold
# Pearson's r value for Correlation Threshold
degCorrelationThreshold: 0.001
# Enable/Disable eigenvector centrality by selecting the connectivity weights
eigWeightOptions: [false, true]
# Select the type of threshold used when creating the eigenvector centrality adjacency matrix.
eigCorrelationThresholdOption: [Sparsity threshold]
# Based on the Threshold Type selected above, enter a Threshold Value.
# P-value for Significance Threshold
# Sparsity value for Sparsity Threshold
# Pearson's r value for Correlation Threshold
eigCorrelationThreshold: 0.001
# Enable/Disable lFCD by selecting the connectivity weights
lfcdWeightOptions: [true, true]
# Select the type of threshold used when creating the lFCD adjacency matrix.
lfcdCorrelationThresholdOption: [Correlation threshold]
# Based on the Threshold Type selected above, enter a Threshold Value.
# P-value for Significance Threshold
# Sparsity value for Sparsity Threshold
# Pearson's r value for Correlation Threshold
lfcdCorrelationThreshold: 0.6
# Maximum amount of RAM (in GB) to be used when calculating Degree Centrality.
# Calculating Eigenvector Centrality will require additional memory based on the size of the mask or number of ROI nodes.
memoryAllocatedForDegreeCentrality: 1.0
# Smooth the derivative outputs.
# On - Run smoothing and output only the smoothed outputs.
# On/Off - Run smoothing and output both the smoothed and non-smoothed outputs.
# Off - Don't run smoothing.
run_smoothing: [1]
# Full Width at Half Maximum of the Gaussian kernel used during spatial smoothing.
# Can be a single value or multiple values separated by commas.
# Note that spatial smoothing is run as the last step in the individual-level analysis pipeline, such that all derivatives are output both smoothed and unsmoothed.
fwhm: [6]
# Choose whether to smooth outputs before or after z-scoring.
smoothing_order: [Before]
# z-score standardize the derivatives. This is required for group-level analysis.
# On - Run z-scoring and output only the z-scored outputs.
# On/Off - Run z-scoring and output both the z-scored and raw score versions of the outputs.
# Off - Don't run z-scoring.
runZScoring: [1]
# This number depends on computing resources.
numGPAModelsAtOnce: 1
# Use the + to add FSL model configuration to be run.
modelConfigs: []
disable_log: false
# Perform fieldmap correction using FSL FUGUE, with a single phase difference image, a subtraction of the two phase images from each echo.
# Default scanner for this method is SIEMENS.
runEPI_DistCorr: [0]
# Since the quality of the distortion heavily relies on the skull-stripping,
# step, we provide a choice of method (AFNI 3dSkullStrip or FSL BET).
# Options: ["BET", "3dSkullStrip"]
fmap_distcorr_skullstrip: [BET]
# Set the threshold value for the skull-stripping of the magnitude file.
# Depending on the data, a tighter extraction may be necessary in order to
# prevent noisy voxels from interfering with preparing the field map.
# The default value is 0.5.
fmap_distcorr_frac: [0.5]
# Set the Delta-TE value, used for preparing the field map, the time delay between the first and second echo images.
fmap_distcorr_deltaTE: 2.46
# Set the Dwell time for FSL FUGUE. This is the time between scans.
# The default value is commonly 0.00231s.
fmap_distcorr_dwell_time: [0.0005]
# Set the asymmetric ratio input value for FSL FUGUE.
fmap_distcorr_dwell_asym_ratio: [0.93902439]
# Set the phase-encoding direction. The options are: x, y, z, -x, -y, -z.
fmap_distcorr_pedir: -y