Skip to content

Instantly share code, notes, and snippets.

@arnaudbenard
Created December 17, 2012 22:23
Show Gist options
  • Save arnaudbenard/4322928 to your computer and use it in GitHub Desktop.
Save arnaudbenard/4322928 to your computer and use it in GitHub Desktop.
Curvefit in Igor Pro
#pragma rtGlobals=1 // Use modern global access method.
function tiltcompensation(spiralxsen,spiralysen,spiralzfast)
wave spiralxsen,spiralysen,spiralzfast
wave xfit,zfit,yfit
wave W_StatsLinearCorrelationTest,spiraltilt
wave spiraldiv,lineRatio
variable x_corr,y_corr
//make/o/n=(numpnts(spiralzfast)) fit
StatsLinearCorrelationTest/Q spiralXSen, spiralzfast
x_corr= W_StatsLinearCorrelationTest[1]
StatsLinearCorrelationTest/Q spiralYSen, spiralzfast
y_corr= W_StatsLinearCorrelationTest[1]
variable ampli=0.675
make/o/n=(numpnts(spiralzfast)) spiraltilt=spiralzfast-ampli*(x_corr*spiralXsen+y_corr*spiralYsen)
//make/o/n=(numpnts(spiralzfast)) spiraldiv=spiralzfast/(0.675*(x_corr*spiralXsen+y_corr*spiralYsen))
make/o/n=(numpnts(spiralzfast)) xfit
make/o/n=(numpnts(spiralzfast)) yfit
make/o/n=(numpnts(spiralzfast)) zfit
CurveFit/Q sin spiralxsen /D=xfit
CurveFit/Q sin spiralysen /D=yfit
CurveFit/Q sin spiralzfast /D=zfit
make/o/n=(numpnts(spiralzfast)) lineRatio= zfit/xfit
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment