Make sure that you have the most current XrayProject scripts MATLAB scripts and Maya MEL scripts for this step.
what you need:
- a CTmarkercoordinates.csv file 3 columns for each marker (xyz coordinates)
- an *xyzpts.csv file from digitized data
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.
You can filter *xyzpts data prior to calculating rigid body motion (read Filtering Data for background information on filtering)
- type butterBatch at the matlab prompt (or press the filterXYZ button on the XrayProject Window)
- enter the cutoff frequency, recording frequency (i.e. frame rate), and filter type
Note: it is important to enter your correct frame rate. The default is 250 frames per second. It is also important to select an appropriate cutoff frequency; generally 5 to 10 times greater than the frequency of the motion in your videos
- select 1 or more files to process
- Original and filtered data will be plotted for the first data file
- files are saved in the original directory with BUTTER## appended to the
end of the original file name. The ## specifies the cutoff frequency
what to do: Calculate Rigid Body Motion Procedure
*** OBSOLETE, DO NOT USE ***
CRITICAL UPDATE: Use new XMALab software for marker-based XROMM, including Undistortion, Calibration, Marker Tracking, and Rigid Bodies.
XMALab replaces MATLAB XrayProject. See Bitbucket XMALab wiki for XMALab User Manual (not this wiki).
Calculate Rigid Body Motion
- Type rigidBody into the MATLAB commandline.
- Select the .csv file with your calculated CT marker coordinates.
- Select your unfiltered (xyzpts.csv) or filtered (xyzptsButter##.csv) data file.
- Type the number of bones in the input box.
- select Select the markers associated with each bone (omit any markers with all NaNs)
- save the file output.
what you get:
A (yourfilename)AbsTforms.csv file with the absolute (relative to 0,0,0,) translations and rotations to drive your bones (in a Maya-friendly, framex16 matrix format)
- To use this file in Maya to animate bones, you will
- select the bones in the same order used above.
- click the imp shelf tool or type impdata at the MEL command prompt
- select the file saved in step 7
- , i.e. markers that were not digitized).
- Save the file output.
- rigidBody calls 2 additional scripts: svdrigid and mayaMatrixFormat
- svdrigid takes marker data for a single bone and outputs rotations and translations
- mayaMatrixFormat converts the framex3x3 rotation matrices and framex3 translations and converts them to a framex16 rotation matrix in a Maya-friendly format
- you need a minimum of 3 markers per bone in order for the program to have enough information to calculate the rigid body motion.