Improved Curve Fitter in ImageJ 1.46f
- Simplex Minimizer is now a separate class, allowing users to minimize other
functions or to fit a curve with a custom fit function.
- Slightly improved simplex algorithm.
- There is no limit on the number of reinitializations (formerly
called 'restarts'), apart form the maximum iteration count.
- Two threads with two independent minimization runs, with
repetition until two identical results are found, to avoid local minima or
keeping the result of a stuck simplex. Redefined the
former 'restarts' public methods to apply to these retries, with the
default of 2 restarts meaning up to 6 minimization runs (2 threads, each 1
initial run and up to 2 retries).
This means that for equal performance, you will see twice the number
of iterations, because a minimum of two runs are performed.
- The Curve Fitter supports linear regression, which is used for most
built-in functions to eliminate one or two parameters. This costs some
overhead, so it does not reduce fitting time, but generally increases the
quality of the result. E.g., the 'exp+offset' easily finds whether to use
a positive or negative exponent.
- In addition to initial parameters, 'initial parameter variations' can be
specified, giving the order of magnitude of parameters. For the built-in
functions, this helps e.g. for polynomials if the numbers are not between
0.01 and 10 but e.g. around 10^6.
- Fixed 'Rodbard NIH Image' display: The fit in ImageJ is ok, the graphics
are not. This function actually fits x = Rodbard(y); the graph has x&y of
the points exchanged.
- Added polynomials of degree 5-8. As with most fitting software, this
works reasonably well only if the x values encompass x=0; not for e.g. x
values all between 10 to 15.
- New "Exponential (linear regression)" and "Power (linear regression)"
fits. They behave like the "exp" and "power" fits in most other programs
(Excel, etc.).
- UserFunction interface for user-defined minimization or fit
functions.
- Analyze>Tools>Curve Fitting usability enhancements: color graphics, warning in case of
problems, nicely sorted list of functions.
- More source code documentation.