Stuff That'd Be Nice To Do
This list is a set of things that it would be really nice to do
to make the tools and code that we have more accessible.
- Sort out the feature vector and matcher code
- The code is an interesting mix of C and C++, and there are many
examples where the object-oriented method of code re-use would be a
big help. In particular, the templates for feature vectors, and feature
matchers are enormous, and are 80% full of helper functions for reading
and writing numbers and strings to and from files and memory blobs.
Update: The code has indeed been sorted out, however,
it has not been rolled into the Artiste system in its new object-oriented form.
- Sort out the fvx and Multiscale code
- Again, the code for the test harnesses is rather jumbled in places, and
written in a way which makes it hard for integration of new vector types,
and for alteration of the existing code. There are memory blocks which would
be better served as structures or classes, and again duplication of code is a
Update: The Multiscale code has been
updated based on the new code. Having all feature modules implement the interface
defined in the
FeatureVector class, allows all modules to be accessed
in this manner. This requires only one instance of the retrieval function making
it much easier to integrate code. Mike's
cbir code uses this method also.
fvx has not yet been updated to this method.
- Directory functions
- Again, part of the Multiscale program, assumes the location of
feature vectors. It would be nice to be able to have a global repository
of vectors, with the ability to test using a local set of vectors without
infiltrating the global store. Similarly, Multiscale requires
to be built before running. This is awkward and quite unneccessary.
Update: Multiscale has now been updated
to allow for any directory to be used as the Reference and Query image and ifo
repository. The default names have changed to
ReferenceDatabase.db. The databases still have to be built, however,
and the setupdatabases tool has been updated accordingly.
- Vector generation
- Currently, you have to generate all your feature vectors using fvx
and then run Multiscale on the results. This is pretty awkward, and it
would be nice if Multiscale could generate vectors on the fly, if enabled.
- Tools repository
- It would be nice to have a globalised repository of helpful programming tools
for Artiste developers. A histogram viewer, or shell scripts to generate the special
database files that Multiscale requires. We already have libraries like xforms,
and vips globally available, so it would be nice for some functions to be available.
Update: It turns out there sort-of-is a tools repository
/database/bin however, the tools aren't totally reliable, and it's a bit
messy. There's a small repository of tools available as a tar from the main page.
- The Makefiles currently available as part of the
ImageProcessingViewer archives are slightly clumsy. They're easy to edit
to include new code, however, this could be made better for modularised code (e.g. code in
other directories, like Mike's MNS code).
Update: The makefiles for the updated classes have been changed
so that they are much easier to use and much easier to integrate new modules (just one line needs
to be added). The Multiscale code has also been moved into a
so that the Multiscale directory is less cluttered. The makefiles have been sorted out
and also changed to use this system.
Current site and code maintainer: David Dupplaw - email@example.com
- Java/Web based harness
- Kirk's mentioned that a project student may be working on a better interface
than the current Multiscale version we have now. Hopefully that will
be easier to add new code, and generally better realised.
Update: Kirk's project student, Matt, definitely is working on such
an interface, but it could be a while with his other responsibilities before this is available. Therefore,
I'm also working on a simple interface to fvx from the database query page. Internally it can be reached
All code, data, files and information on this site is copyrighted by the respective owners, and may not
be downloaded by unauthorised persons.