Of course, the answer is in the source code (in file mri_fwhm.c).
/* nonlinear optimization of parameters */
xpar[0] = apar ; xpar[1] = bpar ; xpar[2] = cpar ;
xbot[0] = 0.006 ; xbot[1] = 0.05*bpar ; xbot[2] = 0.05*cpar ;
xtop[0] = 0.994 ; xtop[1] = 5.55*bpar ; xtop[2] = 5.55*cpar ;
pp = powell_newuoa_constrained( 3 , xpar , NULL , xbot , xtop ,
666 , 44 , 9 ,
0.05 , 0.0005 , 999 , ACF_modelE_costfunc ) ;
Here, the variables (apar, bpar, cpar) are initialized to crude estimates of the (a,b,c) parameters -- in particular, apar=0.5 is the starting point for the mixing fraction parameter. bpar and cpar are initialized by finding the approximate FWHM of the empirical ACF estimate, and then some simple formulae give those parameters. You can see the ranges allowed for the estimates in the snippet of code above.
The method used for optimization is Powell's NEWUOA
https://en.wikipedia.org/wiki/NEWUOA -- the function powell_newuoa_constrained() called above is a wrapper that I wrote for use in AFNI. The ACF_modelE_costfunc() function is the thing that powell_newuoa_constrained() minimizes -- it is just the least squares penalty function for the model vs. the ACF estimates.
Two points:
- Why do you want to know?
- Trust in the Source, Luke!