Dear Benjamin,
> I'm having some trouble running fnirt with the "--inwarp" option. In
> trying to figure out where the error was coming from, I've been
> trying a simple command:
>
> $ fnirt --in=dti_b0-bet --inwarp=b0_nl_MNI.reg --
> ref=MNI152_T2_2mm_brain.nii.gz --iout=b0_nlagain_MNI --
> cout=b0_nlagain_MNI.reg
> Error occured during estimation at first level of subsampling
> Exception thrown with message: SpMat::DiagPrecond: Cannot condition
> singular matrix
this is a bug that _sometimes_ causes a problem when you take a warp-
field estimated for a given resolution, feed it into another warp and
proceed to do an estimation step with a lower resolution.
It is indeed a bug, and has been fixed for the next release. BUT, it
also rarely makes sense to estimate the warps to a certain resolution
in one run of fnirt, use these as starting estimate for a second run
but degrading their resolution before using them.
The idea behind --inwarp is to use them for example when scripting
fnirt to build population means. In that case the "template" changes
only very little for each iteration of the mean, and it would be
wasteful to re-run fnirt from scratch for each subject. So then one
instead feeds in the warp-field from the previous iteration and run
fnirt for a few iterations at the highest resolution. I.e. you will
use different configuration files for the first iteration (doing the
full multi-resolution thing) compared ti subsequent iterations where
you just use the highest resolution.
Hope this makes sense.
Jesper
|