Fmriprep: fieldmap present but ignored

Hi,

I tried out fmriprep on a single subject’s dataset (using singularity, version 1.0.0-rc8), and it gave me the following warning for each functional run:
“workflow WARNING: No fieldmaps found or they were ignored, building base workflow for dataset”

I have fieldmap (phasediff, magnitude1 and magnitude2) and the dataset passed the BIDS validator (using the online version, fieldmap was explicitly listed there as an available modality). Any ideas what might have gone wrong? I am new to BIDS and fmriprep, so it might be something trivial…

I uploaded the fieldmaps (in sub-sid000522/fmap/), the fmriprep output log and the html report here:
https://drive.google.com/open?id=1ulisw2BEebaHAn-ax2udrmZumPT2mPZ-

Apart from this issue, fmriprep worked as expected. This tool is great, thanks to all its developers / contributors!

best,
adam

Hi,

You need to specify “IntendedFor” field in the _phasediff.json files to point which scans the estimated fieldmap should be applied to.

In the future FMRIPREP might switch to applying fieldmaps to all runs if the IntendedFor field is missing. See discussion at https://github.com/poldracklab/fmriprep/issues/783#issuecomment-338341237

More on the “IntendedFor” field can be found in section 8.9 of the spec. You should also use the validator to check if the field is specified correctly.

1 Like

Thank you for the quick reply, it is running fine now

1 Like

Hi, Chris,

I also encoutered this problem when using fmriprep:1.3.1.

I searched online, it seemed that heudiconv didn’t included “intendedFor” in the json files yet (https://github.com/nipy/heudiconv/issues/138).

Not sure for current version of fmriprep, the solution as you suggested here (
https://github.com/poldracklab/fmriprep/issues/774#issuecomment-338303505) implemented or not?

to create a robust average for all available fieldmaps (for each subject independently) and apply it to all BOLD runs (ignoring “IntendedFor” field even if it is present)

But if I remember correctly, you said something similar on twitter:https://twitter.com/chrisfilog/status/969387288818929669?lang=en

It is not. Feel free to post a feature request for it, we will try to address it whenever we can (or you can get it done yourself, send us a PR! :wink: )

I think you are right, this is still the case. You’d need to do it manually.

1 Like

I think there is already an issue open for this: https://github.com/poldracklab/fmriprep/issues/783

2 Likes

Thanks you both @oesteban @ChrisGorgolewski !

Seems that the final solution will depend on issue 474, which is closed :joy::joy:, here is the directed link between these issues:

Screenshot%20from%202019-03-21%2023-33-33

https://github.com/poldracklab/fmriprep/issues/958; https://github.com/poldracklab/fmriprep/issues/783; https://github.com/poldracklab/fmriprep/issues/774; https://github.com/poldracklab/fmriprep/issues/747;

Maybe this time I just try to add IntendedFor manually.

But I am really curious about the gif in this tweet: https://twitter.com/chrisfilog/status/969387288818929669?lang=en. Is there some example code for doing that?

This is a GIF created from recording HTML report created by FMRIPREP with the --use-syn-sdc option of doing susceptibility correction without the need for fieldmaps. More info at https://fmriprep.readthedocs.io/en/stable/api/index.html#sdc-fieldmapless

1 Like