be.ac.ulb.mlg.utils
Interface Measure

All Known Implementing Classes:
BrayCurtis, BrownCorrelation, DirichletEntropy, EmpiricalEntropy, Entropy, Euclidean, Hellinger, HilbertSchmidt, JensenShannon, Kendall, KullbackLeibler, MutualInformation, Pearson, SchurmannGrassbergerEntropy, ShannonEntropy, Spearman, Steinhaus, VarianceOfLogRatios

public interface Measure

Version:
1.00, 24/06/2013
Author:
Jean-Sebastien Lerat (Jean-Sebastien.Lerat@ulb.ac.be)

Field Summary
static double ERROR_VALUE
          Value representing an error during measuring
 
Method Summary
 boolean hasNativeImplementation()
          Know if the measure owns a native implementation
 double measure(double[] a, double[] b, boolean[] computable)
          Compute the measure between two data vectors
 boolean requireDataTransformation()
          Know if the measure need to transform input data (input data are copied to be preserved)
 void transform(double[][] data)
          The transformation method called before measurement
 

Field Detail

ERROR_VALUE

static final double ERROR_VALUE
Value representing an error during measuring

See Also:
Constant Field Values
Method Detail

measure

double measure(double[] a,
               double[] b,
               boolean[] computable)
Compute the measure between two data vectors

Parameters:
a - The first data vector
b - The second data vector
computable - Boolean vector set to true except for indexes they must be ignored during the measurement
Returns:
The measure between a and b

hasNativeImplementation

boolean hasNativeImplementation()
Know if the measure owns a native implementation

Returns:
True if the measure is also natively implemented

requireDataTransformation

boolean requireDataTransformation()
Know if the measure need to transform input data (input data are copied to be preserved)

Returns:
True if the input data require some transformation

transform

void transform(double[][] data)
The transformation method called before measurement

Parameters:
data - An input data vector to be measured