Multi - echo pepolar fielmaps in CONN toolbox

Hey guys!

I am barely starting to understand the functional connectivity world as a Phd student doing her thesis on this topic.

I am struggle a bit with the multi-echo pepolar fieldmaps in the conn toolbox. My main issues / doubts:

  1. I couldn’t find how to name the outputs of the topup in BIDS format. I am quite sure what is the output that works as fieldmap but i have been searching and i did not find an answer.

fsl-$ #working directory
fslmerge -t AP_PA.nii.gz sub-101_ses-6_task-rest_dir-AP_fieldmap.nii.gz sub-101_ses-6_task-rest_dir-PA_fieldmap.nii.gz #Use the fslmerge to combine the two fieldmap images (AP and PA) into one 4D file of 6 volumes.
#Create a “acq_param.txt” file with four columns and the same nº of rows than volumes have the merged image (In this case 6, 3 volumes of AP and 3 volumes of PA). The first three columns indicate the phase encode direction, and the fourth is the total readout time (values taken from the .json file). For example:
0 -1 0 .0435005 #correspond to the values from AP json file
0 -1 0 .0435005 #correspond to the values from AP json file
0 -1 0 .0435005 #correspond to the values from AP json file
0 1 0 .0435005 #correspond to the values from PA json file
0 1 0 .0435005 #correspond to the values from PA json file
0 1 0 .0435005 #correspond to the values from PA json file
topup --imain=AP_PA.nii.gz --datain=acq_param.txt --config=b02b0.cnf --out=my_topup_results --fout=my_fieldmap --iout=AP_PA_unwarped #I am not sure about BIDS nomenclature for the fielmaps # it creates the following files:my_fieldmap.nii.gz , AP_PA.topup_log, AP_PA_unwarped.nii.gz , AP_PA_movpar.txt, AP_PA_fieldcoef.nii.gz

  1. This topup function, first merge the AP (3 volumes) and PA images (3 volumes) in a single image .nii from that it creates the fieldmap (6 volumes). My doubt here is that I have seen that some researcher perform a visual inspection in this AP.nii and PA.nii images and eliminates those volumes with worse quality (lower z-smoothness scores) ((distorsion, artifacts). It would be helpful to know your experience and knowledge about this topic. (ref: The developing Human Connectome Project (dHCP) automated resting-state functional processing framework for newborn infants - PubMed)

  2. We are implementing the conn 22a toolbox, as it has a specific setup for the inclusion of the fielmaps to calculate de vdm. We can not appreciate differences between choosing the option “automatically detect it” or “i is a pre-calculated fieldmap”. I have doubts in this step about the bids or the .json because I don’t know if we should determine manually these options or if it already reads it correctly.

  3. However, although I did not get any error, the final result does not convince me (attached image).

Thank you so much and I am at your disposal for anything you may need


University of Granada , Spain

Hi @andreacopu and welcome to neurostars!

Have you considered doing your preprocessing in fmriprep and then importing those results into CONN? CONN should have an fmriprep import option.


Hi Steven!!!

Thank you so much for your quick response. One of phd college is already using fmriprep for the analyses of functional connectivity with an n - back task, but, as another college has already done the whole process but in the resting state condition (same as me) and without fieldmaps in another study, we decided to do it in conn, this time including the fieldmaps, that’s why we are struggling a bit.

Anyway, I’ll consider your suggestion,

Thanks again,



Hi @andreacopu ,

I may be able to help you with this question. In our research platform, we acquire pepolar spin-echo EPI fieldmaps (HCP-style) that we usually feed in BIDS format to fmriprep. It happens however that researchers want to preprocess their data through SPM (same preprocessing functions as CONN) . In that case, we do run a similar script as you wrote, calling topup to create an explicit fieldmap to be used in SPM “calculate VDM” function with the option “Precalculated FieldMap (in Hz)” .
The output I add in the fmap/ folder, in addition to the original SUB_dir-AP_epi{.nii.gz/.json} and SUB_dir-PA_epi{.nii.gz/.json} files are:

  • SUB_fieldmap.nii.gz ( renaming the output file coming from --fout)
  • SUB_fieldmap.json ( copying the content of the file SUB_dir-PA_epi.json and adding to it the tag: "Units": "Hz")
  • SUB_magnitude.nii.gz ( renaming the output file coming from --iout)
    (Following BIDS specification for case 3: Direct field mapping)

This is implemented also in the HCPPipeline and in QSIPREP, but in both cases, it is about to DWI preprocessing. The rationale is to run topup faster by providing a fewer number of volumes as input and to be more robust with respect to the case where there is a sudden motion of the subject that deteriorates dramatically one of the SE-EPI volumes (with b=0) - used for SDC correction. In our case we keep the 6 volumes as input of topup.

I do not have experience with CONN, but from what I know from SPM, I would choose : “ is a pre-calculated fieldmap”.

To assess the quality of correction of the SDC step I would rather focus on the brain itself and look if the deformation induced by SDC corrected is going in the direction you expect. Then I would look after linear registration to the anatomical image of the same subject if the EPI image and the anatomical image have a good overlap.

1 Like

Thank you so much for your super complete response! It was so helpful to continue with the following steps in the analyses :grin:

1 Like