other:dsx:x4d:tutorials:basic_bone_tracking
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
other:dsx:x4d:tutorials:basic_bone_tracking [2024/07/17 15:43] – removed sgranger | other:dsx:x4d:tutorials:basic_bone_tracking [2025/06/04 14:55] (current) – Cleaned up and added section headers. wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Basic Bone Tracking ====== | ||
+ | |||
+ | This basic tutorial is an introduction to bone tracking in X4D. Users should master these steps before progressing on to the more advanced tutorials. | ||
+ | |||
+ | ===== Considerations ===== | ||
+ | |||
+ | We recommended that you track bones one at a time in x-ray images, unless two or more bones overlap in the images and accounting for this overlap improves tracking. This is because tracking with optimization sees the optimizer randomly positions each bone during each iteration and evaluates the fit of all bones. It can happen that one bone is moved to a better pose while the other bones were moved to worse ones (a common occurrence). In this case the overall fit would be worse and the poses of all bones would be discarded, even though the optimizer did improve one bone's pose. | ||
+ | |||
+ | The recommended procedure is to track the largest/ | ||
+ | |||
+ | ===== General Bone Tracking ===== | ||
+ | |||
+ | Here is the general procedure for doing so: | ||
+ | |||
+ | ==== Establish Parameters ==== | ||
+ | - Load the subject into X4D and select the session, configuration, | ||
+ | - Scroll through the x-ray images and identify the range of reporting times over which the bone is trackable. | ||
+ | - Check the //Show Processed Xray// checkbox above each x-ray image to view the processed x-ray images. The processing that is performed on the X-ray and [[other: | ||
+ | - Experiment with the x-ray processing parameters in the [[other: | ||
+ | - If you have motion capture data, use the guide [[Other: | ||
+ | |||
+ | ==== Manual Pose Definition (if required) ==== | ||
+ | - Manually define poses for the bone every 5 - 10 reporting times through the trackable range. This will keep the pose map splines from extrapolating to unrealistic values, and provide reasonable initial poses for the entire trackable range. You do not need to spend a lot of time carefully adjusting the bone pose at each reporting time; this is just a first-pass manual initialization to replace motion capture seeding. Putting the bone within about 10 mm and 10 degrees from its correct pose is sufficient. To do this: | ||
+ | - Select the bone in the [[Other: | ||
+ | - In the X-ray windows, there are two ways to move the bone. | ||
+ | - You can also manually pose the bone in the 3D view. Select //3D View// from the //View// menu to open the window with the 3D view of the x-ray lab. With the checkboxes above that window you can turn on the display of bone and the x-ray images. The commands for moving the bone are described in the section //3D View//. | ||
+ | - When you are done moving a bone for the current reporting time, be sure to save the pose to the pose map by selecting //Add Current Poses to Maps// in the [[Other: | ||
+ | - To see graphs of these initial bone poses, open the [[Other: | ||
+ | |||
+ | ==== Object Tracking ==== | ||
+ | - Save the initial bone poses to a file by selecting //Save Pose Maps// from the //File// menu. You will be prompted to browse for a file to create. Then save the subject file with //File → Save Subject//. | ||
+ | - Go to one of the reporting times where it looks like tracking will be easiest. Manually move the bone so that it's within 2-3 mm and 2-3 degrees of the correct pose. | ||
+ | - Open the [[Other: | ||
+ | - Set the 6 DOF ranges to 3-4 mm and 3-4 degrees. Set //Max iterations// | ||
+ | - Select //Solve Current Frame//. Turn off the display of the DRRs to make the optimization run faster. | ||
+ | - Turn the DRRs back on and check the result. You may need to run the optimization longer or manually move the bone closer to the correct pose. The goal here is to determine a good trade-off between taking the time to manually adjust the bone to get it close, and taking the time to run a longer optimization. At one extreme you can spend 1-2 minutes manually adjusting the bone to get it as close as possible (at each reporting time), then set the max iterations low (500) and DOF ranges tight (1-2 mm/deg), then run a short optimization. At the other extreme you can rely on motion capture data or very quick manual adjustment to get the bone within about 10 mm and 10 degrees, then set the DOF ranges to 15 mm and 15 degrees and run a 5000 - 10000 iteration optimization. | ||
+ | - If you find that the optimization does not lock into the correct pose even when you start it close, this could be because the DRR image and x-ray image are not a good match to each other. This is usually because the intensities and thicknesses of the edges in the DRR image do not match those in the x-ray image. This can often (though not always) be fixed by adjusting the X-ray and DRR image-processing settings in the [[other: | ||
+ | - //File → Save Pose Maps//. | ||
+ | - Go to the next or previous reporting time. The initial pose for this time should be pretty close to correct because it's calculated by interpolating the pose map splines. Try //Solve Current Frame// and check the results. If they are not optimal, try adjusting the tracking parameters and/or manually adjusting the bone pose. | ||
+ | - Proceed to solve 2 or 3 more reporting times one at a time. If the results are good and no adjustments are needed, set the // | ||
+ | - //File → Save Pose Maps//. | ||
+ | - Once you have solved a small range of reporting times you can try a larger range (or possibly even the entire trackable range). | ||
+ | - //File → Save Pose Maps//. | ||
+ | - Once the trackable range is solved, you can try fine-tuning and smoothing the results with 4D solving, which is described in the section //4D Optimization// | ||
+ | |||
+ | |||
other/dsx/x4d/tutorials/basic_bone_tracking.1721230985.txt.gz · Last modified: 2024/07/17 15:43 by sgranger