Databases
The management of structural information presents interesting challenges for database research, not only because there is a lot of information, but also because the information is of complex and diverse types. A database for structural information needs to manage such diverse entities as molecular sequences, 3-D molecular reconstructions, images and image volumes, organ reconstructions, 2-D and 3-D image annotations, 3-D shape models, and symbolic terminology. The information needs to be efficiently represented and stored, and must be indexed so that it can be retrieved. These requirements are very general, and are studied in such fields as multimedia databases, knowledge-based database retrieval, content-based retrieval, and picture archiving and communications systems for radiology (PACS).
Our work-to-date in these areas has been more on the practical side as we've developed several databases to handle the data requirements for our current projects. All our implementations have employed either a standard relational database, or an extended relational database, in which relational tables contain pointers to multi-media data stored in files.
A distributed object-oriented image database management system was developed by Jim Brinkley for evaluation of medical image segmentation methods [Brinkley1994]. This system was implemented as a set of three NeXTStep programs that communicated with each other via NeXT distributed objects (a precursor to NeXT Web Objects). The underlying relational database was Sybase. This system allowed 2-D images to be indexed by terms from our symbolic knowledge base, retrieved according to both patient and structure, and added to trialsets that were used to evaluate an image segmentation procedure. The evaluation procedure remotely called the segmenter to load images, segment them, compare with a gold standard, and summarize the results, all without user intervention. Work has not continued on this system because it only runs on the NeXT computer.
We have built several database systems based on our Slisp programming environment [Brinkley1995a]. C modules that communicate with both Sybase running on the NeXT, and msql running on the SGI, are encapsulated as Lisp primitives. These primitives are then called by Lisp objects that model our local database environment, which includes multiple database servers, each of which can have multiple databases that include multiple tables. These generic database classes are then called by various classes speciazed for specific information servers, such as a bibliographic server that is accessed by a NeXTStep bibliographic manager , and various versions of the symbolic knowledge server and clients. Most of the Slisp-based database programs were written by Jim Brinkley. Scott Bradley added the msql capabilities as we reluctantly move away from the NeXT.
Most of our current database work is being done by Rex Jakobovits, as part of his Ph.D. thesis in multi-media databases. The Web-based repository manager [Jakobovits 1996, Jakobovits 1997] is implemented as a perl-based object layer over an msql database, and contains perl API's that make it easy to create custom Web interfaces, as well as manage multi-media files stored in a protected file storage area. The main application of this work is currently to our brain project.
Rex will continue to extend the Web-based repository manager to handle more complex datatypes, to integrate symbolic information for intelligent queries, and to interface to other programs. He will also try to generalize his methods and database models to handle a wide range of multimedia data, and will test these general models on other types of data. We are also looking at object oriented databases. In the longer term the database system, when coupled with the symbolic knowledge base, will become the backbone of our structural information framework.