Powering Digital Media Production ... Return to Media Workstation Home Page

Xmorph and Creative Data Visualization
An Interview with Dr. Michael J. Gourlay

Search Media Workstation

Click here to search all Digital Media Net

 

 

 

 


Since 1989, Dr. Michael J. Gourlay has been writing programs in C almost entirely on UNIX systems. He has worked on computer animations, image procesing, and scientific data visualization software both professionally and as a hobby. His Ph.D. is in physics in computational fluid dynamics and he has the coursework equivalent of a bachelor's degree in computer science. Although he's held the title of UNIX system adminstrator now and then over the past 9 years, his current position of Research Scientist with Colorado Research Associates involves visualization of large 3D data sets which rely heavily on volume rendering.

CL: What initally drew you to Linux as an operating system and developers' tool?

MG: I've written programs using the X Window System almost as long as I've been writing C code, but before Linux was around, I had always prefered using Unix to the other, less refined operating systems. I tended not to have a machine at home because I could not afford a computer that ran Unix (since I was a poor student). I knew about Minix but found it horribly lacking and annoying. When BSD386 came out I tried it but it was extremely buggy. When Linux finally came out and was more or less stable, it was a natural choice for me to use it. Linux allowed me to use at home the operating system I prefered. I had heard of the GNU project when it began and was sympathetic to their ideals. I had written a few programs and always allowed other people to use the source code I wrote. Very few of those programs were worth the attention of other people, though. Probably the only other program I wrote before XMorph that might have potentially gained popular appeal was an X Window System version of missile command, except that my version employed a slightly more realistic physical model of how balistic missiles fall from the sky. I used that program as an example to myself of how to write a widget. I never really pursued making it widely available.

CL: What is Xmorph?

MG: Xmorph is a program that allows the user to create coordinate meshes, and which digitally warps and dissolves, or morphs, images. Xmorph uses the X Window System for its graphical user interface (GUI). The image processing functionality is a separate set of code which can be used as a library to write morphing programs in other GUIs. The morphing library is standard C and should be easily portable to any operating system. I wrote the rudiments of a TCL/Tk version of Xmorph, and that was called Tkmorph. The intention was to have a program that would run under any operating system that TCL/Tk worked under. The Simplified Wrapper Interface Generator (SWIG) was used to create the TCL bindings of the morph library. Tkmorph never got finished due to a lack of interest from other people, and because of discouragement from Richard Stallman to use TCL/Tk.

CL: What initially prompted you to create Xmorph?

MG: At the time I wrote Xmorph, morphing was relatively new as a special effects technique, and there were not very many programs to accomplish the task. As far as I knew, none of the available programs were for Unix/X Window System architectures, and I was positive that there were none which were freely available. Also, I knew how to write the algorithms since they were published in a book called Digital Image Warping, by George Wolberg.

CL:What kinds of hardware, software, and what flavor(s) of Linux were used in the creation of XMorph?

MG: The original version was written in 1993 under HPUX on an HP 9000/700. At the same time, I made sure Xmorph would compile and run under SunOS (now called Solaris) and SGI IRIX. When Linux became stable, I also made sure Xmorph worked under Linux on various Intel-based boxes. As other people would port Xmorph to various machines, I would incorporate changes to the distributed code. The changes were mostly in the Makefile. Some additional changes included support for monochrome and truecolor displays. Xmorph also has the ability to have its colormapping technique use a configurable number of bits per channel. Since I wrote Xmorph, other open source morphing programs have been written for the X Window System but I know of none which are still maintained.

CL: How does Xmorph work with GIMP?

MG: Xmorph is a stand-alone application that is also a GIMP plug-in. The plug-in code was written by Gordon Matzigkeit. When Xmorph is compiled with the plug-in support and properly installed, Xmorph is invoked from within GIMP as any other plug-in is invoked.

CL: What do you have planned for the future, both for XMorph and for any other tool you may be devoloping?

MG: For Xmorph, I add features on demand. When other people ask for a certain feature, I encourage them to implement the code so that I can include it into the distribution. If I am able, and I have enough time, I implement other features. It would be nice to have Xmorph ported to ther GUIs such as Lesstif, GTK, or Qt, and to other operating systems, such as MS Windows and Macintosh.

You can contact Dr. Michael J. Gourlay at 303-415-9701x203, fax:303-415-9702, or by e-mail at Michael.Gourlay@colorado-research.com. His home page is located at http://www.colorado-research.com/~gourlay
.

Information on Xmorph can be found at http://www.colorado-research.com/~gourlay/software/Graphics/Xmorph/.

Check out the Xmorph tutorial here!




© 2003, Digital Media Online, All Rights Reserved

  home      search      user forum      subscribe      media kit      contact       webmaster@digitalmedianet.com   Return to Media Workstation Home Page