Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.distance.similarityfunction
Class AbstractPreprocessorBasedSimilarityFunction<O extends DatabaseObject,P extends Preprocessor<O>,D extends Distance<D>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction<O,D>
          extended by de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractSimilarityFunction<O,D>
              extended by de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractPreprocessorBasedSimilarityFunction<O,P,D>
Type Parameters:
O - object type
P - preprocessor type
D - distance type
All Implemented Interfaces:
MeasurementFunction<O,D>, PreprocessorBasedMeasurementFunction<O,P,D>, SimilarityFunction<O,D>, PreprocessorClient<P,O>, Parameterizable
Direct Known Subclasses:
FractionalSharedNearestNeighborSimilarityFunction, SharedNearestNeighborSimilarityFunction

public abstract class AbstractPreprocessorBasedSimilarityFunction<O extends DatabaseObject,P extends Preprocessor<O>,D extends Distance<D>>
extends AbstractSimilarityFunction<O,D>
implements PreprocessorBasedMeasurementFunction<O,P,D>

Abstract super class for distance functions needing a preprocessor.

Author:
Elke Achtert

Field Summary
private  PreprocessorHandler<O,P> preprocessorHandler
          The handler class for the preprocessor.
 
Fields inherited from class de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction
distanceFactory
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
AbstractPreprocessorBasedSimilarityFunction(Parameterization config, D distance)
          Constructor, supporting Parameterizable
 
Method Summary
 P getPreprocessor()
          Get the preprocessor managed by this handler
 void setDatabase(Database<O> database)
          Calls AbstractMeasurementFunction.setDatabase(de.lmu.ifi.dbs.elki.database.Database) and runs the preprocessor on the database.
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractSimilarityFunction
similarity, similarity
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.AbstractMeasurementFunction
getDatabase, getDistanceFactory, infiniteDistance, nullDistance, undefinedDistance, valueOf
 
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.distance.MeasurementFunction
getDistanceFactory, infiniteDistance, nullDistance, undefinedDistance, valueOf
 
Methods inherited from interface de.lmu.ifi.dbs.elki.preprocessing.PreprocessorClient
getAssociationID, getDefaultPreprocessorClass, getPreprocessorDescription, getPreprocessorSuperClass
 
Methods inherited from interface de.lmu.ifi.dbs.elki.distance.similarityfunction.SimilarityFunction
similarity
 

Field Detail

preprocessorHandler

private final PreprocessorHandler<O extends DatabaseObject,P extends Preprocessor<O>> preprocessorHandler
The handler class for the preprocessor.

Constructor Detail

AbstractPreprocessorBasedSimilarityFunction

public AbstractPreprocessorBasedSimilarityFunction(Parameterization config,
                                                   D distance)
Constructor, supporting Parameterizable

Parameters:
config - Parameterization
distance - Distance factory
Method Detail

setDatabase

public void setDatabase(Database<O> database)
Calls AbstractMeasurementFunction.setDatabase(de.lmu.ifi.dbs.elki.database.Database) and runs the preprocessor on the database.

Specified by:
setDatabase in interface MeasurementFunction<O extends DatabaseObject,D extends Distance<D>>
Overrides:
setDatabase in class AbstractMeasurementFunction<O extends DatabaseObject,D extends Distance<D>>
Parameters:
database - the database to be set

getPreprocessor

public final P getPreprocessor()
Get the preprocessor managed by this handler

Returns:
Preprocessor

Release 0.3 (2010-03-31_1612)