Team Eclipse
------------

   Naveed Hasan <naveed@cs.columbia.edu>
   Paul Blaer <psb15@columbia.edu>
   Corey Tripp <crt17@columbia.edu>
   Lenny Volchok <lv71@columbia.edu>


Program
-------

   find_light is the 3D desktop photography light calibration program.


Usage
-----

   find_light tsai_params height_mm images...

   tsai_params is the Tsai parameters file output by the camera calibration
   program.

   height_mm is the actual height of the pencil used for light calibration, in
   millimeters.

   images... are the filenames of two or more images to be used for light
   calibration. There must be at least two, however there can be as many as
   desired.


Notes
-----

   For any pair of light calibration input images, this program exactly follows
   the algortihm described by Jean-Yves Bouguet and Pietro Perona in their
   paper "3D Photography on your desk".

   When there are more than two such input images, we use the mean of the
   light locations calculated from each unique pair. This creates N * (N - 1)
   / 2 pairs and corresponding light locations, where N is the number of input
   images. The averaging smooths the error associated with human input and also
   compensates for the fact that the light is not a perfect point source.

   This program requires the X11 windowing system to function, the GUI is
   written using this library.

   When an image is presented to the user, they should carefully click first on
   the top point in the pencil shadow (the tip) and second on the bottom point
   of the pencil / shadow (slightly ambiguious, but a consistent relative
   position choice should work well). The interface will then proceed to show
   the next input image, etc. until there are none left. The same sort of input
   is expected of the user for each image.

   The output of the program is the 3D coordinate of the light. This can be
   redirected to a file if later use is required (e.g. in the desk_scan
   program).

