History of AFNI updates  

|
December 08, 2016 07:08PM
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:
  1. Why do you want to know?
  2. Trust in the Source, Luke!
Subject Author Posted

Algorithm used to fit ACF in 3dFWHMx

Gopi December 08, 2016 05:27PM

Re: Algorithm used to fit ACF in 3dFWHMx

Bob Cox December 08, 2016 07:08PM

Re: Algorithm used to fit ACF in 3dFWHMx

Gopi December 09, 2016 08:47AM