Photobook version 6
New features include:
- Dynamic loading of similarity metrics and display modes
- Images may be in multiple formats (raw, ppm, jpeg, gif)
- Images may have varying sizes
- Color images on 8-bit displays
- Simpler database organization (no more .spec files)
- Written using Boa instead of FRAMER
- Tcl extension for making Photobook queries (this is how the Web demo was
made)
- User interface written in Tk, for easy customization
- Interactive power-assisted multiple-model segmentation as well as
annotation
Photobook's design, briefly
Purpose
Photobook is program for browsing image databases according to
precomputed visual features. A typical use-case is to click on an
image and have Photobook reorder the database according to similarity
to that image.
Implementation
A database is a Composite with identical structure on disk (Unix
directories) or in memory (hash tables). Parts of the database may
transparently move back and forth between the disk and memory
representations, similar to virtual memory. This is how caching and
temporary changes, like reordering, occur.
Parts of the database are not permanently stored but instead created
on demand, such as similarity scores and zoomed versions of images.
This is implemented by special kinds of tables (active tables) which
obey the same protocol but compute their contents on the basis of
other tables.
A Chain of Responsibility is used to read images and feature files,
which may be stored in various formats.
The user interface is written in Tcl/Tk, augmented with commands for
the table protocol. This, and a standard naming scheme for database
contents, is sufficient for a functional application, because the
database provides most of its own behavior in the form of active
tables.
Thomas Minka
Last modified: Tue Oct 8 15:34:31 EDT 1996