de.lmu.ifi.dbs.elki.distance.distancefunction.subspace
Class SubspaceDistanceFunction

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractDatabaseDistanceFunction<O,D>
      extended by de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractIndexBasedDistanceFunction<NumberVector<?,?>,FilteredLocalPCAIndex<NumberVector<?,?>>,SubspaceDistance>
          extended by de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceDistanceFunction
All Implemented Interfaces:
DistanceFunction<NumberVector<?,?>,SubspaceDistance>, FilteredLocalPCABasedDistanceFunction<NumberVector<?,?>,FilteredLocalPCAIndex<NumberVector<?,?>>,SubspaceDistance>, IndexBasedDistanceFunction<NumberVector<?,?>,SubspaceDistance>, InspectionUtilFrequentlyScanned, Parameterizable

public class SubspaceDistanceFunction
extends AbstractIndexBasedDistanceFunction<NumberVector<?,?>,FilteredLocalPCAIndex<NumberVector<?,?>>,SubspaceDistance>
implements FilteredLocalPCABasedDistanceFunction<NumberVector<?,?>,FilteredLocalPCAIndex<NumberVector<?,?>>,SubspaceDistance>

Provides a distance function to determine a kind of correlation distance between two points, which is a pair consisting of the distance between the two subspaces spanned by the strong eigenvectors of the two points and the affine distance between the two subspaces.


Nested Class Summary
static class SubspaceDistanceFunction.Instance<V extends NumberVector<?,?>>
          The actual instance bound to a particular database.
static class SubspaceDistanceFunction.Parameterizer
          Parameterization class.
 
Field Summary
 
Fields inherited from class de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractIndexBasedDistanceFunction
indexFactory
 
Fields inherited from interface de.lmu.ifi.dbs.elki.distance.distancefunction.IndexBasedDistanceFunction
INDEX_ID
 
Constructor Summary
SubspaceDistanceFunction(IndexFactory<NumberVector<?,?>,FilteredLocalPCAIndex<NumberVector<?,?>>> indexFactory)
          Constructor
 
Method Summary
 SubspaceDistance getDistanceFactory()
          Method to get the distance functions factory.
<V extends NumberVector<?,?>>
SubspaceDistanceFunction.Instance<V>
instantiate(Relation<V> database)
          Instantiate with a database to get the actual distance query.
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractIndexBasedDistanceFunction
getInputTypeRestriction, isMetric, isSymmetric
 
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.distancefunction.DistanceFunction
getInputTypeRestriction, isMetric, isSymmetric
 

Constructor Detail

SubspaceDistanceFunction

public SubspaceDistanceFunction(IndexFactory<NumberVector<?,?>,FilteredLocalPCAIndex<NumberVector<?,?>>> indexFactory)
Constructor

Parameters:
indexFactory - Index factory
Method Detail

getDistanceFactory

public SubspaceDistance getDistanceFactory()
Description copied from interface: DistanceFunction
Method to get the distance functions factory.

Specified by:
getDistanceFactory in interface DistanceFunction<NumberVector<?,?>,SubspaceDistance>
Specified by:
getDistanceFactory in class AbstractDatabaseDistanceFunction<NumberVector<?,?>,SubspaceDistance>
Returns:
Factory for distance objects

instantiate

public <V extends NumberVector<?,?>> SubspaceDistanceFunction.Instance<V> instantiate(Relation<V> database)
Description copied from interface: FilteredLocalPCABasedDistanceFunction
Instantiate with a database to get the actual distance query.

Specified by:
instantiate in interface DistanceFunction<NumberVector<?,?>,SubspaceDistance>
Specified by:
instantiate in interface FilteredLocalPCABasedDistanceFunction<NumberVector<?,?>,FilteredLocalPCAIndex<NumberVector<?,?>>,SubspaceDistance>
Parameters:
database - The representation to use
Returns:
Actual distance query.

Release 0.4.0 (2011-09-20_1324)