Synthetic range/color scanner


Here's source code for a simple range/color scanner simulator.
It's tar'd and gzipped, and the size of that file is 2117534.

Basically, the program reads in Inventor scenegraphs and simple ASCII triangle files, views them in an
Inventor ExaminerViewer, and allows the user to take snapshots of what is being displayed.
The program saves an RGB image, a depthmap in sensor coordinates, and a 3D transformation that can be used
to align several snapshots into a single coordinate system.

The software is expected to compile only on SGI's and requires both Inventor and Image Format Library.
An executable compiled on an SGI O2 is included.


A small tutorial

This tutorial shows the steps for a simple demo.
Start the program: viewer chair.iv

Change from orthographic projection (default) to central (perspective) projection by clicking the lower
right button on the right toolbar.

Make the perspective a bit less severe. Click with the right button to get a pop-up menu.
Choose Preferences. Change Camera Zoom from the default 90 to 45. Dismiss the pop-up menu.

Remove the decoration in preparation to taking the snapshot. Click with the right button to get a pop-up menu.
Turn decoration off.

Choose a viewing angle by rotating, panning, and zooming (left + middle button).
Take a snapshot by selecting the getZvals from the Other cascade menu on the menubar.
Choose the base name for the file (e.g., test). Make sure the file selector widget does not
occlude the main window when you click ok.

Files test.m (ASCII point file), test.rgb (the color image), test.rlexyz (runlength encoded depthmap,
readers and writers in DepthMap.cc) and test.xf (4x4 alignment matrix) are written out.
Below the range map: viewer test.rlexyz

And here the range data with colors: viewer test.rgb test.rlexyz


Please drop me a note if you find this program useful.

Kari Pulli

APR 2, 1998