de.lmu.ifi.dbs.elki.index.preprocessed.localpca
Class RangeQueryFilteredPCAIndex<NV extends NumberVector<? extends NV,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.index.AbstractIndex<O>
      extended by de.lmu.ifi.dbs.elki.index.preprocessed.AbstractPreprocessorIndex<NV,PCAFilteredResult>
          extended by de.lmu.ifi.dbs.elki.index.preprocessed.localpca.AbstractFilteredPCAIndex<NV>
              extended by de.lmu.ifi.dbs.elki.index.preprocessed.localpca.RangeQueryFilteredPCAIndex<NV>
Type Parameters:
NV - Vector type
All Implemented Interfaces:
Index, FilteredLocalPCAIndex<NV>, LocalProjectionIndex<NV,PCAFilteredResult>, Result

@Title(value="Range Query Based Local PCA Preprocessor")
@Description(value="Materializes the local PCA and the locally weighted matrix of objects of a database. The PCA is based on epsilon range queries.")
public class RangeQueryFilteredPCAIndex<NV extends NumberVector<? extends NV,?>>
extends AbstractFilteredPCAIndex<NV>

Provides the local neighborhood to be considered in the PCA as the neighbors within an epsilon range query of an object.


Nested Class Summary
static class RangeQueryFilteredPCAIndex.Factory<V extends NumberVector<V,?>>
          Factory class
 
Field Summary
private  DoubleDistance epsilon
          Query epsilon
private static Logging logger
          Logger.
private  RangeQuery<NV,DoubleDistance> rangeQuery
          The kNN query instance we use
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.localpca.AbstractFilteredPCAIndex
pca
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.AbstractPreprocessorIndex
storage
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.AbstractIndex
relation
 
Constructor Summary
RangeQueryFilteredPCAIndex(Relation<NV> database, PCAFilteredRunner<NV> pca, RangeQuery<NV,DoubleDistance> rangeQuery, DoubleDistance epsilon)
          Constructor.
 
Method Summary
 Logging getLogger()
          Get the classes static logger.
 String getLongName()
          A "pretty" name for the result, for use in titles, captions and menus.
 String getShortName()
          A short name for the result, useful for file names.
protected  List<DistanceResultPair<DoubleDistance>> objectsForPCA(DBID id)
          Returns the objects to be considered within the PCA for the specified query object.
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.localpca.AbstractFilteredPCAIndex
getLocalProjection, preprocess
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.AbstractIndex
delete, deleteAll, getPageFileStatistics, insert, insertAll
 
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.index.Index
delete, deleteAll, getPageFileStatistics, insert, insertAll
 

Field Detail

logger

private static final Logging logger
Logger.


rangeQuery

private final RangeQuery<NV extends NumberVector<? extends NV,?>,DoubleDistance> rangeQuery
The kNN query instance we use


epsilon

private final DoubleDistance epsilon
Query epsilon

Constructor Detail

RangeQueryFilteredPCAIndex

public RangeQueryFilteredPCAIndex(Relation<NV> database,
                                  PCAFilteredRunner<NV> pca,
                                  RangeQuery<NV,DoubleDistance> rangeQuery,
                                  DoubleDistance epsilon)
Constructor.

Parameters:
database - Database to use
pca - PCA Runner to use
rangeQuery - Range Query to use
epsilon - Query range
Method Detail

objectsForPCA

protected List<DistanceResultPair<DoubleDistance>> objectsForPCA(DBID id)
Description copied from class: AbstractFilteredPCAIndex
Returns the objects to be considered within the PCA for the specified query object.

Specified by:
objectsForPCA in class AbstractFilteredPCAIndex<NV extends NumberVector<? extends NV,?>>
Parameters:
id - the id of the query object for which a PCA should be performed
Returns:
the list of the objects (i.e. the ids and the distances to the query object) to be considered within the PCA

getLongName

public String getLongName()
Description copied from interface: Result
A "pretty" name for the result, for use in titles, captions and menus.

Specified by:
getLongName in interface Result
Specified by:
getLongName in class AbstractIndex<NV extends NumberVector<? extends NV,?>>
Returns:
result name

getShortName

public String getShortName()
Description copied from interface: Result
A short name for the result, useful for file names.

Specified by:
getShortName in interface Result
Specified by:
getShortName in class AbstractIndex<NV extends NumberVector<? extends NV,?>>
Returns:
result name

getLogger

public Logging getLogger()
Description copied from class: AbstractPreprocessorIndex
Get the classes static logger.

Specified by:
getLogger in class AbstractPreprocessorIndex<NV extends NumberVector<? extends NV,?>,PCAFilteredResult>
Returns:
Logger

Release 0.4.0 (2011-09-20_1324)