3D Photography: Vision Lab Informations

You will find in this page some advices for the lab. Please, read this page carefully and regularly.

* The project Report:

You can download a tar version of the report template directory. The main file to load is report.html.

* 1- Grabbing images

On the linux machine, there is a program that acquires simple sunraster files. The syntax is:

acquire image.ras

It dumps the data in the file image.ras that can be read using xv or readras.m (under matlab ).

The source code (in C) and the Makefile can be found on the /home/ftp/pub/dt3155/ directory of the machine.

The executable is copied in /usr/local/bin/ where you can also find a simple script file objac* (from Emil and Marcel) that allows multiple image acquisition. From that example you can write your own script very painlessly.

You can also get the tar version of the dt3155 directory online.

* 2- Remote access to the machine

You can remotely access to the machine by doing ftp or telnet to photo3d.caltech.edu (the IP address is

* 3- Some useful matlab functions

There are available a couple of matlab programs on the photo3d machine (in /home/ftp/pub/): There is now a Automatic Calibration Package available online!!! Retrieve the compressed tar file AUTOCALIB.tar.gz. You will find in the README file some instructions as how to use it for doing the full camera and projector calibrations in 8 clicks total!!

* 4- Programs to generate Stripes on the Laptop

Thanks to Emil and Marcel, there are a couple of programs on the laptop that generates stripes on the screen for the projector (in the D partition in the directory D:\stripes\).

Take a look at them, starting with stripes.exe and checker.exe. There is another program that generates directly gray code stripes (Gcodestr.exe). Run it, and see what it does.

You should think of how those striped images are generated. The Pascal sources files are available on the machine, but PLEASE DO NOT MODIFY THEM!!! If you want, you can copy them to your account. The Pascal compiler works. Therefore, you can write your own code for generating anything on the projector screen. To compile a program, type under DOS:

tpc myprog.pas

where myprog.pas is your Pascal source code. (it turns out that Pascal is quite handy for doing fast graphical stuffs)

Please DO NOT PUT A MESS IN THE LAPTOP, if you want, you can generate your own directory on the D partition and put your stuff in it (name it after your login name).

* 5- The SYNC issue for the projector

If the projector seems to project non uniformed stripes, hit a few times the Sync button of the projector, and everything gets better. If you change the SYNC of the projector and later on turn it off, it loses the setup. A solution is to keep the projector on, and only turn off the lamp, by pressing on the "lamp" button in front of the projector. Try not to keep the projector lamp on for long periods of time.

* 6- How do we increase the projector depth of focus?

By lowering the aperture of the projector, you significantly increase its depth of focus.

Of course, the trade off is brightness. Indeed, by lowering the aperture we lower the brightness as well. In addition, if you make your aperture too small, you introduce a bit of diffraction (a projectred black blob).

I made up a couple of little devices to do the job. Please try them to convince yourself of the effect(s). You can find them on or next to the projector.

* 7- Gain control of the camera

The camera has some gain control. In other words, it adjusts the overall gain on the image depending upon the average illumination. Due to that effect, it is rather difficult to use the absolute "white" and "black" images to locate the stripes on the striped images. Therefore, I STRONGLY recommend to use the negative of the stripes. This should not be so much affected by the camera gain control. Think of why?

* 8- The equipment is expensive!!!

Take a good care of the equipment. All that is rather expensive. Also, keep the COMBO code for yourself. We don't want the entire campus to wander around the lab...