vec_math
Interface Analyser

All Known Implementing Classes:
AbstractAnalyser, CleanFourier, Fourier, LeastFourier, LombPeriodogram, MinimumStringLength, MultipleFrequencyFit, PhaseDispersionMinimization, StatisticAnalyser

public interface Analyser

Similar to a VectorFunction, an analyser transforms input data to output data. It is meant for functions defined on a grid, or on measured data points.

See Also:
VectorFunction

Method Summary
 long[] functionCalls(VectorG[] in)
          Returns an estimate of the number of mathematical functions called.
 Object[] metadata(VectorG[] in, VectorG[] proc, VectorG[] visual)
          After processing, the analyser may be able to provide some metadata.
 VectorG[] process(VectorG[] in)
          Takes a set of input data and transforms it into a set of output data.
 void reset()
          Resets the analyser to re-use it with a different data set.
 double significance(double check, VectorG[] in, VectorG[] processed, VectorG[] visual)
          If the analysier can produce something like a significance of a value, this is returned here.
 VectorG[] visualize(VectorG[] in, VectorG[] processed)
          Further transforms the processed vector into some visualizable vector.
 

Method Detail

functionCalls

long[] functionCalls(VectorG[] in)
Returns an estimate of the number of mathematical functions called. The array returned must have the following structure. The execution on primitive double operation is normally 20 times faster than sin/cos etc, thus not mentioned.

Parameters:
length - Length of data set.
Returns:
null If unknown.

process

VectorG[] process(VectorG[] in)
Takes a set of input data and transforms it into a set of output data. Each input data is an VectorG of analyser-specific length, Each output data is an VectorG with not necessarily the same dimension as the input data, but the returned array is guaranteed to have the same length as the input data array.

Parameters:
in - The measured data.
Returns:
Processed data of the same length as input data.

visualize

VectorG[] visualize(VectorG[] in,
                    VectorG[] processed)
Further transforms the processed vector into some visualizable vector. Normally this means dimensional reduction of the processed data. If no reduction for visualization is necessary, this method must return the argumental processed data.

Parameters:
in - The measured data.
processed - The processed data from process(vec_math.VectorG[]).
Returns:
Visualizable data derived from processed one.

metadata

Object[] metadata(VectorG[] in,
                  VectorG[] proc,
                  VectorG[] visual)
After processing, the analyser may be able to provide some metadata. If these metadata are an array of VectorG, further processing might be possible.

Parameters:
in - The original data, before process.
proc - The processed data from process(vec_math.VectorG[]).
visual - The visualized data from visualize(vec_math.VectorG[], vec_math.VectorG[]).

significance

double significance(double check,
                    VectorG[] in,
                    VectorG[] processed,
                    VectorG[] visual)
If the analysier can produce something like a significance of a value, this is returned here. All data available is handed over, but might be ignored, or even null, depending on the analyser

Parameters:
check - The value whose significance is to be probed.
in - The original data, before process.
processed - The processed data from process(vec_math.VectorG[]).
visual - The visualized data from visualize(vec_math.VectorG[], vec_math.VectorG[]).
Returns:
A significance, 1-false-Alarm probability

reset

void reset()
Resets the analyser to re-use it with a different data set.