
@Title(value="File based float distance for database objects.") @Description(value="Loads float distance values from an external text file.") public class FileBasedFloatDistanceFunction extends AbstractDBIDDistanceFunction<FloatDistance>
NumberDistanceParser for the default input format.| Modifier and Type | Class and Description | 
|---|---|
static class  | 
FileBasedFloatDistanceFunction.Parameterizer
Parameterization class. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
private Map<DBIDPair,FloatDistance> | 
cache
The distance cache 
 | 
static OptionID | 
MATRIX_ID
Parameter that specifies the name of the distance matrix file. 
 | 
static OptionID | 
PARSER_ID
Optional parameter to specify the parsers to provide a database, must
 extend  
DistanceParser. | 
| Constructor and Description | 
|---|
FileBasedFloatDistanceFunction(DistanceParser<FloatDistance> parser,
                              File matrixfile)
Constructor. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
FloatDistance | 
distance(DBIDRef id1,
        DBIDRef id2)
Returns the distance between the two objects specified by their objects
 ids. 
 | 
boolean | 
equals(Object obj)  | 
FloatDistance | 
getDistanceFactory()
Method to get the distance functions factory. 
 | 
private void | 
loadCache(DistanceParser<FloatDistance> parser,
         File matrixfile)  | 
getInputTypeRestriction, instantiate, isMetric, isSymmetricpublic static final OptionID MATRIX_ID
 Key: -distance.matrix
 
public static final OptionID PARSER_ID
DistanceParser. If this parameter is not set,
 NumberDistanceParser is used as parser for all input files.
 
 Key: -distance.parser
 
private Map<DBIDPair,FloatDistance> cache
public FileBasedFloatDistanceFunction(DistanceParser<FloatDistance> parser, File matrixfile)
parser - Parsermatrixfile - input filepublic FloatDistance distance(DBIDRef id1, DBIDRef id2)
distance in interface DBIDDistanceFunction<FloatDistance>distance in class AbstractDBIDDistanceFunction<FloatDistance>id1 - first object idid2 - second object idprivate void loadCache(DistanceParser<FloatDistance> parser, File matrixfile) throws IOException
IOExceptionpublic FloatDistance getDistanceFactory()
DistanceFunctiongetDistanceFactory in interface DistanceFunction<DBID,FloatDistance>getDistanceFactory in class AbstractDBIDDistanceFunction<FloatDistance>