Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.distance.distancefunction
Class FractalDimensionBasedDistanceFunction<V extends RealVector<V,?>>

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.distance.AbstractMeasurementFunction<O,D>
              extended by de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractDistanceFunction<O,D>
                  extended by de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractPreprocessorBasedDistanceFunction<V,FracClusPreprocessor<V>,DoubleDistance>
                      extended by de.lmu.ifi.dbs.elki.distance.distancefunction.FractalDimensionBasedDistanceFunction<V>
All Implemented Interfaces:
DistanceFunction<V,DoubleDistance>, MeasurementFunction<V,DoubleDistance>, Loggable, Parameterizable

public class FractalDimensionBasedDistanceFunction<V extends RealVector<V,?>>
extends AbstractPreprocessorBasedDistanceFunction<V,FracClusPreprocessor<V>,DoubleDistance>

Author:
Arthur Zimek

Field Summary
 EuklideanDistanceFunction<V> STANDARD_DOUBLE_DISTANCE_FUNCTION
           
 
Fields inherited from class de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction
INFINITY_PATTERN
 
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
 
Constructor Summary
FractalDimensionBasedDistanceFunction()
           
 
Method Summary
 DoubleDistance distance(V o1, V o2)
          Computes the distance between two given DatabaseObjects according to this distance function.
(package private)  AssociationID getAssociationID()
          Returns the assocoiation ID for the association to be set by the preprocessor.
(package private)  String getDefaultPreprocessorClassName()
          Returns the name of the default preprocessor.
(package private)  String getPreprocessorClassDescription()
          Returns the description for parameter preprocessor.
(package private)  Class<FracClusPreprocessor> getPreprocessorSuperClassName()
          Returns the super class for the preprocessor.
 DoubleDistance infiniteDistance()
          Provides an infinite distance.
 DoubleDistance nullDistance()
          Provides a null distance.
 void setDatabase(Database<V> database, boolean verbose, boolean time)
          Runs the preprocessor on the database.
 DoubleDistance undefinedDistance()
          Provides an undefined distance.
 DoubleDistance valueOf(String pattern)
          Provides a measurement suitable to this measurement function based on the given pattern.
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractPreprocessorBasedDistanceFunction
getAttributeSettings, getPreprocessor, setParameters
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractDistanceFunction
distance, distance, isInfiniteDistance, isNullDistance, isUndefinedDistance
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction
getDatabase, matches, requiredInputPattern, setRequiredInputPattern
 
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
addOption, checkGlobalParameterConstraints, deleteOption, description, description, description, getParameters, getParameterValue, getPossibleOptions, inlineDescription, isSet, setParameters
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, message, progress, progress, progress, verbose, 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.distance.MeasurementFunction
requiredInputPattern
 
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable
checkGlobalParameterConstraints, description, getParameters, getPossibleOptions, inlineDescription
 

Field Detail

STANDARD_DOUBLE_DISTANCE_FUNCTION

public final EuklideanDistanceFunction<V extends RealVector<V,?>> STANDARD_DOUBLE_DISTANCE_FUNCTION
Constructor Detail

FractalDimensionBasedDistanceFunction

public FractalDimensionBasedDistanceFunction()
Method Detail

distance

public DoubleDistance distance(V o1,
                               V o2)
Description copied from interface: DistanceFunction
Computes the distance between two given DatabaseObjects according to this distance function.

Parameters:
o1 - first DatabaseObject
o2 - second DatabaseObject
Returns:
the distance between two given DatabaseObjects according to this distance function

infiniteDistance

public DoubleDistance infiniteDistance()
Description copied from interface: MeasurementFunction
Provides an infinite distance.

Returns:
an infinite distance

nullDistance

public DoubleDistance nullDistance()
Description copied from interface: MeasurementFunction
Provides a null distance.

Returns:
a null distance

undefinedDistance

public DoubleDistance undefinedDistance()
Description copied from interface: MeasurementFunction
Provides an undefined distance.

Returns:
an undefined distance

valueOf

public DoubleDistance valueOf(String pattern)
                       throws IllegalArgumentException
Description copied from interface: MeasurementFunction
Provides a measurement suitable to this measurement function based on the given pattern.

Parameters:
pattern - a pattern defining a similarity suitable to this measurement function
Returns:
a measurement suitable to this measurement function based on the given pattern
Throws:
IllegalArgumentException - if the given pattern is not compatible with the requirements of this measurement function

getAssociationID

AssociationID getAssociationID()
Description copied from class: AbstractPreprocessorBasedDistanceFunction
Returns the assocoiation ID for the association to be set by the preprocessor.

Specified by:
getAssociationID in class AbstractPreprocessorBasedDistanceFunction<V extends RealVector<V,?>,FracClusPreprocessor<V extends RealVector<V,?>>,DoubleDistance>

getDefaultPreprocessorClassName

String getDefaultPreprocessorClassName()
Description copied from class: AbstractPreprocessorBasedDistanceFunction
Returns the name of the default preprocessor.

Specified by:
getDefaultPreprocessorClassName in class AbstractPreprocessorBasedDistanceFunction<V extends RealVector<V,?>,FracClusPreprocessor<V extends RealVector<V,?>>,DoubleDistance>

getPreprocessorClassDescription

String getPreprocessorClassDescription()
Description copied from class: AbstractPreprocessorBasedDistanceFunction
Returns the description for parameter preprocessor.

Specified by:
getPreprocessorClassDescription in class AbstractPreprocessorBasedDistanceFunction<V extends RealVector<V,?>,FracClusPreprocessor<V extends RealVector<V,?>>,DoubleDistance>

getPreprocessorSuperClassName

Class<FracClusPreprocessor> getPreprocessorSuperClassName()
Description copied from class: AbstractPreprocessorBasedDistanceFunction
Returns the super class for the preprocessor.

Specified by:
getPreprocessorSuperClassName in class AbstractPreprocessorBasedDistanceFunction<V extends RealVector<V,?>,FracClusPreprocessor<V extends RealVector<V,?>>,DoubleDistance>

setDatabase

public void setDatabase(Database<V> database,
                        boolean verbose,
                        boolean time)
Description copied from class: AbstractPreprocessorBasedDistanceFunction
Runs the preprocessor on the database.

Specified by:
setDatabase in interface MeasurementFunction<V extends RealVector<V,?>,DoubleDistance>
Overrides:
setDatabase in class AbstractPreprocessorBasedDistanceFunction<V extends RealVector<V,?>,FracClusPreprocessor<V extends RealVector<V,?>>,DoubleDistance>
Parameters:
database - the database to be set
verbose - flag to allow verbose messages while performing the method
time - flag to request output of performance time
See Also:
MeasurementFunction.setDatabase(de.lmu.ifi.dbs.elki.database.Database, boolean, boolean)

Release 0.1 (2008-07-10_1838)