...
The scaling step scales the mass properties (mass and inertia tensor) of the model, as well as the dimensions of the body segments. Many of the elements attached to the body segments, such as muscle actuators and wrapping objects are also scaled. The scaling algorithm uses a multi-stage process and each stage is described in more detail below.
Step 1 - Computing Scale Factors
The first task involved in the scaling step is to compute the scale factors for each body segment. This can be accomplished using a combination of measurement-based and/or manual scaling.
...
In measurement-based scaling, scale factors are determined by comparing distances between markers on the model and experimental marker positions provided in a .trc file (see __40__ Marker (.trc) Files) for more information about .trc files). A single scale factor is computed using one or more marker pairs.
...
As an alternative to computing scale factors using measured marker positions, it is possible to specify the x-y-z scale factors for a segment manually. This is useful if the actual scale factors for segments are known, or were computed using some alternative algorithm.
Step 2 - Scaling the Model's Geometry Based on Computed Scale Factors
Next, the Scale Tool scales the model's geometry based on scale factors computed from measurements or provided manually by the user. The algorithm scales joint frame locations, mass center location, force application points, and muscle attachment points. Since each of these objects is represented in a specific body frame, the scale factors for the corresponding body are applied to scale the positions. For example, the distal soleus muscle attachment point is scaled according to the scaling factors for the shank segment. Wrapping Objects are scaled by the same scaling factors as the body they’re attached to.
Step 3 - Scaling Mass and Inertial Properties
The computed scale factors, input target mass, and preserve mass distribution are used to scale the masses of the segments. Below is a table describing the four ways that the individual segment masses may be adjusted.
Input Target Mass (TM) | Preserve Mass Distribution (PMD) | Scaled Model Mass |
---|---|---|
TM > 0 | PMD is checked | Each body mass is scaled by the product of its own scale factors, then each body is scaled again by the ratio of the target mass to the sum of the scaled masses. The scaled model mass will equal the input target mass. |
TM > 0 | PMD is unchecked | The mass of each body is proportionally scaled by the ratio of the target mass to original mass. The scaled model mass will equal the input target mass. |
TM <= 0 | PMD is checked | None of the body masses change. The scaled model mass will not have changedchange. |
TM <= 0 | PMD is unchecked | Each body mass is scaled by the product of its own scale factors. The scaled model mass will equal the sum of all the newly scaled body masses. |
Step 4 - Scaling Muscles and Other Model Components that Depend on Length
Components in a model that depend on distances or lengths, like ligaments (as of version 3.3) and muscle actuators, are next updated. For example, a muscle’s new optimal_fiber_length and tendon_slack_length are computed during the scaling process. A scale factor is computed as the ratio of the length before scaling to the length after scaling and the result is used to scale the component's length-dependent properties. The process is complicated by the fact that parameters like a muscle's length are configuration dependent, thus OpenSim tries to maintain the model configuration across scaling.
...
After scaling the model, the next step is to move the model's markers to match experimental marker locations in a static pose. The static pose is computed by trying to match some combination of experimental marker positions and generalized coordinate values, as in the inverse kinematics (IK) step (How Inverse Kinematics Works). The marker locations corresponding to the static pose are computed by averaging the marker positions in a given .trc file across a user-specified time range. Just like IK, marker and coordinate weights are used to determine how strongly the algorithm should try to match them. Once a static pose is computed using the IK-based algorithm, all model markers (except for those designated as fixed) are moved to the averaged "static pose" positions of the experimental markers.
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Next: How to Use the Scale Tool Previous: Getting Started with Scaling Home: Scaling |
...