Yes it is the EPI phase encoding direction.  The positive and negative phase encoding directions are conventional (see the notes next to the variables for the convention).  Basically, you want them in the order that produces a field map whose signs look like a regular field map (as opposed to looking the opposite of it).  Then all that remains is to specify the EPI phase encoding direction.  If you were to reverse the spin echo image order, you would also have to reverse the EPI phase encoding direction (then the correction would still work fine, but the topup field map would not have the same +/- convention as a regular field map.

Peace,

Matt.

From: <Book>, Gregory <[email protected]>
Date: Tuesday, December 9, 2014 at 2:49 PM
To: Matt Glasser <[email protected]>, "[email protected]" <[email protected]>
Cc: "Brown, Tim" <[email protected]>
Subject: RE: [HCP-Users] error when processing more than 2 tasks with GenericfMRIVolume script

So the phase encoding list corresponds to the EPI encoding direction, not the spin echo direction. How does TopUp know the encoding directions of the spin echos? Does it assume the positive image is the same encoding direction as the EPI and the negative image is the opposite direction?

 

From: Glasser, Matthew [mailto:[email protected]]
Sent: Tuesday, December 09, 2014 3:33 PM
To: Book, Gregory; [email protected]
Cc: Brown, Tim
Subject: Re: [HCP-Users] error when processing more than 2 tasks with GenericfMRIVolume script

 

You need to expand the PhaseEncodinglist variable to have the same length as the Tasklist variable (i.e. same number of elements separated by spaces).  This probably should be made clearer in the comments for these variables.  

 

Peace,

 

Matt.

 

From: <Book>, Gregory <[email protected]>
Date: Tuesday, December 9, 2014 at 2:19 PM
To: Matt Glasser <[email protected]>, "[email protected]" <[email protected]>
Subject: RE: [HCP-Users] error when processing more than 2 tasks with GenericfMRIVolume script

 

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]>
Date: Tuesday, December 9, 2014 at 12:29 PM
To: "[email protected]" <[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]

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]
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.

 


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.

 


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

Reply via email to