Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.algorithm
Class MaterializeDistances<V extends RealVector<V,?>,D extends NumberDistance<D,N>,N extends Number>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
          extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<O,R>
              extended by de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm<V,D,CollectionResult<CTriple<Integer,Integer,Double>>>
                  extended by de.lmu.ifi.dbs.elki.algorithm.MaterializeDistances<V,D,N>
Type Parameters:
V - Vector type
All Implemented Interfaces:
Algorithm<V,CollectionResult<CTriple<Integer,Integer,Double>>>, Parameterizable

public class MaterializeDistances<V extends RealVector<V,?>,D extends NumberDistance<D,N>,N extends Number>
extends DistanceBasedAlgorithm<V,D,CollectionResult<CTriple<Integer,Integer,Double>>>

Algorithm to materialize all the distances in a data set.

The result can then be used with the DoubleDistanceParser and MultipleFileInput to use cached distances.

Symmetry is assumed.

Author:
Erich Schubert

Field Summary
private  CollectionResult<CTriple<Integer,Integer,Double>> result
           
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm
DISTANCE_FUNCTION_ID, DISTANCE_FUNCTION_PARAM
 
Fields inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
optionHandler
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
MaterializeDistances()
          Empty constructor.
 
Method Summary
 Description getDescription()
          Describe the algorithm and it's use.
 CollectionResult<CTriple<Integer,Integer,Double>> getResult()
          Return a result object
protected  CollectionResult<CTriple<Integer,Integer,Double>> runInTime(Database<V> database)
          Iterates over all points in the database.
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm
getDistanceFunction, setParameters
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
isTime, isVerbose, run, setTime, setVerbose
 
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
addOption, addParameterizable, addParameterizable, checkGlobalParameterConstraints, collectOptions, getAttributeSettings, getParameters, rememberParametersExcept, removeOption, removeParameterizable, shortDescription
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable
checkGlobalParameterConstraints, collectOptions, getParameters, shortDescription
 

Field Detail

result

private CollectionResult<CTriple<Integer,Integer,Double>> result
Constructor Detail

MaterializeDistances

public MaterializeDistances()
Empty constructor. Nothing to do.

Method Detail

runInTime

protected CollectionResult<CTriple<Integer,Integer,Double>> runInTime(Database<V> database)
                                                               throws IllegalStateException
Iterates over all points in the database.

Specified by:
runInTime in class AbstractAlgorithm<V extends RealVector<V,?>,CollectionResult<CTriple<Integer,Integer,Double>>>
Parameters:
database - the database to run the algorithm on
Returns:
the Result computed by this algorithm
Throws:
IllegalStateException - if the algorithm has not been initialized properly (e.g. the setParameters(String[]) method has been failed to be called).

getDescription

public Description getDescription()
Describe the algorithm and it's use.

Returns:
a description of the algorithm

getResult

public CollectionResult<CTriple<Integer,Integer,Double>> getResult()
Return a result object

Returns:
the result of the algorithm

Release 0.2 (2009-07-06_1820)