Skip to end of metadata
Go to start of metadata

What you need:

  1. Undistorted images of your calibration object
  2. A framespec.csv file that has the XYZ coordinates of the markers in your calibration object

What you get:

  1. an 11-coefficient DLT file
  2. a mayaCam file that is in the correct format for creating cameras and film planes in Maya or AutoScoper software
  3. an xypts file with the xy coordinates of the beads

Open MATLAB, and in the Command Window run the XrayProject.mat script by typing "XrayProject" and press Enter or Return.

To create DLT coefficients start by clicking the "I need to calibrate" and "Calibrate3-D" buttons in the XrayProject window

A DLT Calibration control window will pop-up, select "Initialize"

You will be asked to load a specification file for your calibration object. For example, this is the framespec.csv file for a cube with 64 markers and 6.5 cm marker spacing.

You will be asked to load a calibration image file. Chose the calibration cube image that has been undistorted (*UNDIST.tif).

The Undistorted cube image will appear in a new window. Click the visible points of the calibration cube. You may want to check the "Find centroid" radio button to help with alignment. Change points by using the drop down point number menu in the the DLT Control window. View a reference numbered calibration cube here.
Useful keyboard shortcuts here.

Note that you need to digitize a minimum of 12 markers. You are looking to get a calibration coefficient with a low residual (ideally less than 0.3, but everything under 1 is good).
After you have 12 markers, you will be able to press the "compute coefficients" button, which will calculate a calibration residual and display it next to the button. After you have clicked all visible markers, press the "Error analysis" button. This displays a graph that shows you your digitized points. You can use this graph to figure out which points are increasing your calibration residual. Points should mostly cluster together at the top of the graph. Points that are far away from the cluster at the bottom of the graph are markers that are either in the wrong place or not well centered. You can either try to re-center the marker to get a better residual or delete it if it continues to cause problems.

Note: always try to place the point in the center of the markers. Do not offset points to improve the residual (that would defeat the point of calibration). Delete points that continue to cause problems after the points are centered.

Once you are satisfied with your residuals, save your data. A window will pop-up asking for a prefix for your files. Three files will be saved with the prefix chosen. A *DLTcoefs.csv file, a *mayaCam.csv file, and an *xypts.csv file.
It is possible to load data that you saved if you want to continue digitizing points or try to lower the residual. You want to load the "*xypts.csv" file, not the "*DLTcoef.csv" file.
This process should be repeated for all cameras used. The single-column DLTcoefs file generated for each camera can then be combined into a single csv file for all cameras using the "I need to Merge" function in the XrayProject Window. This file of merged DLT coefficients will serve as the DLT coefficients while digitizing.
We recommend checking your calibration before you start digitizing or rotoscoping.

Markerbased XROMM: Digitizing in DLTdataviewer

Markerless XROMM: Recreate Xray cameras in Maya