Multi-run- or Single-run ICA

297 views
Skip to first unread message

Asa Borzabadi

unread,
May 30, 2022, 10:39:15 AM5/30/22
to hcp-...@humanconnectome.org
Dear experts, 

I am sorry if my questions are too basic but as I am new to the field, your help would be highly appreciated.
I have 8 different tfMRI runs each containing 408 volumes, four of which are AP and the other 4 are PA.

In the ICA-FIX batch file, when we need to decide if we want to do the single-run or multi-run analysis, which one is recommended? 

If you recommend multi-run, should I concatenate all eight runs together?  or is it a better idea to concatenate each two consecutive runs together (to avoid high computational load)? 

Regards,
Asa Farahani

Glasser, Matt

unread,
May 30, 2022, 12:01:40 PM5/30/22
to hcp-...@humanconnectome.org

It would be fine to run MR+FIX on all 8 runs.


Matt.

--
You received this message because you are subscribed to the Google Groups "HCP-Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hcp-users+...@humanconnectome.org.
To view this discussion on the web visit https://groups.google.com/a/humanconnectome.org/d/msgid/hcp-users/CA%2Bs6gvkY93-QeKkpZ_-cLZdUCDrRVUL%3DbivaWRO2CwruwRKkcg%40mail.gmail.com.

 


The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.

Asa Borzabadi

unread,
May 30, 2022, 7:40:22 PM5/30/22
to hcp-...@humanconnectome.org

Thank you so much for your help.

It would be perfect if you could kindly guide us toward this step, I have included all of our questions below and have set a corresponding number to each of them so that they would be easy to follow. We would really appreciate it if you could help our group in this regard.

We are trying to set up the HCPPipeline to process our data which is composed of eight separate runs. I have included here all the setup for IcaFIxProcessingBatch, PostFixBatch, MSMAllPipelineBatch and DeDriftandResamplePipelineBatch files and the questions.


******************************************* IcaFixProcessingBatch.sh******************************************
# set list of fMRI on which to run ICA+FIX, separate MR FIX groups with %, use spaces (or @ like dedrift...) to otherwise separate runs
# the MR FIX groups determine what gets concatenated before doing ICA
# the groups can be whatever you want, you can make a day 1 group and a day 2 group, or just concatenate everything, etc
fMRINames="tfMRI_1_AP@tfMRI_2_PA@tfMRI_3_AP@tfMRI_4_PA@tfMRI_5_AP@tfMRI_6_PA@tfMRI_7_AP@tfMRI_8_PA"

# If you wish to run "multi-run" (concatenated) FIX, specify the names to give the concatenated output files
# In this case, all the runs included in ${fMRINames} become the input to multi-run FIX
# Otherwise, leave ConcatNames empty (in which case "single-run" FIX is executed serially on each run in ${fMRINames})
ConcatNames="tfMRI_ALL_8_runs"  ## Use space (or @) to separate concatenation groups

# set temporal highpass full-width (2*sigma) to use, in seconds, cannot be 0 for single-run FIX
bandpass=2000
# MR FIX also supports 0 for a linear detrend, or "pdX" for a polynomial detrend of order X
# e.g., bandpass=pd1 is linear detrend (functionally equivalent to bandpass=0)
# bandpass=pd2 is a quadratic detrend
bandpass=0 #comment out for single run FIX and use above line for bandpass=2000

%% ( Question 1 ) Is it a better idea to use bandpass = 0 or bandpass = 2000? I think you have mentioned in previous steps that 0 is okay. Can using 2000 be helpful? 

# set whether or not to regress motion parameters (24 regressors)
# out of the data as part of FIX (TRUE or FALSE)
domot=FALSE

******************************************* PostFixBatch.sh******************************************
# List of fMRI runs
# If running on output from multi-run FIX, use ConcatName as value for fMRINames
fMRINames="tfMRI_ALL_8_runs"

HighPass="2000"

ReUseHighPass="YES" #Use YES if running on output from multi-run FIX, otherwise use NO
******************************************* MSMAllPipelineBatch.sh ***************************************
# fMRINames is for single-run FIX data, set MR FIX settings to empty
fMRINames=""
# the original MR FIX parameter for what to concatenate
mrfixNames="tfMRI_1_AP@tfMRI_2_PA@tfMRI_3_AP@tfMRI_4_PA@tfMRI_5_AP@tfMRI_6_PA@tfMRI_7_AP@tfMRI_8_PA"
# the original MR FIX concatenated name
mrfixConcatName="tfMRI_ALL_8_runs"

# @-separate list of runs to use
mrfixNamesToUse="tfMRI_1_AP@tfMRI_2_PA@tfMRI_3_AP@tfMRI_4_PA@tfMRI_5_AP@tfMRI_6_PA@tfMRI_7_AP@tfMRI_8_PA"
OutfMRIName="OUT_MSMALL_CONCAT" %% (Question number 2 ) The name for OutfMRIName can be arbitrary, right?

HighPass="2000"
fMRIProcSTRING="_Atlas_hp2000_clean"
MSMAllTemplates="${HCPPIPEDIR}/global/templates/MSMAll"
HighResMesh="164"
LowResMesh="32"
InRegName="MSMSulc"
MatlabMode="1"
***************************************DeDriftAndResamplePipelineBatch.sh***************************************
HighResMesh="164"
LowResMesh="32"
RegName="MSMAll_InitalReg_2_d40_WRN" %%% (Question number 3) Should I change this name? I saw that you have mentioned in the previous posts that Regname should match the output of MSMAll. I am a little bit confused about what it should exactly be in this setup?
DeDriftRegFiles="${HCPPIPEDIR}/global/templates/MSMAll/DeDriftingGroup.L.sphere.DeDriftMSMAll.164k_fs_LR.surf.gii@${HCPPIPEDI>
ConcatRegName="MSMAll_Test" %% (Question number 4 ) The name for ConcatRegFiles can be arbitrary, right?
Maps="sulc curvature corrThickness thickness"
MyelinMaps="MyelinMap SmoothedMyelinMap" #No _BC, this will be reapplied
MRFixConcatNames="NONE"
MRFixNames="NONE"
fixNames="tfMRI_1_AP tfMRI_2_PA tfMRI_3_AP tfMRI_4_PA tfMRI_5_AP tfMRI_6_PA tfMRI_7_AP tfMRI_8_PA " #Space delimited list or NONE
dontFixNames="NONE"
SmoothingFWHM="2" #Should equal previous grayordinates smoothing (because we are resampling from unsmoothed native mesh timeseries)
HighPass="2000"

%% (Question number 5 )  The Output file of MAMAll would have this name: OutfMRIName="OUT_MSMALL_CONCAT", right? Should  not we use this name somewhere in the DeDrift Batch file?

%%%( Question number 6) I am doing this analysis, and my ultimate goal would be having 8 cleaned timeseries for a subject, so that I can use those dtseries to find task-related activation,  Is the above mentioned setup enough?

%%% ( Question  number 7) Is it necessary to run tICA batch files? Should I also run them before task analysis?


Thank you so much for your time and consideration, it is highly appreciated.

Regards,
Asa Farahani



Glasser, Matt

unread,
May 30, 2022, 8:58:29 PM5/30/22
to hcp-...@humanconnectome.org
  1. bandpass=0 is much faster.
  2. Yes.
  3. I would leave it.
  4. Yes.
  5. Sounds like you aren’t interested in this.
  6. That should be produced after MR+FIX cleanup and MSMAll alignment.
  7. In the end yes, but tICA for users is still pretty experimental.

Asa Borzabadi

unread,
May 31, 2022, 9:02:04 AM5/31/22
to hcp-...@humanconnectome.org
Thank you so much for the clarification. 

It is highly appreciated.

Regards,
Asa Farahani

Asa Borzabadi

unread,
Jun 3, 2022, 3:25:39 PM6/3/22
to hcp-...@humanconnectome.org
Hi,

Just to confirm, when using bandpass = "0" in IcaFixProcessingBatch.sh.

We should change the following parts of the scripts from "2000" to "0" as well, right?

Thank you so much.

82fMRINames="rfMRI_REST1_LR rfMRI_REST1_RL rfMRI_REST2_LR rfMRI_REST2_RL"
83
84HighPass="2000" --> change to 0
85ReUseHighPass="NO" #Use YES if running on output from multi-run FIX, otherwise use NO

92#mrfixNamesToUse="rfMRI_REST1_RL@rfMRI_REST1_LR@rfMRI_REST2_LR@rfMRI_REST2_RL"
93#OutfMRIName="rfMRI_REST_CONCAT"
94
95
96HighPass="2000" --> change to 0
97fMRIProcSTRING="_Atlas_hp2000_clean" --> change to _Atlas_hp0_clean
98MSMAllTemplates="${HCPPIPEDIR}/global/templates/MSMAll"
SmoothingFWHM="2" #Should equal previous grayordinates smoothing (because we are resampling from unsmoothed native mesh timeseries)
94HighPass="2000" --> change to 0
95MotionRegression=FALSE
 
Hi,

Just to confirm, when using bandpass = "0" in IcaFixProcessingBatch.sh.

We should change the following parts of the scripts from 1000 to 0 as well, right?

82fMRINames="rfMRI_REST1_LR rfMRI_REST1_RL rfMRI_REST2_LR rfMRI_REST2_RL"
83
84HighPass="2000"
85ReUseHighPass="NO" #Use YES if running on output from multi-run FIX, otherwise use NO

92#mrfixNamesToUse="rfMRI_REST1_RL@rfMRI_REST1_LR@rfMRI_REST2_LR@rfMRI_REST2_RL"
93#OutfMRIName="rfMRI_REST_CONCAT"
94
95
96HighPass="2000"
97fMRIProcSTRING="_Atlas_hp2000_clean"
98MSMAllTemplates="${HCPPIPEDIR}/global/templates/MSMAll"
SmoothingFWHM="2" #Should equal previous grayordinates smoothing (because we are resampling from unsmoothed native mesh timeseries)
94HighPass="2000"
95MotionRegression=FALSE
 

Harms, Michael

unread,
Jun 3, 2022, 4:21:48 PM6/3/22
to hcp-...@humanconnectome.org

 

Yes, you want to change the HighPass settting in the other batch scripts to match.

 

-- 

Michael Harms, Ph.D.

-----------------------------------------------------------

Associate Professor of Psychiatry

Washington University School of Medicine

Department of Psychiatry, Box 8134

660 South Euclid Ave.                        Tel: 314-747-6173

St. Louis, MO  63110                          Email: mha...@wustl.edu

 

From: Asa Borzabadi <asa.bo...@gmail.com>
Reply-To: "hcp-...@humanconnectome.org" <hcp-...@humanconnectome.org>
Date: Friday, June 3, 2022 at 2:26 PM
To: "hcp-...@humanconnectome.org" <hcp-...@humanconnectome.org>
Subject: Re: [hcp-users] Multi-run- or Single-run ICA

 

* External Email - Caution *

Asa Borzabadi

unread,
Jun 4, 2022, 10:53:09 PM6/4/22
to hcp-...@humanconnectome.org
To avoid any confusion for users in the future who might refer to this thread, I have uploaded my modified version (and also I have asked two questions).

First, the variable named ConcatNames in IcaFixProcessingBatch, fMRINames in PostFixBatch, mrfixConcatName in MSMAllPipelineBatch, and finally MRFixConcatNames in DeDriftAndResamplePipelineBatch are all named the same: tfMRI_VSION_Concat, this is how it is supposed to be, right?

Second, I still do not understand something, in the MSMAllPipelineBatch when I have called the OutfMRIName variable as "fMRI_VISION_CONCAT_after_MAMAll", I see no usage of this name in the later scripts ( DeDriftAndResamplePipelineBatch, etc.), Why is it so? Am I missing something?

Best Regards,

 
IcaFixProcessingBatch:
        fMRINames="tfMRI_VISION1_AP@tfMRI_VISION1_PA@tfMRI_VISION2_AP@tfMRI_VISION2_PA@tfMRI_VISION3_AP@tfMRI_VISION3_PA"
        ConcatNames="tfMRI_VISION_Concat"  ## Use space (or @) to separate concatenation groups
        bandpass=0 
        domot=FALSE
        # set training data file
        SRTrainingData=HCP_hp2000.RData
        MRTrainingData=HCP_Style_Single_Multirun_Dedrift.RData
PostFIxBatch:
# If running on output from multi-run FIX, use ConcatName as value for fMRINames
fMRINames="tfMRI_VISION_Concat"
HighPass="0"
ReUseHighPass="YES" #Use YES if running on output from multi-run FIX, otherwise use NO
MSMAllPipelineBatch:
# For MR FIX, set fMRINames to empty

fMRINames=""
# the original MR FIX parameter for what to concatenate
mrfixNames="tfMRI_VISION1_AP@tfMRI_VISION1_PA@tfMRI_VISION2_AP@tfMRI_VISION2_PA@tfMRI_VISION3_AP@tfMRI_VISION3_PA"
# the original MR FIX concatenated name
mrfixConcatName="tfMRI_VISION_Concat"

# @-separate list of runs to use
mrfixNamesToUse="tfMRI_VISION1_AP@tfMRI_VISION1_PA@tfMRI_VISION2_AP@tfMRI_VISION2_PA@tfMRI_VISION3_AP@tfMRI_VISION3_PA"
OutfMRIName="fMRI_VISION_CONCAT_after_MAMAll"

HighPass="0"
fMRIProcSTRING="_Atlas_hp0_clean"
MSMAllTemplates="${HCPPIPEDIR}/global/templates/MSMAll"
RegName="MSMAll_InitalReg"
DeDriftandResamplePipelineBatch:
RegName="MSMAll_InitalReg_2_d40_WRN"
DeDriftRegFiles="${HCPPIPEDIR}/global/templates/MSMAll/DeDriftingGroup.L.sphere.DeDriftMSMAll.164k_fs_LR.surf.gii@${HCP>
ConcatRegName="MSMAll_Test"
Maps="sulc curvature corrThickness thickness"
MyelinMaps="MyelinMap SmoothedMyelinMap" #No _BC, this will be reapplied
MRFixConcatNames="tfMRI_VISION_Concat"
MRFixNames="tfMRI_VISION1_AP@tfMRI_VISION1_PA@tfMRI_VISION2_AP@tfMRI_VISION2_PA@tfMRI_VISION3_AP@tfMRI_VISION3_PA@tfMRI>fixNames="NONE" #Space delimited list or NONE
#fixNames="rfMRI_REST1_LR" #Space delimited list or NONE
#dontFixNames="tfMRI_WM_LR tfMRI_WM_RL tfMRI_GAMBLING_LR tfMRI_GAMBLING_RL tfMRI_MOTOR_LR tfMRI_MOTOR_RL tfMRI_LANGUAGE>dontFixNames="NONE"
SmoothingFWHM="2" #Should equal previous grayordinates smoothing (because we are resampling from unsmoothed native mesh>HighPass="0"
MotionRegression=FALSE

Glasser, Matt

unread,
Jun 5, 2022, 11:25:51 AM6/5/22
to hcp-...@humanconnectome.org

Yes that is correct. 

 

OutfMRIName is for if you are selecting only some of the MR+FIX runs for MSMAll (e.g., if you mixed resting state and task in MR+FIX, but want to use only resting state to drive MSMAll registration).  This is an intermediate file only. 

Asa Borzabadi

unread,
Jun 6, 2022, 11:38:35 AM6/6/22
to hcp-...@humanconnectome.org
Thank you so much for the explanation. 


Reply all
Reply to author
Forward
0 new messages