vec_math
Interface MultidimensionalDataModel

All Known Implementing Classes:
AbstractMultidimensionalDataModel, WcsModel

public interface MultidimensionalDataModel

A multidimensional data model describes a data model for all measurements of an independant input vector x to a multidimensional measurement y of dependant variables. Different to a normal data model, the multidimensional must be provided with a multidimensional function as an chi-square estimate for solving the data, which is, in the easiest case, the square sum of the components of the residual (now a) vector, summed over all measurements. The easiest case is an image model, where the independant input variables are pixel coordinates, which are linked to, say, two-dimensional WCS coordinates. Note that one-dimensional image models are data models


Method Summary
 int dimension()
          Returns the dimension of the measurement, residual and error vectors.
 VectorG evaluateModel(VectorG parameters, VectorG t)
          Evaluates the data model on a single point in the independant parameter space, normally the time.
 int getMeasureCount()
          Return the number of measurements in the data model.
 VectorG[] getMeasurementErrors()
          Returns the measurement errors without systematic errors of the measurements or null if unknown.
 VectorG[] getMeasures()
          Returns the measurements ('y') as a single vector.
 VectorG[] getModel(VectorG parameters)
          Returns model data for the given set of model parameters.
 int getParameterCount()
          The number of model parameters should be less than the number of data points in the model, otherwise you fit a underdetermined problem.
 VectorG[] getResiduals(VectorG a)
          Returns the residuals of the measures to the data model.
 VectorG[] getTimes()
          Returns the 'times' of the measurements ('x') as an array of vectors.
 VectorG[] getTotalErrors()
          Returns the total errors including systematic errors of the measurements or null if unknown.
 

Method Detail

evaluateModel

VectorG evaluateModel(VectorG parameters,
                      VectorG t)
Evaluates the data model on a single point in the independant parameter space, normally the time. Note that the model can be evaluated also at times not identically to the measurement times.

Parameters:
parameters - The model parameters
t - The vector of independant variables.

getModel

VectorG[] getModel(VectorG parameters)
Returns model data for the given set of model parameters. This method is identical to calling evaluateModel(vec_math.VectorG, vec_math.VectorG) with all times available in the second argument. Note that the dimension of the vector returned is the same as the #getPointCount method and will differ from the input dimension, which is normally smaller than the number of data points.

Parameters:
parameters - The model parameters
Returns:
A model for the data points depending on the model parameters.

getResiduals

VectorG[] getResiduals(VectorG a)
Returns the residuals of the measures to the data model. This equals calling getMeasures() and getModel(vec_math.VectorG) and returning the difference between both.

Parameters:
a - The model parameters, not necessarily the best fit.

getMeasures

VectorG[] getMeasures()
Returns the measurements ('y') as a single vector. Strictly speaking, this returns the vector of all dependant measures. Its dimension equals the number of individual measures, getMeasureCount().


getTotalErrors

VectorG[] getTotalErrors()
Returns the total errors including systematic errors of the measurements or null if unknown.


getMeasurementErrors

VectorG[] getMeasurementErrors()
Returns the measurement errors without systematic errors of the measurements or null if unknown.


getTimes

VectorG[] getTimes()
Returns the 'times' of the measurements ('x') as an array of vectors. In many cases, this will be an array of 1-dimensional vectors, if the time is the only independant parameter. More general, this returns for each measurement (which is the index in the vector array) the value of all independant varaibles (which are packed together in a vector).

Returns:
An array of dimension getMeasureCount().

getParameterCount

int getParameterCount()
The number of model parameters should be less than the number of data points in the model, otherwise you fit a underdetermined problem.

Returns:
The number of parameters in the model. This equals the dimension of the input vector in getModel(vec_math.VectorG).

getMeasureCount

int getMeasureCount()
Return the number of measurements in the data model. The number of model parameters should be less than the number of data points in the model, otherwise you fit a underdetermined problem.

Returns:
The number of measurements in the data model. This equals the dimension of the return vector in getModel(vec_math.VectorG).

dimension

int dimension()
Returns the dimension of the measurement, residual and error vectors.