Note that this step used to be called "Smart Smoothing" and was based on a different algorithm. Make sure that you have the most current leastSquaresRigidBodyMotion MATLAB and Maya scripts for this step.

what you need:

  1. a markercoordinates.csv file 3 columns for each marker (xyz coordinates)
  2. an *xyzpts.csv file from digitized data (may need to be smoothed before calculating rigid body motion)

Note: The number of columns must be a perfect match between the two files.
if you have 10 markers - you must have 30 columns in both files.

what to do:

  1. type rigidBodyMotionFromMarkers at the MATLAB prompt
  2. select *xyzpts.csv file
  3. select markercoords.csv file
  4. type the number of bones in the input box
  5. select the markers associated with each bone (omit any markers with all NaNs)
  6. save the file output.

what you get:
A (yourfilename)BoneTforms.csv file with the translations and rotations to drive your bones (in a bizarre, Maya-friendly 16x1 matrix format)

Note: After you run through steps 1-6 in matlab, the variables markerIdx and ct are stored in the workspace. If you need to do subsequent reconstructions, simply type rigidBodyMotionFromMarkers(markerIdx,ct) at the matlab prompt. This will elimate steps 3-5.