Rotation 1 Report
Lab: Dr. David Foran
The Image Guided Decision Support System (IGDS) is a java based content-base image retrieval system designed to assist pathologists in detecting and discriminating among malignant lymphomas and chronic lymphocytic leukemia directly from microscopic specimens. (Comaniciu, 1999) Upon submission of an image from an undiagnosed case, the IGDS queries a ìground truthî database by statistically comparing the spectral and spacial signature of the submitted image with the database in which diagnoses were indisputably confirmed with immunoflouresence and molecular studies. The system makes use of complex algorithms in order to determine the statistically most probable diagnosis.
Originally, the architecture of the system consisted of a flat ASCII database. The main goals of my rotation were the migration of the IGDS from flat ASCII to the commercial ORACLE Object Oriented Relational database and the integration of data from immunoflourecence and molecular studies. The ORACLE model provides a number of advantages over the flat ASCII form. First, ORACLE makes the IGDS a completely scalable system. As the number of images in the database grow it becomes extremely inefficient from a performance standpoint to operate from a flat file database. The scalability advantages offered by the relational model allow for efficient indexing of the large complex datasets which the IGDS makes use. Second, the ORACLE database allows for easier management of data by archieving each imageís specific characteristics into relational tables. Access to the individual image data is essential for analysis as well as for future algorithm development. Furthermore, storing individual image data presents yet another performance advantage.
The first challenge of the project was designing the database architecture. (fig.1) This included creating the database tables and deciding what data was to be held within those tables while at the same time insuring maintenance of data integrity throughout the system. Second, it was necessary to migrate 261 images from the flat ASCII database into the ORACLE database. In order to generate the hierarchical metadata the IGDS feature extraction module was utilized. Approximately 400 matrixes associated with each image were generated. Consequently, it was necessary to use a new language called SQLJ (SQL Java). SQLJ is a hybrid between traditional java and SQL. It makes use of a JDBC (Java Data Base Connectivity) in order to access the database. Using SQLJ we were able to write a script which automatically computed and inserted the image metadata into the database. The third task was coding the algorithms calculations and diagnosis programs into ORACLE stored procedures and functions. The ORACLE database provides a means for processing complex calculations within the database as opposed to within the java program. Database query management is handled by a SQLJ script which is called every time a query is submitted to the database. (fig2) Lastly, the development of an XML (extensible Markup Language) interface was begun. The interface is designed primarily to allow the user to submit patient information and new images to the database. The interface works as follows: (Fig. 3) The user fills out an HTML (Hyper Test Markup Language) form containing the patient data. Upon clicking the submit button a PERL (Practical Extraction and Report Language) script is run which converts the HTML to XML. Then the XML is inserted into the corresponding database tables by a java program.
Currently the IGDS system is operating under the ORACLE relational object oriented architecture. While no increase is performance was initially observed it is believed that as the database grows no real deviations from the current speed will occur.
Furthermore, the current model facilitates the ability for future improvements and additions to the IGDS.