Multiple Fieldmaps for multiple runs in afni_proc.py

AFNI version info (afni -ver): Version AFNI_24.2.07 'Macrinus'

Hello!

I have a set of spin echo fieldmaps for every 2 runs and am using afni_procpy. From what I have gathered I can only use one set of fieldmaps in the type of script I am using. I would rather process all my fieldmaps within this one script rather than align my fieldmaps independently and integrate those after in the script to avoid extra steps.
1- Is it possible to use several sets using the blip-reverse/forward and assign them to specific runs?
2- If so, how should I script for afni tounderstand which set applies ot which run?
3- In afni_proc.py script are spin echo fieldmaps treated the same as epi fieldmaps? Mine are spin echo with 3 volumes.

My current script is the following in afni_proc.py:

    -blip_forward_dset $epi_dir/AP1+orig.BRIK'[0..2]'        \
    -blip_reverse_dset $epi_dir/PA1+orig.BRIK'[0..2]' 		\
-dsets \
  $epi_dir/SPARSE1+orig.HEAD \
  $epi_dir/SPARSE2+orig.HEAD \
  $epi_dir/SPARSE3+orig.HEAD \
  $epi_dir/SPARSE4+orig.HEAD \
  $epi_dir/SPARSE5+orig.HEAD \
  $epi_dir/SPARSE6+orig.HEAD \

I look forward to your response. Thank you!

Best,
Aude.

Hi, Aude-

Indeed, at present, the assumption is that a single given field map applies all the provided EPI datasets in an afni_proc.py run. There isn't (currently, at least) a mechanism to apply N field maps across M datasets in various configurations.

I'd have to think a bit more about the assumptions involved about whether it would make the most sense to combine data with different field maps into a given AP run, like in terms of what it would mean to concenate the data within a single model. We do typically have baseline and some other regressors as "per run", but we also generally recommend that a single AP command would have one or more runs from a single session; runs from a different session (where head position might be different, shimming might differ, phase distortions, etc.) would be batched into separate AP commands. It seems like this scenario feels more like combining data from multiple sessions into a given command.

So, Q1 is "no" at present, rendering Q2 moot.

For Q3, what is meant by "fieldmap" here? From the syntax and filenames of what you wrote, it looks like you are actually using volumetric datasets, not what I might call field maps. Just to be sure, the input for -blip_*dset .. options should be actual datasets, like EPI volumes, just with opposite phase encoding. To use field maps, like phase maps, which basically provide maps of phase distortion, one would use -blip_warp_dset DSET_WARP, where DSET_WARP would likely come from running epi_b0_correct.py.

But I am not quite sure what is meant here, so please let me know (putting a snapshot of a slice of the dataset you are referring to might help clarify).

--pt