Neural signatures of human psychological resilience driven by acute stress.
The 8 matches
- [1] § Materials and Methods › Statistical Analyses. › fMRI. › Resting-state fMRI. ↔ fMRI/FC ROI-to-ROI analysis/CONN_script_Prep_1stLevel_MRI14.m, lines 143 to 213 · score 0.90 · subject motion parameters, band pass filtering, outlier scans, pitch, roll, yaw · Report a mismatch
- [2] § Results › Spatial Features Support Human-Specific Resilience. ↔ fMRI/FC ROI-to-ROI analysis/CONN_script_Prep_1stLevel_MRI14.m, lines 657 to 777 · score 0.89 · inferior frontal gyrus, middle frontal gyrus, cingulate, precuneus, salience, superior · Report a mismatch
- [3] § Materials and Methods › EEG. › Resting state. ↔ EEG/EEG_Ana_Prep_1stLevel_06.m, lines 141 to 157 · score 0.85 · abnormal spectra, 0–40 Hz, abnormal trends, abnormal distribution, improbable, epoch · Report a mismatch
- [4] § Materials and Methods › Statistical Tests. › Machine learning. ↔ Elastic-net/Elastic-net-52Factors_13x4.R, lines 1 to 63 · score 0.73 · explanatory variables, 0–1.5, optimized, lambda, Alpha · Report a mismatch
- [5] § Materials and Methods › Statistical Analyses. › fMRI. › Resting-state fMRI. ↔ fMRI/FC ROI-to-ROI analysis/CONN_script_Prep_1stLevel_MRI14.m, lines 514 to 597 · score 0.66 · kernel, space, ART, scrubbing, CSF, CONN · Report a mismatch
- [6] § Materials and Methods › Statistical Analyses. › fMRI. › fALFF. ↔ fMRI/FC ROI-to-ROI analysis/CONN_script_Prep_1stLevel_MRI14.m, lines 657 to 777 · score 0.62 · frequency band, accumbens, anterior, dorsal, hippocampus, amygdala · Report a mismatch
- [7] § Materials and Methods › Statistical Analyses. › fMRI. › Resting-state fMRI. ↔ fMRI/FC ROI-to-ROI analysis/CONN_script_Prep_1stLevel_MRI14.m, lines 606 to 655 · score 0.57 · 0.008–0.09 Hz, 0.008 Hz, linear, filter, temporal · Report a mismatch
- [8] § Materials and Methods › EEG. › EEG source localization analysis. ↔ fMRI/FC ROI-to-ROI analysis/CONN_script_Prep_1stLevel_MRI14.m, lines 514 to 597 · score 0.56 · space, surface, template, seeds, segmented, ROI · Report a mismatch
Paper
Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
MATLAB · 781 lines · 51 KB · no license · 6 matches
- %% 0 Check file directories %%
- for sbj = 1:SBJ %
- cd(PATH1(sbj,:));
- CurrentD = pwd;
- D1_full = '';
- D2_full = '';
- D3_full = '';
- D4_full = '';
- D5_full = '';
- %EPI1
- cd([PATH1(sbj,:),'/',FOLDERNAME1(sbj,:),'/EPI1']);
- D1 = dir('Sub*_4d.nii');
- D1_path(sbj,:) = pwd;
- D1_size = length(D1);
- fprintf('%s EPI1 has %d *_4d.nii files\n',FOLDERNAME1(sbj,:),D1_size);
- for epi1 = 1:D1_size
- D1_full(epi1,:) = [D1_path(sbj,:),'/',D1(epi1).name];
- end
- %EPI2
- cd([PATH1(sbj,:),'/',FOLDERNAME1(sbj,:),'/EPI2']);
- D2 = dir('Sub*_4d.nii');
- D2_path(sbj,:) = pwd;
- D2_size = length(D2);
- fprintf('%s EPI2 has %d *_4d.nii files\n',FOLDERNAME1(sbj,:),D2_size);
- for epi2 = 1:D2_size
- D2_full(epi2,:) = [D2_path(sbj,:),'/',D2(epi2).name];
- end
- %EPI3
- cd([PATH1(sbj,:),'/',FOLDERNAME1(sbj,:),'/EPI3']);
- D3 = dir('Sub*_4d.nii');
- D3_path(sbj,:) = pwd;
- D3_size = length(D3);
- fprintf('%s EPI3 has %d *_4d.nii files\n',FOLDERNAME1(sbj,:),D3_size);
- for epi3 = 1:D3_size
- D3_full(epi3,:) = [D3_path(sbj,:),'/',D3(epi3).name];
- end
- %EPI4
- cd([PATH1(sbj,:),'/',FOLDERNAME2(sbj,:),'/EPI4']);
- D4 = dir('Sub*_4d.nii');
- D4_path(sbj,:) = pwd;
- D4_size = length(D4);
- fprintf('%s EPI4 has %d *_4d.nii files\n',FOLDERNAME2(sbj,:),D4_size);
- for epi4 = 1:D4_size
- D4_full(epi4,:) = [D4_path(sbj,:),'/',D4(epi4).name];
- end
- %EPI5
- cd([PATH1(sbj,:),'/',FOLDERNAME2(sbj,:),'/EPI5']);
- D5 = dir('Sub*_4d.nii');
- D5_path(sbj,:) = pwd;
- D5_size = length(D5);
- fprintf('%s EPI5 has %d *_4d.nii files\n',FOLDERNAME2(sbj,:),D5_size);
- for epi5 = 1:D5_size
- D5_full(epi5,:) = [D5_path(sbj,:),'/',D5(epi5).name];
- end
- %Str1 (EPI1~3))
- cd([PATH1(sbj,:),'/',FOLDERNAME1(sbj,:),'/Str1']);
- S1 = dir('s*.nii');
- S1_path(sbj,:) = pwd;
- S1_size = length(S1);
- fprintf('%s Str1 has %d s*.nii files\n',FOLDERNAME1(sbj,:),S1_size);
- for str1 = 1:S1_size
- S1_full(str1,:) = [S1_path(sbj,:),'/',S1(str1).name];
- end
- %Str2 (EPI4~5)
- cd([PATH1(sbj,:),'/',FOLDERNAME2(sbj,:),'/Str2']);
- S2 = dir('s*.nii');
- S2_path(sbj,:) = pwd;
- S2_size = length(S2);
- fprintf('%s Str2 has %d s*.nii files\n',FOLDERNAME2(sbj,:),S2_size);
- for str2 = 1:S2_size
- S2_full(str2,:) = [S2_path(sbj,:),'/',S2(str2).name];
- end
- % NAME4D(1,:,sbj) = [D1_path(sbj,:),'/',FOLDERNAME1(sbj,:),'_epi1_4d.nii'];
- % NAME4D(2,:,sbj) = [D2_path(sbj,:),'/',FOLDERNAME1(sbj,:),'_epi2_4d.nii'];
- % NAME4D(3,:,sbj) = [D3_path(sbj,:),'/',FOLDERNAME1(sbj,:),'_epi3_4d.nii'];
- NAME4D(1,:,sbj) = D1_full;
- NAME4D(2,:,sbj) = D2_full;
- NAME4D(3,:,sbj) = D3_full;
- NAME4D(4,:,sbj) = D4_full;
- NAME4D(5,:,sbj) = D5_full;
- NAMET1(1,:,sbj) = S1_full; %EPI1->Str1
- NAMET1(2,:,sbj) = S1_full; %EPI2->Str1
- NAMET1(3,:,sbj) = S1_full; %EPI3->Str1
- NAMET1(4,:,sbj) = S2_full; %EPI4->Str2
- NAMET1(5,:,sbj) = S2_full; %EPI5->Str2
- end
- cd(CurrentD);
- %% STEP1: PREPROCESSING %%
- PATH = '/data3/SRR/MRI12'; %for Alpha
- BATCH.filename = [PATH,'/',FILENAME]; %<required>
- BATCH.Setup.isnew = 1; %1/0: is this a new conn project
- BATCH.Setup.done = 1; %<required>1/0: 0 defines fields only; 1 runs SETUP processing steps
- BATCH.Setup.overwrite= 'Yes'; %<required>(for done=1) 1/0 overwrites target files if they exist
- %BATCH.Setup.parallel = 0;
- % %% Pararel process %%
- BATCH.parallel.N=SBJ; % One process per subject
- %
- %% 1 Basic %%
- BATCH.Setup.nsubjects= SBJ; %Number of subjects
- BATCH.Setup.RT = 2.0;%Repetition time (seconds)
- BATCH.Setup.acquisitiontype = 1; %1 is Continuous acquisition, 0 is Sparse acquisition of functional volumes
- %% 2&3 Original Functional and Structual data %%
- for sbj = 1:SBJ %1 to 18
- BATCH.Setup.structurals{sbj}{1} = cellstr(NAMET1(1,:,sbj));
- BATCH.Setup.structurals{sbj}{2} = cellstr(NAMET1(2,:,sbj));
- BATCH.Setup.structurals{sbj}{3} = cellstr(NAMET1(3,:,sbj));
- BATCH.Setup.structurals{sbj}{4} = cellstr(NAMET1(4,:,sbj));
- BATCH.Setup.structurals{sbj}{5} = cellstr(NAMET1(5,:,sbj));
- BATCH.Setup.functionals{sbj}{1} = cellstr(NAME4D(1,:,sbj));
- BATCH.Setup.functionals{sbj}{2} = cellstr(NAME4D(2,:,sbj));
- BATCH.Setup.functionals{sbj}{3} = cellstr(NAME4D(3,:,sbj));
- BATCH.Setup.functionals{sbj}{4} = cellstr(NAME4D(4,:,sbj));
- BATCH.Setup.functionals{sbj}{5} = cellstr(NAME4D(5,:,sbj));
- fprintf('Registored Str1 %s as structual data of EPI1 \n',NAMET1(1,:,sbj));
- fprintf('Registored Str1 %s as structual data of EPI2 \n',NAMET1(2,:,sbj));
- fprintf('Registored Str1 %s as structual data of EPI3 \n',NAMET1(3,:,sbj));
- fprintf('Registored Str2 %s as structual data of EPI4 \n',NAMET1(4,:,sbj));
- fprintf('Registored Str2 %s as structual data of EPI5 \n',NAMET1(5,:,sbj));
- fprintf('Registored EPI1 %s as functional data \n',NAME4D(1,:,sbj));
- fprintf('Registored EPI2 %s as functional data \n',NAME4D(2,:,sbj));
- fprintf('Registored EPI3 %s as functional data \n',NAME4D(3,:,sbj));
- fprintf('Registored EPI4 %s as functional data \n',NAME4D(4,:,sbj));
- fprintf('Registored EPI5 %s as functional data \n',NAME4D(5,:,sbj));
- end
- %% 4 Preprocessing %%
- BATCH.Setup.preprocessing.steps = 'default_mni'; %<required>Ddefault pipeline. Check help documents for more details
- BATCH.Setup.preprocessing.affreg= 'mni'; % :<required> (normalization) affine registration before normalization ['mni']
- %: (functional_art) ART thresholds for identifying outlier scans
- BATCH.Setup.preprocessing.art_thresholds(1)= 3; %art_thresholds(1): threshold value for global-signal (z-value; default 5)
- BATCH.Setup.preprocessing.art_thresholds(2)= 0.5; %art_thresholds(2): threshold value for subject-motion (mm; default .9)
- %note: the default art_thresholds(1:2) [5 .9] values correspond to the "intermediate" (97th percentile) settings
- % to use the "conservative" (95th percentile) settings use [3 .5]
- % to use the "liberal" (99th percentile) settings use [9 2] values instead
- %
- % additional options: art_thresholds(3): 1/0 global-signal threshold based on scan-to-scan changes
- % in global-BOLD measure (default 1)
- % art_thresholds(4): 1/0 subject-motion threshold based on scan-to-scan changes
- % in subject-motion measure (default 1)
- % art_thresholds(5): 1/0 subject-motion threhsold based on composite-movement
- % measure (default 1)
- % art_thresholds(6): 1/0 force interactive mode (ART gui) (default 0)
- % art_thresholds(7): [only when art_threshold(5)=0] subject-motion threshold
- % based on rotation measure
- % art_thresholds(8): N number of initial scans to be flagged for removal
- % (default 0)
- % note: when art_threshold(5)=0, art_threshold(2) defines the threshold based on the translation
- % measure, and art_threhsold(7) defines the threshold based on the rotation measure;
- % otherwise
- % art_threshold(2) defines the (single) threshold based on the composite-motion measure
- %
- % note: art needs subject-motion files to estimate possible outliers. If a 'realignment'
- % first-level covariate exists it will load the subject-motion parameters from that first-
- % level covariate; otherwise it will look for a rp_*.txt file (SPM format) in the same
- % folder as the functional data
- %
- % note: subject-motion files can be in any of the following formats: a) *.txt file (SPM
- % format; three translation parameters in mm followed by pitch/roll/yaw in radians);
- % b) *.par (FSL format; three Euler angles in radians followed by translation parameters
- % in mm); c) *.siemens.txt (Siemens MotionDetectionParameter.txt format); d) *.deg.txt (same
- % as SPM format but rotations in degrees instead of radians)
- %BATCH.Setup.preprocessing.boundingbox %: (normalization) target bounding box for resliced volumes (mm) [-90,-126,-72;90,90,108]
- %BATCH.Setup.preprocessing.bp_filter %: (functional_bandpass) Low- and High- frequency thresholds (in Hz)
- %BATCH.Setup.preprocessing.bp_keep0 %: (functional_bandpass) [1]
- % 0: removes average BOLD signal (freq=0Hz component)
- % 1: keeps average BOLD signal in output independent of band-pass filter values;
- %BATCH.Setup.preprocessing.coregtomean %: (functional_coregister/segment/normalize) [1]
- % 0: use first volume
- % 1: use mean volume (computed during realignment)
- % 2: use user-defined source volume (see Setup.coregsource_functionals field)
- %BATCH.Setup.preprocessing.diffusionsteps %: (surface_smooth) number of diffusion steps
- BATCH.Setup.preprocessing.fwhm = 8; %: (functional_smooth) Smoothing factor (mm) [8]
- %BATCH.Setup.preprocessing.interp = 4; %: (normalization) target voxel interpolation method [4]
- % 0:nearest neighbor
- % 1:trilinear
- % 2 or higher:n-order spline)
- %BATCH.Setup.preprocessing.label %: (functional_label) label of secondary dataset [datestr(now)]
- %BATCH.Setup.preprocessing.reg_names %: (functional_regression) list of first-level covariates to use as model regressors / design matrix
- % (valid entries are first-level covariate names or ROI names)
- %BATCH.Setup.preprocessing.reg_dimensions %: (functional_regression) list of maximum number of dimensions (one vlaue for each model regressor in reg_names)
- %BATCH.Setup.preprocessing.reg_deriv %: (functional_regression) list of 0/1/2 values (one value for each model regressorr in reg_names):
- %: add first- or second- order derivatives to each model regressor
- %BATCH.Setup.preprocessing.reg_detrend = 1; %: (functional_regression) 1: adds a linear/detrending term to model regressors [1]
- %BATCH.Setup.preprocessing.reg_skip %: (functional_regression) [0]
- % 1: does not create output functional files, only creates session-specific dp_*.txt files with covariate timeseries to be included later in an arbitrary first-level model
- %BATCH.Setup.preprocessing.removescans %: (functional_removescans) number of initial scans to remove
- %BATCH.Setup.preprocessing.reorient %: (functional/structural_manualorient) 3x3 or 4x4 transformation matrix or filename containing corresponding matrix
- %BATCH.Setup.preprocessing.respatialdef %: (functional/structural_manualspatialdef) nifti deformation file (e.g. y_*.nii or *seg_sn.mat files)
- %BATCH.Setup.preprocessing.rtm %: (functional_realign) 0: use first volume; 1: use mean volume [0]
- BATCH.Setup.preprocessing.sliceorder = 'descending'; %<required>[36:-1:1]
- %%%%%%%%%%%%%%%%%%%% CAUTION %%%%%%%%%%%%%%%%%%%%
- %In the case of Siemens interleave,
- %if Slice number has EVEN size (e.g.36,70),
- %Order is 2,4,6,8,10,…,34,36,1,3,5,7,10,….,35
- %if Slice number has ODD size (e.g.35,43),
- %Order is 1,3,5,7,9,…,33,35,2,4,6,8,10,….,32,34
- %%%%%%%%%%%%%%%%%%%% CAUTION %%%%%%%%%%%%%%%%%%%%
- %: (functional_slicetime) acquisition order (vector of indexes; 1=first slice in image; note: use cell array for subject-specific vectors)
- % alternatively sliceorder may also be defined as one of the following strings: 'ascending',
- % 'descending','interleaved (middle-top)','interleaved (bottom-up)','interleaved (top-down)',
- % 'interleaved (Siemens)','interleaved (Philips)','BIDS' (this option reads slice timing information from .json files)
- % alternatively sliceorder may also be defined as a vector containing the acquisition time in
- % milliseconds for each slice (e.g. for multi-band sequences)
- %BATCH.Setup.preprocessing.ta %: (functional_slicetime) acquisition time (TA) in seconds
- % (used to determine slice times when sliceorder is defined by a vector of slice indexes;
- % note: use vector for subject-specific values).
- % Defaults to (1-1/nslices)*TR where nslices is the number of slices
- %BATCH.Setup.preprocessing.template_structural %: (structural_normalize SPM8 only) anatomical template file for approximate coregistration
- %[spm/template/T1.nii]
- %BATCH.Setup.preprocessing.template_functional:%(functional_normalize SPM8 only) functional template file for normalization
- %[spm/template/EPI.nii]
- %BATCH.Setup.preprocessing.tpm_template %: (structural_segment, structural_segment&normalize in SPM8, and any segment/normalize option in SPM12) tissue probability map
- % [spm/tpm/TPM.nii]
- %BATCH.Setup.preprocessing.tpm_ngaus %: (structural_segment, structural_segment&normalize in SPM8&SPM12) number of gaussians for each tissue probability map
- %BATCH.Setup.preprocessing.vdm_et1 %: (functional_vdm_create) ET1 (Echo Time first echo in fieldmap sequence) (default [] : read from .json file / BIDS)
- %BATCH.Setup.preprocessing.vdm_et2 %: (functional_vdm_create) ET2 (Echo Time second echo in fieldmap sequence) (default [] : read from .json file / BIDS)
- %BATCH.Setup.preprocessing.vdm_ert %: (functional_vdm_create) ERT (Effective Readout Time in funcional data) (default [] : read from .json file / BIDS)
- %BATCH.Setup.preprocessing.vdm_blip %: (functional_vdm_create) k-space traversal blip direction (+1 or -1; default -1)
- %BATCH.Setup.preprocessing.vdm_type %: (functional_vdm_create only) type of fieldmap sequence files
- % []: automatically detect;
- % 1: magnitude+phasediff (or magnitude1+magnitude2+phasediff)
- % 2: real1+imag1+real2+imag2; 3: fieldmapHz)
- %BATCH.Setup.preprocessing.vdm_fmap %: (functional_vdm_create only) location of fieldmap sequence files
- % (secondary functional dataset number or label containing fieldmap sequence files) ['fmap']
- %BATCH.Setup.preprocessing.voxelsize_anat %: (structural normalization) target voxel size for resliced volumes (mm) [2]
- %BATCH.Setup.preprocessing.voxelsize_func %: (functional normalization) target voxel size for resliced volumes (mm) [2]
- %BATCH.Setup.preprocessing.sets %: defines functional dataset to preprocess (0 for Primary Dataset; [1-N] or labels for Secondary Datasets) [0]
- % STEP2: ROIS, CONDITIONS, COVARIATES(1st,2nd), OPTIONS %%
- % 5 ROIs %%
- % BATCH.Setup.secondarydatasets...
- % BATCH.Setup.add...
- % BATCH.Setup.masks... % Specifies the Grey/White/CSF ROIs for each subject. If any of these fields are left unset,
- % the conn toolbox will perform segmentation on the anatomical volumes (for each subject) in
- % order to define the missing masks
- % for sbj = 1:SBJ %1 to 18
- % Gray = dir([S1_path(sbj,:),'/c1c*.nii']);
- % White= dir([S1_path(sbj,:),'/c2c*.nii']);
- % CSF = dir([S1_path(sbj,:),'/c3c*.nii']);
- % BATCH.Setup.masks.Gray{sbj} = Gray.name;
- % BATCH.Setup.masks.White{sbj}= White.name;
- % BATCH.Setup.masks.CSF{sbj} = CSF.name;
- % end
- % % BATCH.Setup.rois... % Specifies the ROI files for connectivity analyses.
- % If this field is left unset, the toolbox will by
- % default use all the ROI files in the conn/rois directory
- % If you set some rois by yourself, please take care
- % whether BATCH.Setup.rois.add = 1 or 0.
- % BATCH.Setup.rois.add= 1 %: 1/0; use 0 (default) to define the full set of ROIs to be used in your analyses; use 1 to define
- % an additional set of ROIs (to be added to any already-existing ROIs in your project) [0]
- % % [Tips] If you want to simply add ROI set (such as Power's atlas), save
- % % one .nii file including ROI images and one .txt file including lists of
- % % seed names in tha folder 'XX:/spm12/toolbox/conn/rois'
- % % Conn indentifys the files as default atlas and automatically adds the
- % % ROI set.
- % % Otherwise, if you want to mannualy add ROIs for with some weights,
- % % use the following commands,
- % BATCH.Setup.rois.add= 1;
- % BATCH.Setup.rois.names={'XXXX','YYYY'};
- % BATCH.Setup.rois.dimensions={1,1};
- % BATCH.Setup.rois.files{1}='D:/spm12/toolbox/conn/utils/otherrois/XXXX.nii';
- % BATCH.Setup.rois.files{2}='D:/spm12/toolbox/conn/utils/otherrois/YYYY.nii';
- %% 6 Conditions %%
- % Description: Specifies the (taks or rest) conditions characterizing the block-design acquisition of
- % the functional volumes. Note that if the BATCH.New initialization step has been run this field will
- % default to defining a single condition encompassing the entire functional data. Alternatively if
- % BATCH.Setup.spmfiles has been specified this field will be defined by the modeled conditions of
- % interest in the corresponding SPM.mat files. Otherwise this field needs to be defined (e.g. use the
- % example below for rest-state functional data)
- for sbj = 1:SBJ %Loop through subjects <required>
- BATCH.Setup.conditions.names {1} ='All runs';
- BATCH.Setup.conditions.onsets {1}{sbj}{1}= 0;
- BATCH.Setup.conditions.onsets {1}{sbj}{2}= 0;
- BATCH.Setup.conditions.onsets {1}{sbj}{3}= 0;
- BATCH.Setup.conditions.onsets {1}{sbj}{4}= 0;
- BATCH.Setup.conditions.onsets {1}{sbj}{5}= 0;
- BATCH.Setup.conditions.durations{1}{sbj}{1}=inf;
- BATCH.Setup.conditions.durations{1}{sbj}{2}=inf;
- BATCH.Setup.conditions.durations{1}{sbj}{3}=inf;
- BATCH.Setup.conditions.durations{1}{sbj}{4}=inf;
- BATCH.Setup.conditions.durations{1}{sbj}{5}=inf;
- BATCH.Setup.conditions.names {2} ='First half';
- BATCH.Setup.conditions.onsets {2}{sbj}{1}= 0;
- BATCH.Setup.conditions.onsets {2}{sbj}{2}= 0;
- BATCH.Setup.conditions.onsets {2}{sbj}{3}= 0;
- BATCH.Setup.conditions.onsets {2}{sbj}{4}= [];
- BATCH.Setup.conditions.onsets {2}{sbj}{5}= [];
- BATCH.Setup.conditions.durations{2}{sbj}{1}=inf;
- BATCH.Setup.conditions.durations{2}{sbj}{2}=inf;
- BATCH.Setup.conditions.durations{2}{sbj}{3}=inf;
- BATCH.Setup.conditions.durations{2}{sbj}{4}= [];
- BATCH.Setup.conditions.durations{2}{sbj}{5}= [];
- BATCH.Setup.conditions.names {3} ='Second half';
- BATCH.Setup.conditions.onsets {3}{sbj}{1}= [];
- BATCH.Setup.conditions.onsets {3}{sbj}{2}= [];
- BATCH.Setup.conditions.onsets {3}{sbj}{3}= [];
- BATCH.Setup.conditions.onsets {3}{sbj}{4}= 0;
- BATCH.Setup.conditions.onsets {3}{sbj}{5}= 0;
- BATCH.Setup.conditions.durations{3}{sbj}{1}= [];
- BATCH.Setup.conditions.durations{3}{sbj}{2}= [];
- BATCH.Setup.conditions.durations{3}{sbj}{3}= [];
- BATCH.Setup.conditions.durations{3}{sbj}{4}=inf;
- BATCH.Setup.conditions.durations{3}{sbj}{5}=inf;
- BATCH.Setup.conditions.names {4} ='Stress all';
- BATCH.Setup.conditions.onsets {4}{sbj}{1}= [];
- BATCH.Setup.conditions.onsets {4}{sbj}{2}= 0;
- BATCH.Setup.conditions.onsets {4}{sbj}{3}= 0;
- BATCH.Setup.conditions.onsets {4}{sbj}{4}= [];
- BATCH.Setup.conditions.onsets {4}{sbj}{5}= [];
- BATCH.Setup.conditions.durations{4}{sbj}{1}= [];
- BATCH.Setup.conditions.durations{4}{sbj}{2}=inf;
- BATCH.Setup.conditions.durations{4}{sbj}{3}=inf;
- BATCH.Setup.conditions.durations{4}{sbj}{4}= [];
- BATCH.Setup.conditions.durations{4}{sbj}{5}= [];
- BATCH.Setup.conditions.names {5} ='Baseline';
- BATCH.Setup.conditions.onsets {5}{sbj}{1}= 0;
- BATCH.Setup.conditions.onsets {5}{sbj}{2}= [];
- BATCH.Setup.conditions.onsets {5}{sbj}{3}= [];
- BATCH.Setup.conditions.onsets {5}{sbj}{4}= [];
- BATCH.Setup.conditions.onsets {5}{sbj}{5}= [];
- BATCH.Setup.conditions.durations{5}{sbj}{1}=inf;
- BATCH.Setup.conditions.durations{5}{sbj}{2}= [];
- BATCH.Setup.conditions.durations{5}{sbj}{3}= [];
- BATCH.Setup.conditions.durations{5}{sbj}{4}= [];
- BATCH.Setup.conditions.durations{5}{sbj}{5}= [];
- BATCH.Setup.conditions.names {6} ='Stress1';
- BATCH.Setup.conditions.onsets {6}{sbj}{1}= [];
- BATCH.Setup.conditions.onsets {6}{sbj}{2}= 0;
- BATCH.Setup.conditions.onsets {6}{sbj}{3}= [];
- BATCH.Setup.conditions.onsets {6}{sbj}{4}= [];
- BATCH.Setup.conditions.onsets {6}{sbj}{5}= [];
- BATCH.Setup.conditions.durations{6}{sbj}{1}= [];
- BATCH.Setup.conditions.durations{6}{sbj}{2}=inf;
- BATCH.Setup.conditions.durations{6}{sbj}{3}= [];
- BATCH.Setup.conditions.durations{6}{sbj}{4}= [];
- BATCH.Setup.conditions.durations{6}{sbj}{5}= [];
- BATCH.Setup.conditions.names {7} ='Stress2';
- BATCH.Setup.conditions.onsets {7}{sbj}{1}= [];
- BATCH.Setup.conditions.onsets {7}{sbj}{2}= [];
- BATCH.Setup.conditions.onsets {7}{sbj}{3}= 0;
- BATCH.Setup.conditions.onsets {7}{sbj}{4}= [];
- BATCH.Setup.conditions.onsets {7}{sbj}{5}= [];
- BATCH.Setup.conditions.durations{7}{sbj}{1}= [];
- BATCH.Setup.conditions.durations{7}{sbj}{2}= [];
- BATCH.Setup.conditions.durations{7}{sbj}{3}=inf;
- BATCH.Setup.conditions.durations{7}{sbj}{4}= [];
- BATCH.Setup.conditions.durations{7}{sbj}{5}= [];
- BATCH.Setup.conditions.names {8} ='Recov1';
- BATCH.Setup.conditions.onsets {8}{sbj}{1}= [];
- BATCH.Setup.conditions.onsets {8}{sbj}{2}= [];
- BATCH.Setup.conditions.onsets {8}{sbj}{3}= [];
- BATCH.Setup.conditions.onsets {8}{sbj}{4}= 0;
- BATCH.Setup.conditions.onsets {8}{sbj}{5}= [];
- BATCH.Setup.conditions.durations{8}{sbj}{1}= [];
- BATCH.Setup.conditions.durations{8}{sbj}{2}= [];
- BATCH.Setup.conditions.durations{8}{sbj}{3}= [];
- BATCH.Setup.conditions.durations{8}{sbj}{4}=inf;
- BATCH.Setup.conditions.durations{8}{sbj}{5}= [];
- BATCH.Setup.conditions.names {9} ='Recov2';
- BATCH.Setup.conditions.onsets {9}{sbj}{1}= [];
- BATCH.Setup.conditions.onsets {9}{sbj}{2}= [];
- BATCH.Setup.conditions.onsets {9}{sbj}{3}= [];
- BATCH.Setup.conditions.onsets {9}{sbj}{4}= [];
- BATCH.Setup.conditions.onsets {9}{sbj}{5}= 0;
- BATCH.Setup.conditions.durations{9}{sbj}{1}= [];
- BATCH.Setup.conditions.durations{9}{sbj}{2}= [];
- BATCH.Setup.conditions.durations{9}{sbj}{3}= [];
- BATCH.Setup.conditions.durations{9}{sbj}{4}= [];
- BATCH.Setup.conditions.durations{9}{sbj}{5}=inf;
- end
- %NumOfCond = 5;
- %BATCH.Setup.conditions.param = zeros(1,NumOfCond);
- %BATCH.Setup.conditions.filter= [];
- %BATCH.Setup.conditions.missingdata= 0;
- %BATCH.Setup.conditions.model= []; %optional
- %BATCH.Setup.conditions.importfile= []; %optional
- %BATCH.Setup.conditions.importfile= 0;
- %% 7 Covariates 1st level %%
- % % Description: Specifies the first level covariates (timeseries possibly associated with the BOLDsignal).
- % % Note that if the new initialization step has been run(BATCH.Setup.isnew = 1),
- % % this field will default to THREE covariates representing the estimated subject motion for each subject/session.
- % % BATCH.Setup.covariate.files{ncovariate}{nsub}{nses} element contains a char array pointing to a
- % % .txt or .mat file defining the time series first level covariate ncovariate, for subject nsub, during
- % % session nses . Note that each covariate can in turn be multivariate (e.g. the ‘movement’ covariate
- % % contains 6 time series, each representing one aspect of the estimated subject movement
- % % translation and rotation parameters --).
- % % Valid first level covariate files are .txt files with a row of
- % % numbers for each scan, and .mat files containing a single two dimensional variable (arbitrarily
- % % named) with as many rows as scans.
- %OPTION:Put physiological data, if you have
- BATCH.Setup.covariates.add = 1; %1/0 1: Add 1sr level covariates in addition to default
- % (= 'realignment', 'QC_timeseries', 'scrubbing').
- % 0: Make original set of 1st level covariates.
- %note: 'rp_**.txt', art_regression_timeseries_**.mat,
- %'art_regression_outliers_**.mat have not been made
- % until running preprocessig process.
- for sbj = 1:SBJ %Loop through subjects
- BATCH.Setup.covariates.names{1} ='retroicor';
- BATCH.Setup.covariates.files{1}{sbj}{1}=cellstr([PATH2,'/',PHYSIONAME(sbj,:),'/retroicor_hrv_rvt1.txt']);
- BATCH.Setup.covariates.files{1}{sbj}{2}=cellstr([PATH2,'/',PHYSIONAME(sbj,:),'/retroicor_hrv_rvt2.txt']);
- BATCH.Setup.covariates.files{1}{sbj}{3}=cellstr([PATH2,'/',PHYSIONAME(sbj,:),'/retroicor_hrv_rvt3.txt']);
- BATCH.Setup.covariates.files{1}{sbj}{4}=cellstr([PATH2,'/',PHYSIONAME(sbj,:),'/retroicor_hrv_rvt4.txt']);
- BATCH.Setup.covariates.files{1}{sbj}{5}=cellstr([PATH2,'/',PHYSIONAME(sbj,:),'/retroicor_hrv_rvt5.txt']);
- end
- % % THIS IS A MISTAKE OF THE SCRIPTS. YOU DO NOT NEED TO PUT THESE COVARIATES MANUALLY AS CONN MAKES IT AUTOMATICALLY.
- % % % BATCH.Setup.covariates.names{1} ='realignment';
- % % % BATCH.Setup.covariates.files{1}{sbj}{1}=cellstr([D1_path(sbj,:),'/rp_',FOLDERNAME1(sbj,:),'_epi1_4d.txt']);
- % % % BATCH.Setup.covariates.files{1}{sbj}{2}=cellstr([D2_path(sbj,:),'/rp_',FOLDERNAME1(sbj,:),'_epi2_4d.txt']);
- % % % BATCH.Setup.covariates.files{1}{sbj}{3}=cellstr([D3_path(sbj,:),'/rp_',FOLDERNAME1(sbj,:),'_epi3_4d.txt']);
- % % %
- % % % BATCH.Setup.covariates.names{2} ='QC_timeseries';
- % % % BATCH.Setup.covariates.files{2}{sbj}{1}=cellstr([D1_path(sbj,:),'/art_regression_timeseries','_au',FOLDERNAME1(sbj,:),'_epi1_4d.mat']);
- % % % BATCH.Setup.covariates.files{2}{sbj}{2}=cellstr([D2_path(sbj,:),'/art_regression_timeseries','_au',FOLDERNAME1(sbj,:),'_epi2_4d.mat']);
- % % % BATCH.Setup.covariates.files{2}{sinishing 59 job(s) running
- % % %
- % % % BATCH.Setup.covariates.names{3} ='scrubbing';
- % % % BATCH.Setup.covariates.files{3}{sbj}{1}=cellstr([D1_path(sbj,:),'/art_regression_outliers','_au',FOLDERNAME1(sbj,:),'_epi1_4d.mat']);
- % % % BATCH.Setup.covariates.files{3}{sbj}{2}=cellstr([D2_path(sbj,:),'/art_regression_outliers','_au',FOLDERNAME1(sbj,:),'_epi2_4d.mat']);
- % % % BATCH.Setup.covariates.files{3}{sbj}{3}=cellstr([D3_path(sbj,:),'/art_regression_outliers','_au',FOLDERNAME1(sbj,:),'_epi3_4d.mat']);
- %% 8 Covariates 2nd level %%
- %
- % BATCH.Setup.subjects
- % Description: Specifies the second level covariates (subject level variables, such as behavioral or
- % demographic measures as well as subject group definitions). By default a single second level
- % covariate is defined named ‘All’ characterizing a single group that includes all subjects. Note that
- % second level covariates can be redundant as different subsets of second level covariates can be
- % used in different second level analyses (see BATCH.Results for more details)
- %BATCH.Setup.subjects.add= 1 ; %1/0 1: Add 2nd level regressor in addition to default (AllSubjects).
- % 0: Make original set of 2nd level regressors.
- BATCH.Setup.subjects.effect_names= IDinf.name ;
- BATCH.Setup.subjects.effects{ 1}=IDinf.val(1:SBJ, 1);
- BATCH.Setup.subjects.effects{ 2}=IDinf.val(1:SBJ, 2);
- BATCH.Setup.subjects.effects{ 3}=IDinf.val(1:SBJ, 3);
- BATCH.Setup.subjects.effects{ 4}=IDinf.val(1:SBJ, 4);
- BATCH.Setup.subjects.effects{ 5}=IDinf.val(1:SBJ, 5);
- BATCH.Setup.subjects.effects{ 6}=IDinf.val(1:SBJ, 6);
- BATCH.Setup.subjects.effects{ 7}=IDinf.val(1:SBJ, 7);
- BATCH.Setup.subjects.effects{ 8}=IDinf.val(1:SBJ, 8);
- BATCH.Setup.subjects.effects{ 9}=IDinf.val(1:SBJ, 9);
- BATCH.Setup.subjects.effects{10}=IDinf.val(1:SBJ,10);
- BATCH.Setup.subjects.effects{11}=IDinf.val(1:SBJ,11);
- BATCH.Setup.subjects.effects{12}=IDinf.val(1:SBJ,12);
- BATCH.Setup.subjects.effects{13}=IDinf.val(1:SBJ,13);
- BATCH.Setup.subjects.effects{14}=IDinf.val(1:SBJ,14);
- BATCH.Setup.subjects.effects{15}=IDinf.val(1:SBJ,15);
- BATCH.Setup.subjects.effects{16}=IDinf.val(1:SBJ,16);
- BATCH.Setup.subjects.effects{17}=IDinf.val(1:SBJ,17);
- BATCH.Setup.subjects.effects{18}=IDinf.val(1:SBJ,18);
- BATCH.Setup.subjects.effects{19}=IDinf.val(1:SBJ,19);
- BATCH.Setup.subjects.effects{20}=IDinf.val(1:SBJ,20);
- BATCH.Setup.subjects.effects{21}=IDinf.val(1:SBJ,21);
- BATCH.Setup.subjects.effects{22}=IDinf.val(1:SBJ,22);
- BATCH.Setup.subjects.effects{23}=IDinf.val(1:SBJ,23);
- BATCH.Setup.subjects.effects{24}=IDinf.val(1:SBJ,24);
- BATCH.Setup.subjects.effects{25}=IDinf.val(1:SBJ,25);
- BATCH.Setup.subjects.effects{26}=IDinf.val(1:SBJ,26);
- BATCH.Setup.subjects.effects{27}=IDinf.val(1:SBJ,27);
- BATCH.Setup.subjects.effects{28}=IDinf.val(1:SBJ,28);
- BATCH.Setup.subjects.effects{29}=IDinf.val(1:SBJ,29);
- %% 9 Options %%
- BATCH.Setup.analyses = [1,2,3,4];% Vector of index to analysis types (1: ROI-to-ROI; 2: Seed-to-voxel; 3: Voxel-to-voxel; 4: Dynamic FC)
- % Defaults to vector [1,2,3,4] (all analyses)
- BATCH.Setup.voxelmask= 1; %Analysis mask (voxel-level analyses):
- %1: Explicit mask (brainmask.nii); 2: Implicit mask (subject-specific) [1]
- %BATCH.Setup.voxelmaskfile=[]; %Explicit mask file (only when voxelmask=1) [fullfile(fileparts(which('spm')),'apriori','brainmask.nii')]
- BATCH.Setup.voxelresolution=1;
- %Analysis space (voxel-level analyses):
- %1: Volume-based template (SPM; default 2mm isotropic or same as explicit mask if specified)
- %2: Same as structurals
- %3: Same as functionals;
- %4: Surface-based template (Freesurfer) [1]
- BATCH.Setup.analysisunits =1;%BOLD signal units. 1: PSC(percent signal change) units ; 2: raw units [1]
- BATCH.Setup.outputfiles =[1,1,0,0,0,0]; %Optional output files [0,0,0,0,0,0]
- %outputfiles(1): 1/0 creates confound beta-maps
- %outputfiles(2): 1/0 creates confound-corrected timeseries
- %outputfiles(3): 1/0 creates seed-to-voxel r-maps
- %outputfiles(4): 1/0 creates seed-to-voxel p-maps)
- %outputfiles(5): 1/0 creates seed-to-voxel FDR-p-maps;
- %outputfiles(6): 1/0 creates ROI-extraction REX files;
- % BATCH.Setup.spmfiles
- %Optionally, spmfiles{nsub} is a char array pointing to the 'SPM.mat' source file to extract Setup
- %information from for each subject (use alternatively spmfiles{nsub}{nses} for session-specific SPM.mat files)
- % BATCH.Setup.spmfiles_options
- %(for Setup.spmfiles procedure) Cell array containing additional options to pass to conn_importspm
- %when importing experiment info from spmfiles (see help conn_importspm)
- % BATCH.Setup.vdm_functionals
- %(for Setup.preprocessing.steps=='realign&unwarp&fieldmap') vdm_functionals{nsub}{nses} char
- %array of voxel-displacement volumes (vdm* file; explicitly entering these volumes here superceeds CONN's
- %default option to search for/use vdm* files in same directory as functional data)
- % BATCH.Setup.fmap_functionals
- %(for Setup.preprocessing.steps=='vdm_create') fmap_functionals{nsub}{nses} char
- %array of fieldmap sequence files (magnitude1+phasediff or real1+imag1+real2+imag2 or fieldmap (Hz) volumes)
- % BATCH.Setup.coregsource_functionals
- %(for Setup.preprocessing.steps=='functional_coregister/segment/normalize')
- %coregsource_functionals{nsub} char array of source volume for coregistration/normalization/
- %segmentation (used only when preprocessing "coregtomean" field is set to 2, user-defined source
- %volumes are used in this case instead of either the first functional volume (coregtomean=0) or the
- %mean functional volume (coregtomean=1) for coregistration/normalization/segmentation)
- % BATCH.Setup.localcopy
- %(for Setup.structural, Setup.functional, Setup.secondarydatasets, and Setup.rois) 1/0 : copies structural/
- %functional files into conn_*/data/BIDS folder before importing into CONN [0]
- % BATCH.Setup.binary_threshold = [.5 .5 .5]; %default [.5 .5 .5]
- %(for BOLD extraction from Grey/White/CSF ROIs) Threshold value # for binarizing Grey/White/CSF masks
- % BATCH.Setup.binary_threshold_type
- %(for BOLD extraction from Grey/White/CSF ROIs)
- %1: absolute threshold (keep voxels with values above x)
- %2: percentile threshold (keep x% of voxels with the highest values) [1 1 1]
- % BATCH.Setup.exclude_grey_matter
- %(for BOLD extration from White/CSF ROIs) threhsold for excluding Grey matter voxels (nan for no threshold) [nan nan nan]
- % BATCH.Setup.erosion_steps = [0 1 1]; %default [0 1 1]
- %(for BOLD extraction from Grey/White/CSF ROIs) integer numbers are interpreted as erosion kernel
- %size for Grey/White/CSF mask erosion after binarization; non-integer numbers are interpreted as
- %percentile voxels kept after erosion
- % BATCH.Setup.erosion_neighb
- %(for BOLD extraction from Grey/White/CSF ROIs; only when using integer erosion_steps/ kernel sizes,
- %this field is disregarded otherwise) Neighborhood size for Grey/White/CSF mask erosion after
- %binarization (a voxel is eroded if there are more than masks_erosion_neighb zeros within the
- %(2*masks_erosionsteps+1)^3-neighborhood of each voxel) [1 1 1]
- % %% RUN POINT1 %%
- % % conn_batch(BATCH);
- % % You can run this script in this point, if you want to stop by end of preprocessing.
- % % Results of STEP1&2 %%
- % % In functional data folder
- % % 'swauXXXXX.nii'
- % % 'rp_XXXXX.txt' is for realign parameters.
- % % 'art_movement_stats_auXXXXX.mat'
- % % 'art_regression_timeseries_auXXXXX.mat' is for QC_timeseries.
- % % 'art_regression_outliers_auXXXXX.mat' is for Scrubbing.
- % % 'art_regression_outliers_and_movement_auXXXXX.mat'
- % % also you will see 'c1art_mean_auXXXX.nii',...'c5art_mean_auXXXX.nii' etc...
- % % Those are for segmentaion.
- % % In structual data folder
- % % all new files are related to segmentation process
- % % 'centering_XXXXX.mat
- % % 'icentering_XXXXX.mat
- % % 'c1cs_XXXXX.nii'...'c5cs_XXXXX.nii'
- % % 'wc0csXXXXX.nii'...'wc3csXXXXX.nii'
- % % 'wcsXXXXX.nii'
- % % 'y_csXXXXX.nii'
- % % 'iy_csXXXXX.nii'
- %% STEP3: DENOISING %%
- % % If you already finished the prepreprocessing, please read following commands
- % clear BATCH
- % BATCH.filename = [PATH1,'/',FILENAME];
- % %
- %% 10 Denoising %%
- BATCH.Denoising.done = 1; %<required>: 1/0: 0 defines fields only; 1 runs DENOISING processing steps [0]
- BATCH.Denoising.overwrite = 1; %<required>: (for done=1) 1/0: overwrites target files if they exist [1]
- BATCH.Denoising.filter = [0.008, 0.09]; %<required>: vector with two elements specifying band pass filter: low-frequency & high-frequency cutoffs (Hz)
- BATCH.Denoising.detrending = 1; %: 0/1/2/3: BOLD times-series polynomial detrending order
- % (0: no detrending; 1: linear detrending; 3: cubic detrending)
- BATCH.Denoising.despiking = 0; %: 0/1/2: temporal despiking with a hyperbolic tangent squashing function
- %(1:before regression; 2:after regression) [0]
- BATCH.Denoising.regbp = 1; %: 1/2: order of band-pass filtering step
- %(1 = RegBP: regression followed by band-pass; 2 = Simult: simultaneous regression&band-pass) [1]
- % % BATCH.Denoising.confounds... %You do not need to put follwing commands,
- % % %if you use default setting of Denoisinig.
- % % Description: Specifies the denoising confounds factors (timeseries possibly associated with the BOLDsignal).
- % % Note that this field will default to THREE factors ('White Matter','CSF','realignment','scrubbing') and Effect of XX.
- % % You need to describe only when you want to change the denosing factors.
- % % BATCH.Denoising.confounds.names = {'retroicor'};
- % % BATCH.Denoising.confounds.dimensions = {[]}; %regressor size of retroicor is different by subjects
- % % BATCH.Denoising.confounds.deriv = {0};
- % % BATCH.Denoising.confounds.power = {1};
- % % BATCH.Denoising.confounds.filter = {0};
- BATCH.Denoising.confounds.names = {'White Matter','CSF','realignment','scrubbing','retroicor',...
- 'Effect of All runs','Effect of First half','Effect of Second half','Effect of Stress all','Effect of Baseline','Effect of Stress1','Effect of Stress2','Effect of Recov1','Effect of Recov2'};
- %: confounds.names{nconfound} char array of confound name
- % (confound names can be: 'Grey Matter','White Matter','CSF',any ROI name, any covariate name,
- % or 'Effect of *' where * represents any condition name]
- BATCH.Denoising.confounds.dimensions = {5,5,[],[],[],...
- 2,2,2,2,2,2,2,2,2};
- %: confounds.dimensions{nconfound} number of confound dimensions [defaults to using all dimensions
- % available for each confound variable]
- % leave empty a particular value to set to the default value -maximum dimensions of the corresponding effect-
- BATCH.Denoising.confounds.deriv = {0,0,1,0,0,...
- 1,1,1,1,1,1,1,1,1};
- %: confounds.deriv{nconfound} include temporal derivatives up to n-th order of each effect
- % (0 for raw timeseries, 1 for raw+firstderivative timeseries, etc.) [0|1]
- BATCH.Denoising.confounds.power = {1,1,1,1,1,...
- 1,1,1,1,1,1,1,1,1};
- %: confounds.power{nconfound} include powers up to n-th order of each effect
- %(1 for linear effects, %2 for linear+quadratic effect, etc.) [1]
- BATCH.Denoising.confounds.filter = {0,0,0,0,0,...
- 0,0,0,0,0,0,0,0,0};
- %: (for regbp==1) confounds.filter{nconfound} band-pass filter confound regressors before entering
- % for roi = 1:ROIsize %in regression equation [0]
- % %% RUN POINT2 %%
- % conn_batch(BATCH);
- % % You can run this script in this point, if you want to stop by end of denoising.
- %% STEP4: ANALYSES(1ST LEVEL) %%
- % % % If you already finish the denoising, please read following commands
- % % clear BATCH
- % % BATCH.filename = [PATH1,'/',FILENAME];
- % % %
- %
- % %The list of ROInames is for excluding Cerebellum rois.
- % ROIname = {'atlas.FP r (Frontal Pole Right)','atlas.FP l (Frontal Pole Left)',...
- % 'atlas.IC r (Insular Cortex Right)','atlas.IC l (Insular Cortex Left)',...
- % 'atlas.SFG r (Superior Frontal Gyrus Right)','atlas.SFG l (Superior Frontal Gyrus Left)',...
- % 'atlas.MidFG r (Middle Frontal Gyrus Right)','atlas.MidFG l (Middle Frontal Gyrus Left)',...
- % 'atlas.IFG tri r (Inferior Frontal Gyrus, pars triangularis Right)','atlas.IFG tri l (Inferior Frontal Gyrus, pars triangularis Left)',...
- % 'atlas.IFG oper r (Inferior Frontal Gyrus, pars opercularis Right)','atlas.IFG oper l (Inferior Frontal Gyrus, pars opercularis Left)',...
- % 'atlas.PreCG r (Precentral Gyrus Right)','atlas.PreCG l (Precentral Gyrus Left)',...
- % 'atlas.TP r (Temporal Pole Right)','atlas.TP l (Temporal Pole Left)',...
- % 'atlas.aSTG r (Superior Temporal Gyrus, anterior division Right)','atlas.aSTG l (Superior Temporal Gyrus, anterior division Left)',...
- % 'atlas.pSTG r (Superior Temporal Gyrus, posterior division Right)','atlas.pSTG l (Superior Temporal Gyrus, posterior division Left)',...
- % 'atlas.aMTG r (Middle Temporal Gyrus, anterior division Right)','atlas.aMTG l (Middle Temporal Gyrus, anterior division Left)',...
- % 'atlas.pMTG r (Middle Temporal Gyrus, posterior division Right)','atlas.pMTG l (Middle Temporal Gyrus, posterior division Left)',...
- % 'atlas.toMTG r (Middle Temporal Gyrus, temporooccipital part Right)','atlas.toMTG l (Middle Temporal Gyrus, temporooccipital part Left)',...
- % 'atlas.aITG r (Inferior Temporal Gyrus, anterior division Right)','atlas.aITG l (Inferior Temporal Gyrus, anterior division Left)',...
- % 'atlas.pITG r (Inferior Temporal Gyrus, posterior division Right)','atlas.pITG l (Inferior Temporal Gyrus, posterior division Left)',...
- % 'atlas.toITG r (Inferior Temporal Gyrus, temporooccipital part Right)','atlas.toITG l (Inferior Temporal Gyrus, temporooccipital part Left)',...
- % 'atlas.PostCG r (Postcentral Gyrus Right)','atlas.PostCG l (Postcentral Gyrus Left)',...
- % 'atlas.SPL r (Superior Parietal Lobule Right)','atlas.SPL l (Superior Parietal Lobule Left)',...
- % 'atlas.aSMG r (Supramarginal Gyrus, anterior division Right)','atlas.aSMG l (Supramarginal Gyrus, anterior division Left)',...
- % 'atlas.pSMG r (Supramarginal Gyrus, posterior division Right)','atlas.pSMG l (Supramarginal Gyrus, posterior division Left)',...
- % 'atlas.AG r (Angular Gyrus Right)','atlas.AG l (Angular Gyrus Left)',...
- % 'atlas.sLOC r (Lateral Occipital Cortex, superior division Right)','atlas.sLOC l (Lateral Occipital Cortex, superior division Left)',...
- % 'atlas.iLOC r (Lateral Occipital Cortex, inferior division Right)','atlas.iLOC l (Lateral Occipital Cortex, inferior division Left)',...
- % 'atlas.ICC r (Intracalcarine Cortex Right)','atlas.ICC l (Intracalcarine Cortex Left)',...
- % 'atlas.MedFC (Frontal Medial Cortex)',...
- % 'atlas.SMA r (Juxtapositional Lobule Cortex -formerly Supplementary Motor Cortex- Right)','atlas.SMA L(Juxtapositional Lobule Cortex -formerly Supplementary Motor Cortex- Left)',...
- % 'atlas.SubCalC (Subcallosal Cortex)',...
- % 'atlas.PaCiG r (Paracingulate Gyrus Right)','atlas.PaCiG l (Paracingulate Gyrus Left)',...
- % 'atlas.AC (Cingulate Gyrus, anterior division)',...
- % 'atlas.PC (Cingulate Gyrus, posterior division)',...
- % 'atlas.Precuneous (Precuneous Cortex)',...
- % 'atlas.Cuneal r (Cuneal Cortex Right)','atlas.Cuneal l (Cuneal Cortex Left)',...
- % 'atlas.FOrb r (Frontal Orbital Cortex Right)','atlas.FOrb l (Frontal Orbital Cortex Left)',...
- % 'atlas.aPaHC r (Parahippocampal Gyrus, anterior division Right)','atlas.aPaHC l (Parahippocampal Gyrus, anterior division Left)',...
- % 'atlas.pPaHC r (Parahippocampal Gyrus, posterior division Right)','atlas.pPaHC l (Parahippocampal Gyrus, posterior division Left)',...
- % 'atlas.LG r (Lingual Gyrus Right)','atlas.LG l (Lingual Gyrus Left)',...
- % 'atlas.aTFusC r (Temporal Fusiform Cortex, anterior division Right)','atlas.aTFusC l (Temporal Fusiform Cortex, anterior division Left)',...
- % 'atlas.pTFusC r (Temporal Fusiform Cortex, posterior division Right)','atlas.pTFusC l (Temporal Fusiform Cortex, posterior division Left)',...
- % 'atlas.TOFusC r (Temporal Occipital Fusiform Cortex Right)','atlas.TOFusC l (Temporal Occipital Fusiform Cortex Left)',...
- % 'atlas.OFusG r (Occipital Fusiform Gyrus Right)','atlas.OFusG l (Occipital Fusiform Gyrus Left)',...
- % 'atlas.FO r (Frontal Operculum Cortex Right)','atlas.FO l (Frontal Operculum Cortex Left)',...
- % 'atlas.CO r (Central Opercular Cortex Right)','atlas.CO l (Central Opercular Cortex Left)',...
- % 'atlas.PO r (Parietal Operculum Cortex Right)','atlas.PO l (Parietal Operculum Cortex Left)',...
- % 'atlas.PP r (Planum Polare Right)','atlas.PP l (Planum Polare Left)',...
- % 'atlas.HG r (Heschl''s Gyrus Right)','atlas.HG l (Heschl''s Gyrus Left)',...
- % 'atlas.PT r (Planum Temporale Right)','atlas.PT l (Planum Temporale Left)',...
- % 'atlas.SCC r (Supracalcarine Cortex Right)','atlas.SCC l (Supracalcarine Cortex Left)',...
- % 'atlas.OP r (Occipital Pole Right)','atlas.OP l (Occipital Pole Left)',...
- % 'atlas.Thalamus r','atlas.Thalamus l',...
- % 'atlas.Caudate r','atlas.Caudate l',...
- % 'atlas.Putamen r','atlas.Putamen l',...
- % 'atlas.Pallidum r','atlas.Pallidum l',...
- % 'atlas.Hippocampus r','atlas.Hippocampus l',...
- % 'atlas.Amygdala r','atlas.Amygdala l',...
- % 'atlas.Accumbens r','atlas.Accumbens l',...
- % 'atlas.Brain-Stem',...
- % 'networks.DefaultMode.MPFC (1,55,-3)',...
- % 'networks.DefaultMode.LP (L) (-39,-77,33)','networks.DefaultMode.LP (R) (47,-67,29)',...
- % 'networks.DefaultMode.PCC (1,-61,38)',...
- % 'networks.SensoriMotor.Lateral (L) (-55,-12,29)','networks.SensoriMotor.Lateral (R) (56,-10,29)',...
- % 'networks.SensoriMotor.Superior (0,-31,67)',...
- % 'networks.Visual.Medial (2,-79,12)',...
- % 'networks.Visual.Occipital (0,-93,-4)',...
- % 'networks.Visual.Lateral (L) (-37,-79,10)','networks.Visual.Lateral (R) (38,-72,13)',...
- % 'networks.Salience.ACC (0,22,35)',...
- % 'networks.Salience.AInsula (L) (-44,13,1)','networks.Salience.AInsula (R) (47,14,0)',...
- % 'networks.Salience.RPFC (L) (-32,45,27)','networks.Salience.RPFC (R) (32,46,27)',...
- % 'networks.Salience.SMG (L) (-60,-39,31)','networks.Salience.SMG (R) (62,-35,32)',...
- % 'networks.DorsalAttention.FEF (L) (-27,-9,64)','networks.DorsalAttention.FEF (R) (30,-6,64)',...
- % 'networks.DorsalAttention.IPS (L) (-39,-43,52)','networks.DorsalAttention.IPS (R) (39,-42,54)',...
- % 'networks.FrontoParietal.LPFC (L) (-43,33,28)','networks.FrontoParietal.PPC (L) (-46,-58,49)',...
- % 'networks.FrontoParietal.LPFC (R) (41,38,30)','networks.FrontoParietal.PPC (R) (52,-52,45)',...
- % 'networks.Language.IFG (L) (-51,26,2)','networks.Language.IFG (R) (54,28,1)',...
- % 'networks.Language.pSTG (L) (-57,-47,15)','networks.Language.pSTG (R) (59,-42,13)'};
- %
- % ROIsize = size(ROIname,2);
- %
- BATCH.Analysis.done = 1; %:<required> 1/0: 0 defines fields only; 1 runs ANALYSIS processing steps [0]
- BATCH.Analysis.overwrite = 1; %:<required> (for done=1) 1/0: overwrites target files if they exist [1]
- % BATCH.Analysis.name = 1; %: analysis name (identifying each set of independent analysis)
- % %(alternatively sequential index identifying each set of independent analyses [1])
- %
- % BATCH.Analysis.measure = 1; %: connectivity measure used; [1]
- % % 1 = 'correlation (bivariate)',
- % % 2 = 'correlation (semipartial)',
- % % 3 = 'regression (bivariate)',
- % % 4 = 'regression (multivariate)'
- % BATCH.Analysis.weight = 2; %: within-condition weight; [2]
- % % 1 = 'none',
- % % 2 = 'hrf',
- % % 3 = 'hanning'
- % BATCH.Analysis.modulation = 0; %: temporal modulation ; [0]
- % % 0 = standard weighted GLM analyses;
- % % 1 = gPPI analyses of condition-specific temporal modulation factor,
- % % or a string for PPI analyses of other temporal modulation factor
- % % (same for all conditions; valid strings are ROI names and 1st-level covariate names)
- % % BATCH.Analysis.conditions =[]; %: (for modulation==1 only) list of task condition names to be simultaneously entered in gPPI
- % % % model (leave empty for default 'all existing conditions') []
- % BATCH.Analysis.type = 3; % : analysis type, 1 = 'ROI-to-ROI', 2 = 'Seed-to-Voxel', 3 = 'all'; [3]
- % %
- % % % BATCH.Analysis.sources
- % % % Description: Cell array of sources names (seeds) (source names can be: any ROI name)
- % % % (if this variable does not exist the toolbox will perform the analyses for all of the existing ROIs
- % % % which are not defined as confounds in the Denoising step)
- % % % note: partial ROI name matches are accepted (e.g. using 'networks.Language' will match all
- % % % ROIs starting with that token)
- % % % Alternatively sources can be a structure with fields
- %
- % BATCH.Analysis.sources.names = ROIname; % {'Left Amygdala', 'Right Amygdala'}; %: sources.names{nsource} char array of source names (seeds)
- % for roi = 1:ROIsize
- % BATCH.Analysis.sources.dimensions{roi} = 1; %: sources.dimensions{nsource} number of source dimensions [1]
- % BATCH.Analysis.sources.deriv{roi} = 0; %: sources.deriv{nsource} number of derivatives for each dimension [0]
- % BATCH.Analysis.sources.fbands{roi} = 1; %: sources.fbands{nsource} number of frequency bands for each dimension [1]
- % end
- %% RUN POINT3 %%
- conn_batch(BATCH);
- % You can run this script in this point, if you want to stop by end of Analyses(1st level).
CONN_script_Prep_1stLevel_MRI14.m, no license · at the source
Overview
- Research Center for Brain Communication, Kochi University of Technology, Kami, Kochi 782-8502, Japan
- Department of Informatics, Faculty of Informatics, Shizuoka Institute of Science and Technology, Fukuroi, Shizuoka 437-8555, Japan
- School of Informatics, Kochi University of Technology, Kami, Kochi 782-8502, Japan
- School of Radiological Technology, Faculty of Health Science Technology, Chulabhorn Royal Academy, Bangkok 10210, Thailand
Abstract
The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.
Repository
Its files are read in the Code ↔ Paper reader above, with 8 matches between paragraphs and lines of code.
OSF kvnh9
Availability: 1 check, the latest on 30 September 2026: the link answers (HTTP 200)
- 30 September 2026: the link answers (HTTP 200)
3 files
- EEG/
EEG_Ana_Prep_1stLevel_06 , MATLAB, 328 lines, 1 match.m - Elastic-net/
Elastic-net-52Factors_13 , R, 211 lines, 1 matchx4.R - fMRI/
FC ROI-to-ROI analysis/ , MATLAB, 781 lines, 6 matchesCONN_script_Prep_1stLeve l_MRI14.m
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 3 scripts, each with its path and the digest of its content;
- 8 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Code and data availability statement
The paper has a code and data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:
- it points to the authors' code: OSF kvnh9
Read it in the paper: doi.org/10.1073/pnas.2524075123.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 30 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 5 keywords, 13 MeSH terms, 4 funders, 78 references.
Cite
This paper
Watanabe, N., Yoshida, S., Keerativittayayut, R., & Takeda, M. (2026). Neural signatures of human psychological resilience driven by acute stress. Proceedings of the National Academy of Sciences of the United States of America, 123(13), e2524075123. https://
BibTeX
@article{watanabe2026neu
author = {Watanabe, Noriya and Yoshida, Shinichi and Keerativittayayut, Ruedeerat and Takeda, Masaki},
title = {{Neural signatures of human psychological resilience driven by acute stress}},
journal = {Proceedings of the National Academy of Sciences of the United States of America},
year = {2026},
month = mar,
volume = {123},
number = {13},
pages = {e2524075123},
publisher = {National Academy of Sciences},
issn = {0027-8424},
doi = {10.1073/
url = {https://
pmid = {41880572},
pmcid = {PMC13037921}
}
RIS
TY - JOUR
AU - Watanabe, Noriya
AU - Yoshida, Shinichi
AU - Keerativittayayut, Ruedeerat
AU - Takeda, Masaki
TI - Neural signatures of human psychological resilience driven by acute stress
T2 - Proceedings of the National Academy of Sciences of the United States of America
J2 - Proc Natl Acad Sci U S A
PY - 2026
DA - 2026/
VL - 123
IS - 13
SP - e2524075123
SN - 0027-8424
PB - National Academy of Sciences
DO - 10.1073/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1073/
"type": "article-journal",
"title": "Neural signatures of human psychological resilience driven by acute stress",
"container-title": "Proceedings of the National Academy of Sciences of the United States of America",
"author": [
{
"family": "Watanabe",
"given": "Noriya"
},
{
"family": "Yoshida",
"given": "Shinichi"
},
{
"family": "Keerativittayayut",
"given": "Ruedeerat"
},
{
"family": "Takeda",
"given": "Masaki"
}
],
"container-title-short":
"volume": "123",
"issue": "13",
"page": "e2524075123",
"DOI": "10.1073/
"PMID": "41880572",
"PMCID": "PMC13037921",
"ISSN": "0027-8424",
"publisher": "National Academy of Sciences",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
25
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1126/sciadv.adz4143 [code]
- Dynamic brain mechanisms supporting salient memories under cortisol.Journal: Science advancesIn common: 7 references
- [2] doi:10.3389/fphys.2022.752900 [code]
- Habituation of the stress response multiplex to repeated cold pressor exposure.Journal: Frontiers in physiologyIn common: ICLabel, EEGLAB, EEG, 3 references
- [3] doi:10.1016/j.neuroimage.2025.121508 [code]
- Functional transition rate of the default mode network is associated with self-reported resilience.Journal: NeuroImageIn common: systems, 6 references
- [4] doi:10.1089/brain.2021.0189 [code]
- Nx4 Modulated Resting-State Functional Connectivity Between Amygdala and Prefrontal Cortex in a Placebo-Controlled, Crossover Trial.Journal: Brain connectivityIn common: CONN, systems, 3 references
- [5] doi:10.3758/s13415-025-01304-1
- Making decisions immediately post-stress: Evidence for dorsolateral prefrontal cortex involvement with an fMRI study.Journal: Cognitive, affective & behavioral neuroscienceIn common: 5 references
- [6] doi:10.1038/s41380-025-02897-2
- Resting-state fMRI reveals altered functional connectivity associated with resilience and susceptibility to chronic social defeat stress in mouse brain.Journal: Molecular psychiatryIn common: 5 references
- [7] doi:10.1162/imag_a_00287 [code]
- Functional MRI signals exhibit stronger covariation with peripheral autonomic measures as vigilance decreases.Journal: Imaging neuroscience (Cambridge, Mass.)In common: systems, 5 references
- [8] doi:10.1073/pnas.2505965122 [code]
- Trauma-predictive brain network connectivity adaptively responds to mild acute stress.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: systems, 4 references
- [9] doi:10.1016/j.neuroimage.2025.121311 [code]
- Investigating the neurovascular coupling across multiple motor execution and imagery conditions: a whole-brain EEG-informed fMRI analysis.Journal: NeuroImageIn common: ICLabel, EEGLAB, systems, EEG, 2 references
- [10] doi:10.1038/s41467-025-64989-5 [code]
- Cortical hierarchy underlying homeostatic sleep pressure alleviation.Journal: Nature communicationsIn common: ICLabel, EEGLAB, EEG, 2 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 3 scripts, and 8 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:d04abe5cdd62ad1f…
Add the badge to the code's README
If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.
Markdown
<!-- oscr-badge:start -->
[](https://openscicode.org/badge/doi/10.1073/pnas.2524075123)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/doi/10.1073/pnas.2524075123.svg
:target: https://openscicode.org/badge/doi/10.1073/pnas.2524075123
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1073/pnas.2524075123"><img src="https://openscicode.org/badge/doi/10.1073/pnas.2524075123.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge page.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.
Report a mismatch between the code and the paper · Report a code error (signed in)
Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.
Report a reproduction failure (signed in)
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
