The windowLevel binary included on v6.1 of the Developer Toolbox was
generated on an IRIX 6.2 Indigo² Impact system.
In order to recompile you must install the GLUT 3.0 software,
included on this v6.1 Toolbox, onto your own system.
The inst images or tardist file can be found in
toolbox/src/exampleCode/opengl/GLUT/inst
README file from "src" directory
/* Author : Patrick Bouchaud galaad@neu.sgi.com */ PURPOSE: ======== In order to locate tumors, the doctors analyse a stack of parallel scanned images of the brains of their patients, which often requires re-slicing this volume along another axis. Since the spectrum of a scanner often extends beyond the color spectrum perceptible to the human eye, the first technique (Window Leveling) applied to the data is to scale and offset (level) them to the interesting range. When time allows a preliminary indexing (Archiving) of the data, then color tables are also used. The data size represents the most drastic constraints of Medical Imaging Applications : 256x256x124 or 512x512x64 16-bit datasets are fairly common, which often exceed the texture memory capacity. The dataset has then to be divided (real-time Tiling) into separate tiles, which are processed individually : the results are assembled in the final view. AUTHORS's ticks : ================ I use 4-space tabulations (sorry for the printing) My Makefile first creates a .ofiles directory, where all the .o files go, and where the actual executable $(TARGET).EXE is generated. A $(TARGET) link is then created from the current directory to the executable. Libraries : =========== These Examples use P.Haeberli's libimage.a, and M.Kilgard's libglut.a. I assume these files are located under /usr/lib, and the image.h header can be found under /usr/include/gl, whereas the glut.h file should be under /usr/include/GL. COMPILER's DIRECTIVES: ====================== -DDB: double-buffering OPENGL EXTENSIONS: ================== CODE ARCHITECTURE : =================== The code is made of 3 separate modules : The Main module - Main.c The Manipulator - manipulator.c The Voxel viewer - voxel.c The Main module Launch the Manipulator and Voxel Viewer modules NOTE that the "PlaneStructure Plane" structure is transparently shared between the Manipulator, Voxel and Main modules. It is updated by the Manipulator, and used by the Voxel viewer.
Source
Documentation
Reference