mpicbg.imglib.algorithm.peak

## Class GaussianMultiDLM

• All Implemented Interfaces:
FitFunction

```public class GaussianMultiDLM
extends Object
implements FitFunction```
A n-dimensional Gaussian peak function, representing an elliptical Gaussian, with axis constrained to be aligned with the main axis.

This fitting target function is defined over dimension `n`, by the following `2n+1` parameters:

```k = 0       - A
k = 1..n    - x₀ᵢ (with i = k-1)
k = n+1..2n - bᵢ (with i = k-n-1)```
with
`f(x) = A × exp( - S )`
and
`S = ∑ bᵢ × (xᵢ - x₀ᵢ)² `
Author:
Jean-Yves Tinevez 2012
• ### Constructor Summary

Constructors
Constructor and Description
`GaussianMultiDLM()`
• ### Method Summary

All Methods
Modifier and Type Method and Description
`double` ```grad(double[] x, double[] a, int k)```
Partial derivatives indices are ordered as follow:
`double` ```hessian(double[] x, double[] a, int r, int c)```
Not used but hey.
`double` ```val(double[] x, double[] a)```
Evaluate this function at point `x`.
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Constructor Detail

• #### GaussianMultiDLM

`public GaussianMultiDLM()`
• ### Method Detail

• #### val

```public final double val(double[] x,
double[] a)```
Description copied from interface: `FitFunction`
Evaluate this function at point `x`. The function is otherwise defined over an array of parameters `a`, that is the target of the fitting procedure.
Specified by:
`val` in interface `FitFunction`
Parameters:
`x` - the multidimensional to evaluate the fonction at
`a` - the set of parameters that defines the function
Returns:
a double value, the function evaluated at `x`

```public final double grad(double[] x,
double[] a,
int k)```
Partial derivatives indices are ordered as follow:
```k = 0       - A
k = 1..n    - x_i (with i = k-1)
k = n+1..2n - b_i (with i = k-n-1)```
Specified by:
`grad` in interface `FitFunction`
Parameters:
`x` - the point to evaluate the gradient at
`a` - the set of parameters that defines the function
`k` - the index of the parameter to compute the gradient
Returns:
the kth component of the gradient `df(x,a)/da_k`
`FitFunction.val(double[], double[])`
• #### hessian

```public final double hessian(double[] x,
double[] a,
int r,
int c)```
Not used but hey.
Returns:
the hessian value for row r and column c