USER MANUAL


Main Document Window
This is the window that represents the document.  There are four tabs across the top of the window.  Only two of these currently serve any purpose:  Images and Cameras.  A single document may hold references to many images.  It will also keep up with many reference points, cameras, and eventually modeled objects.

Images Tab:
This tab contains three important objects.  The image array shows all images that have been opened within the document.  The slider on the bottom left controls the number of images placed in a single row in the array.  The reference point counter on the bottom right shows the total number of reference points that have been created within the entire document.

To add images to the document, choose “Add Image From File…” in the “Images” menu.  In the window that pops up, you can choose to add a single file or multiple files simply by selecting more than one file within a single folder while holding down the command key.
 
To edit attributes of a single image, such as the specific camera that is tied to that image, double click the image in the image array.  A new window will open.  This window is described later.

Reference Points Tab:
This tab consists of an outline view that displays the existing reference points and allows the user to edit attributes.  These attributes are all editable elsewhere.

The top of the tree is simply a list of the reference points.  The number in the name of the point is the number that is used in the Image Window.  This cannot be changed.  Inside of the reference point is the location of the point.  This shows the real-world coordinates of the point, as set in the Image Window.  This can be changed.

Each reference point contains a list of adjacent points and a list of images containing that point.  The image names are set in the Image Window.  The reference point has a location in the image, which is not restricted to integers, as well as a boolean value  the determines whether the point will be used in the calculation of the camera location.  This feature is included to allow moving points in an image and recalculating the camera location based on only those points, even if the image includes other points whose locations have been calculated.

Cameras Tab:
This tab consists of an outline view (hierarchical list of items) and a button in the lower right corner labeled “New Camera.”  (Remove camera does nothing yet.)  First, a camera must be created.  Click the “New Camera” button.  A sheet will pop up with four fields.  These fields must be filled in from top to bottom.  The pop up menus will list all records created of the specific type with respect to the above records.  The “Identifier” field needs to be unique across the entire document.  This is for ease of use when choosing which to attach to a specific image.

To expand an item in the outline view, click the corresponding triangle to the left of the item.  The numbers are editable.  To edit a value, double click on it.  All blocks will appear to be editable, but only the numbers are.


Images Window
This window is where a large portion of the setup work is done.  The majority of the window is used to display the specific image being worked on.  In this image, all reference points relating to the specific image are displayed in image.  Small circles drawn in the image represent these.  

To create a reference point, click on a point in the image and then click the button labeled “New Point.”  The button will change to “Set Point.”  When a reference point in the image is selected, the button will show “Set Point.”  When a point in the image has been specified that is not a reference point, the button will change to “New Point.”  

To specify (or change) the location in real world coordinates of the reference point, enter the x, y, and z values in the respective data input fields immediately above the button and click “Set Point.”  To change the in-image coordinates, simply drag the reference point, or select a reference point, change the horizontal and vertical values, and click “Set Point.”  The buttons immediately to the left of the horizontal and vertical values will change the location of the point by 1/8th of a pixel.  To mark adjacent reference points, hold down the command key, and drag between the two points.  A line will appear between the two points after the connection has been made.

To specify a reference point in an image that has already been defined in another image, specify the location in the image by clicking, enter the number of the existing reference point in the “Reference Point” field, and click the “Set Point” button.  This specifies that these images have this point in common.

To enable the “Camera Information” portion of the window, select an identifier from the “Camera Identifier” pop-up menu.  This pop up menu lists only the identifiers of any cameras that were created in the “Cameras” tab of the document window.  Once a camera has been selected, the location, look-at, and up vectors will be available to be edited.  To set these by hand, enter values and click the button labeled “Set Manually.”  To have these values figured out for you, define four reference points in the image with defined real world coordinates.  After creating four reference points, the “Discover” button will be enabled.  The "error" field in the window will display percent error in the resulting camera location.  For the algorithm to function properly, the four reference points must create a corner—all defined lines from this corner to the other reference points must be perpendicular to each other.  It is not necessary to enter the points in a specific order or define which is which, as the program will find this automatically.

Creating a reference point without specifying it's real-world coordinates implies that you want the program to find the location for you.  Specify a reference point common in two images with known camera coordinates, and the location will be triangulated.  If possible, all reference points with unknown locations will be triangulated immediately after discovering the camera location.  The "error" field will show the distance between the lines being triangulated.  You can click on a discovered point to see its error in location.  Dragging a reference point whose location has been triangulated will result in that point being triangulated interactively.