Dan worked on the problem of turning "pictures" of diagrams, which are diagrams in raster format (lots of pixels) into "vectorized" diagrams. The latter are made up of discrete objects. So instead of a line being, say 1,000 black pixels, it is an object defined by the x,y coordinates of its endpoints and its width. All of this leads to later stages in which a diagram can be manipulated and analyzed and then indexed and stored for smart retrieval. See my pages on diagram understanding (parsing) here.
Dan built quite a sophisticated system using Java Swing and Java 2D. There were two major tasks. One was to build the collection of data structures and algorithms which processed the pixels to find the vector objects. The other task was to build an interactive system that allowed us to control the process and view the results in various ways. He developed his system in Linux on an x86 machine, but the code ran, unchanged on my Mac Titanium Powerbook as well as on our Sun Solaris systems in the College.
Some screen shots of his system linked below, showing various aspects of the analysis.
About Dan Crispell: Dan was an Honors student in ECE (Electrical and Computing Engineering) with a minor in our College (CCIS). Early on he demonstrated that he was a smart, resourceful, hard-working and independent researcher. These strong qualities allowed him to tackle the vectorization problem and do a superb job of it. These qualities also lead to his admission to the Brown University Electrical Engineering Dept. as a PhD student, starting Fall 2003. He won a prestigious University Fellowship there. He became interested in graphics and images when he took my undergraduate graphics course and is continuing to work in the field of image processing in graduate school. One of his many redeeming qualities is that he tracks down useful research papers on his own and reads them closely and learns. When there's 30 or more years of accumulated knowledge in a field, you have to read. And when a field is changing all the time, as most are in Computer Science, you have to find the latest research papers and reviews and read them too. Textbooks are not enough. Reading, doing and interacting are the keys to progress and personal success, as Dan's example shows. Dan will of course, be a coauthor of the first few papers we publish on this work, as was Andrea Grimes, another Honors student in CCIS who coauthored three published papers in our group in 2003.
Current state of the project: I am working with a graduate student, Mingyan Shao in our college to refine and extend the system. Much of what Dan did will remain, but certain underlying algorithms are being ripped out and replaced with very different ones. All of this development takes a great deal of discussion. Dan and I and Mingyan and I often met/meet for two hours at a time to hash out ideas, often generating an idea and after an hour of discussion, tossing it and looking for a better one. Dan and I often had these discussions over dinner, which was a free time for both of us. It's fun to work this way, collegial and productive.
Return to Prof. Futrelle's Sp04 Honors homepage or his Teaching Gateway or homepage