Archive for December, 1998

Image and Video Processing

Posted on the December 8th, 1998 under Classwork,Software by

In this excellent class taught by Prof. Stan Sclaroff, we learned about the algorithms for recognition and classification of objects and patterns in images and videos, as well as advanced manipulation of images and videos.

Click on the images below to access the extensive writeups as well as  source code for each of the assignments.

Optical character recognition

Face detection using eigenfaces

Active contours using snakes

Image mosaics


Posted on the December 7th, 1998 under Classwork,Software by

In the Software Engineering class, our team of five developers, some more active than others, put together a rather large graphical UML design and code generation program in the vein of Rational Rose.  We called it Penumbra and developed it in Java 1.1 + Swing, as it became Java 1.2.  Our program allowed the designer to create and edit classes and define relationships amongst them using a rather spiffy Swing GUI.  It also saved and loaded UML diagrams using a back-then-novel XML format.

This was a rather large project and I remember spending about 90 days in full crunch mode.  As I worked on the GUI and the core logic, Nick Eskelinen was working on XML loading and saving, Zack helped out with the mini-map (a summary overview of the large graphical design area), and other students pitched in as well.

Penumbra had hundreds of nifty GUI features that you can find in larger diagram design programs like Visio, such as:

  • Multiple-select and deselect objects, cut and paste
  • Cached rendering and realtime resizing of class diagram boxes.
  • A fully featured class editor with autocomplete of class variable types.
  • A class tree viewer a la Visual Studio.
  • A mini-map overview of the diagram design canvas.  Drag-to-scroll feature for the canvas.
  • Relationship arrows between class boxes that re-route around obstacles.
  • Magnetic attachment points on the class boxes.
  • XML loader/saver capable of “dirt-bagging:” preservation of unknown XML elements across loads and saves.

Here are some deliverables for your perusal.

Download: Product reqs doc

Download: Final spec

Download: Our UML DTD

Download: Penumbra Source Code

Screenshot of Penumbra UI

My Class Interface Editor

Walking arrow demo: relationship connectors reattach to magnetic points when a class box is dragged