Can ANTs Registration Parameters Be Changed in FMRIPREP

fmriprep

#1

Hey guys:
Hope your 2019 is going well so far; keeping with my pattern of posts I’ve got another weird one for you. Please stick with my backstory for a sec.

I’m trying to get my cog neuro department to transfer from using other preprocessing softwares to using FMRIPREP. As part of my campaign our journal club is going a practical where different groups use different softwares (e.g. FSL, AFNI, FMRIPREP) to process the same data set under different conditions because I basically said FMRIPREP would trounce them all. The conditions are:
A) Adding and removing Slice timing
B) Using different registration parameters (e.g. different T1->MNI dofs and adding or removing nonlinear warping).

My question: I know there is already a flag for slice timing and different flags for the EPI->T1 dofs and bbregistration but is there anyway in FMRIPREP to change other registration parameters for the T1->MNI warp? I’ve been pretty deep into the FMRIPREP pipeline on GitHub and this does not seem to be the case. From my explorations I think a pretty close version to antsRegistrationSynQuick default is used and ideally for the purposes of this “assignment” I’d like to mess around with, for example, removing the ‘syn’ step entirely.

My follow-up question: Given that I don’t think this is an option in FMRIPREP do you happen to know which file in the working directory essentially gets outputted having gone through every step up until this point? So since we’ll be running the default pipeline for this assignment I suppose is there a file that has gone through slice timing and motion correction but NOT registration so I can just take that file and run antsRegistration separately with different parameters to show people the differences?

I want to make clear that I am aware - and will be teaching the group - that when ACTUALLY using FMRIPREP there will probably not be a need to do this, making the entire exercise a moot point but figured I should at least try some semblance at meeting the criteria of the assignment to get my point across.

Thanks guys!
Lauren


#2

You could modify the registration settings deriving from these files: https://github.com/poldracklab/niworkflows/tree/master/niworkflows/data

In particular this one - https://github.com/poldracklab/niworkflows/blob/master/niworkflows/data/t1w-mni_registration_precise_000.json

You will also need to insert your modification into the pipeline. For that, I’d add a new command line argument and propagate the path to your custom json into the spatial normalization node.

That said, we’d be very interested in doing the same kind of analysis you are describing (and we actually hinted at that in the discussion of the paper). Let us know if you want to get more involved into the project.


#3

Thanks @oesteban, I figured something involving a step like this would be necessary.

I’d really enjoy possibly getting involved in this project if I can in fact be of use. So like as of right now I don’t think I have any idea how to go about modifying the pipeline as you suggested but I’m going to look into it and see if I can figure it out. But if you think I could help in any way, I’m definitely down.