FORWARD_FUNCTION expFit pro testDarkFitModel, drkParams, darks ;; Extract the points with integration times of 103.5 w = where(drkParams[*,0] EQ 103.5) temp = drkParams[w,1] care = darks[*,*,w] s = sort(temp) temp = temp[s] care = care[*,*,s] n=(size(s,/dimensions))[0] slice = intarr(n) for i=0, n-1 DO slice[i] = mean(care[20:1000,20:1000,i]) ;; Set up the model fitting paramCnt = 3 parinfo = replicate({VALUE:0.D,LIMITED:[0,0],LIMITS:[0.D,0.D]} $ ,paramCnt) ;; Starting guesses for parameters ;; exp(A0+A1*Temp)+A2 parinfo[*].value = [3.3d-2,-3.2,300] ;; Evaluation function funcName = 'expFit' ;; Do the fitting coefs = mpfitfun(funcName, temp, slice, PARINFO=parinfo, autoderivative=0, $ bestnorm=check, status=stat, yfit=yfit) print, stat END function expFit, x, a, dp tmp = exp(a[0]*x+a[1]) n = (SIZE(X,/DIMENSIONS))[0] dp = [[x*tmp],[tmp],[intarr(n)+1]] RETURN, tmp + a[2] END