GAH Annotated Hex is an open source / free software hex viewer for GNU/Linux or other UNIX-alikes. It allows you to annotate fields and types within binary files with a C-like description language. Here's a screenshot:

The current version is 0.5 Beta
After building from source:
$ ./configure --prefix=$HOME $ make $ make install # If you likeyou can run the program with the name of the hex file first, and the name of the description file second (the description file is optional):
$ ./src/gah ~/pictures/dan.bmp data/bmp.gahThere are a handful of description files in the data/ subdirectory (some woefully incomplete).
Download: source || documentation