Last active
June 26, 2024 11:13
-
-
Save adamkewley/b9d15d1f80f54a532b2f4e59359ba8b0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8" ?> | |
<OpenSimDocument Version="40000"> | |
<ModelWarperConfiguration> | |
<!-- `OffsetFrameWarpingStrategy`s used to warp specific frames in the model. A `StrategyTarget` | |
of `*` can be used as a lowest-priority wildcard to specify which strategy the warping engine | |
should use when it cannot find a more specific one for a given `OpenSim::PhysicalOffsetFrame` | |
in the model --> | |
<OffsetFrameWarpingStrategies> | |
<!-- The `ThinPlateSplineOnlyTranslationOffsetFrameWarpingStrategy` uses the thin-plate | |
spline algorithm to only warp the the `translation` part of the `OpenSim::OffsetFrame`, | |
leaving the `orientation` un-warped --> | |
<ThinPlateSplineOnlyTranslationOffsetFrameWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget>some_offset_frame</StrategyTarget> | |
<StrategyTarget>some_other_offset_frame</StrategyTarget> | |
<StrategyTarget>/bodyset/specific_path_to/another_offset_frame</StrategyTarget> | |
</StrategyTargets> | |
<!-- If `MeshSources` isn't specified then the warping engine will try its best to figure out | |
if there exists a common set of meshes that all of the `StrategyTarget`s are attached to, | |
followed by using that set as a warp source --> | |
<PointSources> | |
<LandmarkedMeshPointSource>pelvis.vtp</LandmarkedMeshPointSource> | |
</PointSources> | |
</ThinPlateSplineOnlyTranslationOffsetFrameWarpingStrategy> | |
<!-- The `ProduceErrorOffsetFrameWarpingStrategy` will make the engine produce an error | |
if executed (i.e. if any frame has this strategy applied to it) --> | |
<ProduceErrorOffsetFrameWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget>*</StrategyTarget> <!-- catch-all --> | |
</StrategyTargets> | |
</ProduceErrorOffsetFrameWarpingStrategy> | |
<!-- The `LeastSquaresOffsetFrameWarpingStrategy` is used to approximate the `translation` | |
and `orientation` properties of the target `OpenSim::OffsetFrame`by least-squares | |
fitting `OpenSim::Point`s in the model --> | |
<LeastSquaresOffsetFrameWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget>some_annoying_offset_frame</StrategyTarget> | |
</StrategyTargets> | |
<PointsToFit> | |
<PointToFit>p1</PointToFit> | |
<PointToFit>p2</PointToFit> | |
<PointToFit>p3</PointToFit> | |
</PointsToFit> | |
</LeastSquaresOffsetFrameWarpingStrategy> | |
</OffsetFrameWarpingStrategies> | |
<!-- Lists all strategies used to warp stations (incl. muscle points) in the model --> | |
<StationWarpingStrategies> | |
<ThinPlateSplineStationWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget>p4</StrategyTarget> | |
<StrategyTarget>p5</StrategyTarget> | |
</StrategyTargets> | |
<!-- If this isn't specified then the engine will try to figure it out --> | |
<MeshSources> | |
<MeshSource>pelvis.vtp</MeshSource> | |
</MeshSources> | |
</ThinPlateSplineStationWarpingStrategy> | |
<!-- This is what the warping engine installs, if not specified --> | |
<ThinPlateSplineStationWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget>*</StrategyTarget> | |
</StrategyTargets> | |
</ThinPlateSplineStationWarpingStrategy> | |
</StationWarpingStrategies> | |
<!-- Lists all strategies used to warp muscle parameters in the model --> | |
<MuscleParameterWarpingStrategies> | |
<ModeneseMuscleParameterWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget>some_muscle</StrategyTarget> | |
</StrategyTargets> | |
<some_scaling_param>50</some_scaling_param> | |
</ModeneseMuscleParameterWarpingStrategy> | |
<!-- This is what the warping engine installs, if not specified in the configuration file --> | |
<IdentityMuscleParameterWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget>*</StrategyTarget> | |
</StrategyTargets> | |
</IdentityMuscleParameterWarpingStrategy> | |
</MuscleParameterWarpingStrategies> | |
<MeshWarpingStrategies> | |
<ThinPlateSplineMeshWarpingStrategy> | |
<StrategyTargets> | |
<StrategyTarget priority="1">*</StrategyTarget> | |
</StrategyTargets> | |
</ThinPlateSplineMeshWarpingStrategy> | |
</MeshWarpingStrategies> | |
</ModelWarperConfiguration> | |
</OpenSimDocument> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment