Thanks, the script is attached. Also the directory structure is after the
script.
#!/bin/bash
get_batch_options() {
local arguments=($@)
unset command_line_specified_study_folder
unset command_line_specified_subj_list
unset command_line_specified_run_local
local index=0
local numArgs=${#arguments[@]}
local argument
while [ ${index} -lt ${numArgs} ]; do
argument=${arguments[index]}
case ${argument} in
--StudyFolder=*)
command_line_specified_study_folder=${argument/*=/""}
index=$(( index + 1 ))
;;
--Subjlist=*)
command_line_specified_subj_list=${argument/*=/""}
index=$(( index + 1 ))
;;
--runlocal)
command_line_specified_run_local="TRUE"
index=$(( index + 1 ))
;;
esac
done
}
get_batch_options $@
StudyFolder="/home/pipeline/onrc/data/pipeline/S3777AUX/4/HCPfMRI-dominoSkyra"
Subjlist="analysis"
EnvironmentScript="/opt/HCP/HCP/Examples/Scripts/SetUpHCPPipeline.sh"
if [ -n "${command_line_specified_study_folder}" ]; then
StudyFolder="${command_line_specified_study_folder}"
fi
if [ -n "${command_line_specified_subj_list}" ]; then
Subjlist="${command_line_specified_subj_list}"
fi
# Requirements for this script
# installed versions of: FSL (version 5.0.6), FreeSurfer (version 5.3.0-HCP) ,
gradunwarp (HCP version 1.0.1)
# environment: FSLDIR , FREESURFER_HOME , HCPPIPEDIR , CARET7DIR , PATH (for
gradient_unwarp.py)
#Set up pipeline environment variables and software
. ${EnvironmentScript}
# Log the originating call
echo "$@"
#if [ X$SGE_ROOT != X ] ; then
QUEUE="-q long.q"
#fi
PRINTCOM=""
#PRINTCOM="echo"
#QUEUE="-q veryshort.q"
########################################## INPUTS
##########################################
#Scripts called by this script do NOT assume anything about the form of the
input names or paths.
#This batch script assumes the HCP raw data naming convention, e.g. for
tfMRI_EMOTION_LR and tfMRI_EMOTION_RL:
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_LR/${Subject}_3T_tfMRI_EMOTION_LR.nii.gz
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_LR/${Subject}_3T_tfMRI_EMOTION_LR_SBRef.nii.gz
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_RL/${Subject}_3T_tfMRI_EMOTION_RL.nii.gz
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_RL/${Subject}_3T_tfMRI_EMOTION_RL_SBRef.nii.gz
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_LR/${Subject}_3T_SpinEchoFieldMap_LR.nii.gz
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_LR/${Subject}_3T_SpinEchoFieldMap_RL.nii.gz
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_RL/${Subject}_3T_SpinEchoFieldMap_LR.nii.gz
#
${StudyFolder}/${Subject}/unprocessed/3T/tfMRI_EMOTION_RL/${Subject}_3T_SpinEchoFieldMap_RL.nii.gz
#Change Scan Settings: Dwelltime, FieldMap Delta TE (if using), and
$PhaseEncodinglist to match your images
#These are set to match the HCP Protocol by default
#If using gradient distortion correction, use the coefficents from your scanner
#The HCP gradient distortion coefficents are only available through Siemens
#Gradient distortion in standard scanners like the Trio is much less than for
the HCP Skyra.
#To get accurate EPI distortion correction with TOPUP, the flags in
PhaseEncodinglist must match the phase encoding
#direction of the EPI scan, and you must have used the correct images in
SpinEchoPhaseEncodeNegative and Positive
#variables. If the distortion is twice as bad as in the original images, flip
either the order of the spin echo
#images or reverse the phase encoding list flag. The pipeline expects you to
have used the same phase encoding
#axis in the fMRI data as in the spin echo field map data (x/-x or y/-y).
######################################### DO WORK
##########################################
Tasklist=" domino0 domino1 domino2 domino3"
PhaseEncodinglist="y y-"
for Subject in $Subjlist ; do
echo $Subject
i=1
for fMRIName in $Tasklist ; do
echo " ${fMRIName}"
UnwarpDir=`echo $PhaseEncodinglist | cut -d " " -f $i`
fMRITimeSeries="${StudyFolder}/${Subject}/unprocessed/3T/${fMRIName}/${Subject}_3T_${fMRIName}.nii.gz"
fMRISBRef="${StudyFolder}/${Subject}/unprocessed/3T/${fMRIName}/${Subject}_3T_${fMRIName}_SBRef.nii.gz"
#A single band reference image (SBRef) is recommended if using multiband, set
to NONE if you want to use the first volume of the timeseries for motion
correction
DwellTime="0.00055" #Echo Spacing or Dwelltime of fMRI image, set to NONE
if not used. Dwelltime = 1/(BandwidthPerPixelPhaseEncode * # of phase encoding
samples): DICOM field (0019,1028) = BandwidthPerPixelPhaseEncode, DICOM field
(0051,100b) AcquisitionMatrixText first value (# of phase encoding samples).
On Siemens, iPAT/GRAPPA factors have already been accounted for.
DistortionCorrection="TOPUP" #FIELDMAP or TOPUP, distortion correction is
required for accurate processing
SpinEchoPhaseEncodeNegative="${StudyFolder}/${Subject}/unprocessed/3T/${fMRIName}/${Subject}_3T_SpinEchoFieldMap_LR.nii.gz"
#For the spin echo field map volume with a negative phase encoding direction
(LR in HCP data, AP in 7T HCP data), set to NONE if using regular FIELDMAP
SpinEchoPhaseEncodePositive="${StudyFolder}/${Subject}/unprocessed/3T/${fMRIName}/${Subject}_3T_SpinEchoFieldMap_RL.nii.gz"
#For the spin echo field map volume with a positive phase encoding direction
(RL in HCP data, PA in 7T HCP data), set to NONE if using regular FIELDMAP
MagnitudeInputName="${StudyFolder}/${Subject}/unprocessed/3T/T1w_MPR1/${Subject}_3T_FieldMap_Magnitude.nii.gz"
#Expects 4D magitude volume with two 3D timepoints or "NONE" if not used
PhaseInputName="${StudyFolder}/${Subject}/unprocessed/3T/T1w_MPR1/${Subject}_3T_FieldMap_Phase.nii.gz"
#Expects 3D phase difference volume or "NONE" if not used
DeltaTE="NONE" #2.46ms for 3T, 1.02ms for 7T, set to NONE if using TOPUP
FinalFMRIResolution="3" #Target final resolution of fMRI data. 2mm is
recommended for 3T HCP data, 1.6mm for 7T HCP data (i.e. should match acquired
resolution). Use 2.0 or 1.0 to avoid standard FSL templates
#GradientDistortionCoeffs="${HCPPIPEDIR_Config}/coeff_SC72C_Skyra.grad"
#Gradient distortion correction coefficents, set to NONE to turn off
GradientDistortionCoeffs="/opt/HCP/coeff_AS098.grad"
TopUpConfig="${HCPPIPEDIR_Config}/b02b0.cnf" #Topup config if using TOPUP,
set to NONE if using regular FIELDMAP
if [ -n "${command_line_specified_run_local}" ] ; then
echo "About to run
${HCPPIPEDIR}/fMRIVolume/GenericfMRIVolumeProcessingPipeline.sh"
queuing_command=""
else
echo "About to use fsl_sub to queue or run
${HCPPIPEDIR}/fMRIVolume/GenericfMRIVolumeProcessingPipeline.sh"
queuing_command="${FSLDIR}/bin/fsl_sub ${QUEUE}"
fi
${queuing_command}
${HCPPIPEDIR}/fMRIVolume/GenericfMRIVolumeProcessingPipeline.sh \
--path=$StudyFolder \
--subject=$Subject \
--fmriname=$fMRIName \
--fmritcs=$fMRITimeSeries \
--fmriscout=$fMRISBRef \
--SEPhaseNeg=$SpinEchoPhaseEncodeNegative \
--SEPhasePos=$SpinEchoPhaseEncodePositive \
--fmapmag=$MagnitudeInputName \
--fmapphase=$PhaseInputName \
--echospacing=$DwellTime \
--echodiff=$DeltaTE \
--unwarpdir=$UnwarpDir \
--fmrires=$FinalFMRIResolution \
--dcmethod=$DistortionCorrection \
--gdcoeffs=$GradientDistortionCoeffs \
--topupconfig=$TopUpConfig \
--printcom=$PRINTCOM
# The following lines are used for interactive debugging to set the
positional parameters: $1 $2 $3 ...
echo "set -- --path=$StudyFolder \
--subject=$Subject \
--fmriname=$fMRIName \
--fmritcs=$fMRITimeSeries \
--fmriscout=$fMRISBRef \
--SEPhaseNeg=$SpinEchoPhaseEncodeNegative \
--SEPhasePos=$SpinEchoPhaseEncodePositive \
--fmapmag=$MagnitudeInputName \
--fmapphase=$PhaseInputName \
--echospacing=$DwellTime \
--echodiff=$DeltaTE \
--unwarpdir=$UnwarpDir \
--fmrires=$FinalFMRIResolution \
--dcmethod=$DistortionCorrection \
--gdcoeffs=$GradientDistortionCoeffs \
--topupconfig=$TopUpConfig \
--printcom=$PRINTCOM"
echo ". ${EnvironmentScript}"
i=$(($i+1))
done
done
/analysis/unprocessed/3T/T1w_MPR1/analysis_3T_FieldMap_Magnitude.nii.gz
Nov 24, 2014 14:10:03 rwxrwxrwx 490,268
/analysis/unprocessed/3T/T1w_MPR1/analysis_3T_FieldMap_Phase.nii.gz Nov
24, 2014 14:10:03 rwxrwxrwx 500,252
/analysis/unprocessed/3T/T1w_MPR1/analysis_3T_T1w_MPR1.nii.gz Nov 24, 2014
14:10:03 rwxrwxrwx 13,474,708
/analysis/unprocessed/3T/T1w_MPR2/analysis_3T_T1w_MPR2.nii.gz Nov 24, 2014
14:10:04 rwxrwxrwx 13,446,820
/analysis/unprocessed/3T/T1w_MPR3/analysis_3T_T1w_MPR3.nii.gz Nov 24, 2014
14:10:04 rwxrwxrwx 13,432,074
/analysis/unprocessed/3T/T1w_MPR4/analysis_3T_T1w_MPR4.nii.gz Nov 24, 2014
14:10:05 rwxrwxrwx 13,393,346
/analysis/unprocessed/3T/T1w_MPR5/analysis_3T_T1w_MPR5.nii.gz Nov 24, 2014
14:10:05 rwxrwxrwx 13,398,238
/analysis/unprocessed/3T/T2w_SPC1/analysis_3T_T2w_SPC1.nii.gz Nov 24,
2014 14:10:06 rwxrwxrwx 8,551,575
/analysis/unprocessed/3T/domino0/analysis_3T_SpinEchoFieldMap_LR.nii.gz Dec
9, 2014 15:52:11 rwxr-xr-x 1,119,399
/analysis/unprocessed/3T/domino0/analysis_3T_SpinEchoFieldMap_RL.nii.gz Dec
9, 2014 15:52:11 rwxr-xr-x 1,127,080
/analysis/unprocessed/3T/domino0/analysis_3T_domino0.nii.gz Dec 9,
2014 15:51:37 rwxr-xr-x 486,903,684
/analysis/unprocessed/3T/domino0/analysis_3T_domino0_SBRef.nii.gz
Dec 9, 2014 15:52:10 rwxr-xr-x 446,348
/analysis/unprocessed/3T/domino1/analysis_3T_SpinEchoFieldMap_LR.nii.gz Dec
9, 2014 15:52:11 rwxr-xr-x 1,119,399
/analysis/unprocessed/3T/domino1/analysis_3T_SpinEchoFieldMap_RL.nii.gz Dec
9, 2014 15:52:11 rwxr-xr-x 1,127,080
/analysis/unprocessed/3T/domino1/analysis_3T_domino1.nii.gz Dec 9,
2014 15:51:46 rwxr-xr-x 488,162,639
/analysis/unprocessed/3T/domino1/analysis_3T_domino1_SBRef.nii.gz
Dec 9, 2014 15:52:11 rwxr-xr-x 447,898
/analysis/unprocessed/3T/domino2/analysis_3T_SpinEchoFieldMap_LR.nii.gz Dec
9, 2014 15:52:11 rwxr-xr-x 1,119,399
/analysis/unprocessed/3T/domino2/analysis_3T_SpinEchoFieldMap_RL.nii.gz Dec
9, 2014 15:52:11 rwxr-xr-x 1,127,080
/analysis/unprocessed/3T/domino2/analysis_3T_domino2.nii.gz Dec 9,
2014 15:51:58 rwxr-xr-x 486,336,577
/analysis/unprocessed/3T/domino2/analysis_3T_domino2_SBRef.nii.gz
Dec 9, 2014 15:52:11 rwxr-xr-x 447,153
/analysis/unprocessed/3T/domino3/analysis_3T_SpinEchoFieldMap_LR.nii.gz Dec
9, 2014 15:52:11 rwxr-xr-x 1,119,399
/analysis/unprocessed/3T/domino3/analysis_3T_SpinEchoFieldMap_RL.nii.gz Dec
9, 2014 15:52:12 rwxr-xr-x 1,127,080
/analysis/unprocessed/3T/domino3/analysis_3T_domino3.nii.gz Dec 9,
2014 15:52:10 rwxr-xr-x 484,561,229
/analysis/unprocessed/3T/domino3/analysis_3T_domino3_SBRef.nii.gz
Dec 9, 2014 15:52:11 rwxr-xr-x 445,265
From: Glasser, Matthew [mailto:[email protected]]
Sent: Tuesday, December 09, 2014 2:43 PM
To: Book, Gregory; [email protected]
Subject: Re: [HCP-Users] error when processing more than 2 tasks with
GenericfMRIVolume script
Can you post the text of your launcher script? Only one task is run at a time
inside the pipeline, so the issue will be there.
Peace,
Matt.
From: <Book>, Gregory
<[email protected]<mailto:[email protected]>>
Date: Tuesday, December 9, 2014 at 12:29 PM
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Subject: [HCP-Users] error when processing more than 2 tasks with
GenericfMRIVolume script
We've run into a weird problem when using the GenericfMRIVolume batch script to
process more than 2 tasks at a time. When we setup any more than 2 tasks (we've
tried 3 and 4 tasks), the first 2 run correctly and without error, but any
after that crash in the TopUp section with the following error (the failed
tasks all get to the same point):
# RUN TOPUP
# Needs FSL (version 5.0.6)
${FSLDIR}/bin/topup --imain=${WD}/BothPhases --datain=$txtfname
--config=${TopupConfig} --out=${WD}/Coefficents --iout=${WD}/Magnitudes
--fout=${WD}/TopupField --dfout=${WD}/WarpField --rbmout=${WD}/MotionMatrix
--jacout=${WD}/Jacobian -v
Could not open matrix file
/home/pipeline/onrc/data/pipeline/S8931EBN/2/HCPfMRI-SMARTTEST/analysis/shop1/DistortionCorrectionAndEPIToT1wReg_FLIRTBBRAndFreeSurferBBRbased/FieldMap/acqparams.txt
Part of FSL (build 506)
topup
Usage:
topup --imain= --datain= --config= --coutname=my_field
Compulsory arguments (You MUST set one or more of):
--imain name of 4D file with images
--datain name of text file with PE
directions/times
Optional arguments (You may optionally specify one or more of):
--out base-name of output files (spline
coefficients (Hz) and movement parameters)
--fout name of image file with field (Hz)
--iout name of 4D image file with unwarped
images
--logout Name of log-file
--warpres (approximate) resolution (in mm) of warp
basis for the different sub-sampling levels, default 10
--subsamp sub-sampling scheme, default 1
--fwhm FWHM (in mm) of gaussian smoothing
kernel, default 8
--config Name of config file specifying command
line arguments
--miter Max # of non-linear iterations,
default 5
--lambda Weight of regularisation, default
depending on --ssqlambda and --regmod switches. See user documetation.
--ssqlambda If set (=1), lambda is weighted by current
ssq, default 1
--regmod Model for regularisation of warp-field
[membrane_energy bending_energy], default bending_energy
--estmov Estimate movements if set, default 1 (true)
--minmet Minimisation method 0=Levenberg-Marquardt,
1=Scaled Conjugate Gradient, default 0 (LM)
--splineorder Order of spline, 2->Qadratic spline, 3->Cubic
spline. Default=3
--numprec Precision for representing Hessian, double
or float. Default double
--interp Image interpolation model, linear or
spline. Default spline
--scale If set (=1), the images are
individually scaled to a common mean, default 0 (false)
--regrid If set (=1), the calculations are done
in a different grid, default 1 (true)
-h,--help display help info
-v,--verbose Print diagonostic information while running
-h,--help display help info
TopupFileIO:: msg=TopupDatafileReader:: error reading file
/home/pipeline/onrc/data/pipeline/S8931EBN/2/HCPfMRI-SMARTTEST/analysis/shop1/DistortionCorrectionAndEPIToT1wReg_FLIRTBBRAndFreeSurferBBRbased/FieldMap/acqparams.txt
set -- --path=/home/pipeline/onrc/data/pipeline/S8931EBN/2/HCPfMRI-SMARTTEST
--subject=analysis --fmriname=shop1
--fmritcs=/home/pipeline/onrc/data/pipeline/S8931EBN/2/HCPfMRI-SMARTTEST/analysis/unprocessed/3T/shop1/analysis_3T_shop1.nii.gz
--fmriscout=/home/pipeline/onrc/data/pipeline/S8931EBN/2/HCPfMRI-SMARTTEST/analysis/unprocessed/3T/shop1/analysis_3T_shop1_SBRef.nii.gz
--SEPhaseNeg=/home/pipeline/onrc/data/pipeline/S8931EBN/2/HCPfMRI-SMARTTEST/analysis/unprocessed/3T/shop1/analysis_3T_SpinEchoFieldMap_LR.nii.gz
--SEPhasePos=/home/pipeline/onrc/data/pipeline/S8931EBN/2/HCPfMRI-SMARTTEST/analysis/unprocessed/3T/shop1/analysis_3T_SpinEchoFieldMap_RL.nii.gz
--fmapmag=NONE --fmapphase=NONE --echospacing=0.00055
--echodiff=NONE --unwarpdir= --fmrires=2 --dcmethod=TOPUP
--gdcoeffs=/opt/HCP/coeff_AS098.grad
--topupconfig=/opt/HCP/HCP/global/config/b02b0.cnf --printcom=
. /opt/HCP/HCP/Examples/Scripts/SetUpHCPPipeline.sh
_________________________________________________
Gregory Book
Senior Technology Manager
Olin Neuropsychiatry Research Center, Institute of Living, Hartford Hospital
200 Retreat Avenue
Hartford, CT 06106
Tel: 860-545-7267 Fax: 860-545-7797
[email protected]<mailto:[email protected]>
http://nidb.sourceforge.net
This e-mail message, including any attachments, is for the sole use of the
intended recipient(s) and may contain confidential and privileged information.
Any unauthorized review, use, disclosure, or distribution is prohibited. If you
are not the intended recipient, or an employee or agent responsible for
delivering the message to the intended recipient, please contact the sender by
reply e-mail and destroy all copies of the original message, including any
attachments.
_______________________________________________
HCP-Users mailing list
[email protected]<mailto:[email protected]>
http://lists.humanconnectome.org/mailman/listinfo/hcp-users
________________________________
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.
_______________________________________________
HCP-Users mailing list
[email protected]
http://lists.humanconnectome.org/mailman/listinfo/hcp-users