MCPcopy Create free account
hub / github.com/AstroImageJ/astroimagej / fit

Method fit

ij/src/main/java/ij/macro/Functions.java:6075–6122  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6073 }
6074
6075 double fit() {
6076 interp.getToken();
6077 if (interp.token!='.')
6078 interp.error("'.' expected");
6079 interp.getToken();
6080 if (!(interp.token==WORD||interp.token==ARRAY_FUNCTION))
6081 interp.error("Function name expected: ");
6082 if (props==null)
6083 props = new Properties();
6084 String name = interp.tokenString;
6085 if (name.equals("doFit"))
6086 return fitCurve(false);
6087 if (name.equals("doWeightedFit"))
6088 return fitCurve(true);
6089 else if (name.equals("getEquation"))
6090 return getEquation();
6091 else if (name.equals("nEquations")) {
6092 interp.getParens();
6093 return CurveFitter.fitList.length;
6094 } else if (name.equals("showDialog")) {
6095 showFitDialog = true;
6096 return Double.NaN;
6097 } else if (name.equals("logResults")) {
6098 logFitResults = true;
6099 return Double.NaN;
6100 }
6101 if (fitter==null)
6102 interp.error("No fit");
6103 if (name.equals("f"))
6104 return fitter.f(fitter.getParams(), getArg());
6105 else if (name.equals("plot")) {
6106 interp.getParens();
6107 Fitter.plot(fitter);
6108 return Double.NaN;
6109 } else if (name.equals("nParams")) {
6110 interp.getParens();
6111 return fitter.getNumParams();
6112 } else if (name.equals("p")) {
6113 int index = (int)getArg();
6114 checkIndex(index, 0, fitter.getNumParams()-1);
6115 double[] p = fitter.getParams();
6116 return index<p.length?p[index]:Double.NaN;
6117 } else if (name.equals("rSquared")) {
6118 interp.getParens();
6119 return fitter.getRSquared();
6120 }
6121 return Double.NaN;
6122 }
6123
6124 double fitCurve(boolean withWeights) {
6125 interp.getLeftParen();

Callers 1

getFunctionValueMethod · 0.95

Calls 13

fitCurveMethod · 0.95
getEquationMethod · 0.95
getArgMethod · 0.95
plotMethod · 0.95
checkIndexMethod · 0.95
getParensMethod · 0.80
fMethod · 0.80
getNumParamsMethod · 0.80
getRSquaredMethod · 0.80
getTokenMethod · 0.45
errorMethod · 0.45
equalsMethod · 0.45

Tested by

no test coverage detected