Flounder is a quick way to visualize regularly spaced 4D data, i.e., a data set that is a function of x, y, z, and time.

History of the name

Flounder has its origin in a program developed by André Bleau at the University of Montreal called affiche (pronounced a-feesh) which is French for display. Originally this only displayed on SGI machines due to GL code. Annoyed because I had a Linux box on my desk, I wrote my own simple version and called it guppy since it was a small version of a fish. Eventually, I wanted to learn C++ so I rewrote guppy and added new features. The program at this point evolved into flounder since all the new functionality made it much bigger, I used the FLTK widget set, as well as the fact that I initially struggled with the C++.




Flounder has been successfully compiled with g++ under Linux and Irix. It needs the following to compile:

I am looking for people willing to help port it to other platforms, especially Windows. Flounder now compiles under Windows but core dumps when opening the first data window.

IGB format

Currently, flounder only supports the IGB image format, a small description of which can be found here in postscript. A utility program, igbhead, is now included with the distribution to add the igb header to an existing data file. Example igb files of cardiac simulations are available for download.


There are now two versions of flounder, one of which compiles with gcc 2.9* and uses FLTK 1.0.* and the other which compiles with gcc 3.2.0 and uses FLTK 1.1.*. Development on the former has been frozen.
Download gcc 2.96, FLTK 1.0 version: flounder-0.39a
Download gcc 3.2, FLTK 1.1 version: flounder-0.40


The changelog is available here

Super Quick Tutorial

  1. Make sure to download the IGB example files.
  2. Type flounder example/3D
  3. Click on the Cursor button to display the current cursor position
  4. Click on Time button to see the time series at that point
  5. Click on another point in the data window to move the cursor
  6. Click on the 3D tab to see a 3D representation
  7. Move the dials to change the orientation
  8. Click on the Solid 3D tab. Turn on solid modelling. Enter a transparent minimum of -90, click on use transparent range and enter a transparent maximum of -50. Now click on the right arrow to start the animation.
  9. click on anything else you'd like. Some online documentation is available in ugly colours

TODO (in no particular order)


Feel free to contact me at vigmond@ucalgary.ca

Return to Edward Vigmond's home page