DisTools is a Matlab toolbox for dissimilarity based pattern recognition. It is built on top of PRTools, a general toolbox for pattern recognition, which should be in the path.


DisTools is primarily meant for the analysis of a given set of dissimilarities (possibly non-Eudlidean, non-metric or asymmetric) between labeled objects. There are a few commands for computing such dissimilarities. Its main use is, however, to help researchers who are designing and studying dissimilarity measures between objects like images, time signals and spectra for classification purposes. DisTools offers much more advanced tools for classification than the traditional approaches based on the nearest neighbor relations and template matching.


  • DisTools can be downloaded freely. [download]
  • There is a separate toolbox, PRDisData, that makes dissimilarity datasets available. [download]


There are commands to support the construction of proper dissimilarity matrices, for building classifiers and for evaluation.


Classification can be performed on the basis of three different interpretations of the dissimilarity matrix: on the given dissimilarities, in a dissimilarity space and in an embedded space:

For evaluation special tools are needed as  the selection of training and test sets may influence the representation.


In our terminology we distinguish

  • training set: the set of labeled objects to be used for training a classifier
  • test set: the set of labeled objects to be used for evaluating a classifier
  • representation set: the set of objects used for representing other objects in a dissimilarity space or by embedding

In some documents, help files and software comments, the following abbreviations may be used: trainset for training set, testset for test set, repset for representation set, dismat for dissimilarity matrix, disspace for dissimilarity space and pe_space for the space obtained by pseudo_Euclidean embedding.

Examples and exercises

Print Friendly, PDF & Email