Axel Mosig

Software

ReSCue

ReSCue - Retrieval System for Curves: Prototypic C++-implementation with a simple graphical user interface of an algorithm for matching polygonal curves with repsect to the Fechet distance.

[download executable] (windows; requires qt dll (V2.3 non-commercial) available from www.trolltech.com)
[download source code] (windows; requires VC++ and a proper installation of trolltech's qt library)
[source code documentation]
[publication]

GroupIndex

[documentation]
For source code feel free to contact me.  
GroupIndex is a generic C++ programming library for creating content-based indexing systems by implementing so-called G-inverted lists. G-inverted lists generalize inverted lists (or inverted files) as they are known form full text retrieval to non-textual data such as 3D-objects involving queries that may undergo translation and rotation. GroupIndex heavily relies on the use of C++ template classes; the underlying problem setting is as follows: a transformation group acts on a class of objects – for instance, triangles in three dimensions are transformed by rigid motions. Given a database of documents, each document being a collection of objects, we want to perform the following tasks:
  • Create an index for fast content-based constellation search
  • Given a query constellation and an index, determine whether the query can be transformed such that the transformed query is a subset of one of the documents
The algorithms behind GroupIndex are based on a generalization of inverted file indexing, so-called G-inverted lists. The basic idea behind the implementation is that the properties of the transformation group and the object space are implemented as C++ classes, which satisfy certain algebraic constraints and are passed as template parameters to the corresponding GroupIndex classes.