====== Segment Overview ====== A Visual3D model consists of a set of rigid segments, each of which corresponds to a body segment (major bone structure) of the subject whose motion is under study. We use the terms model segment and body segment when it is necessary to distinguish between the conceptual/mathematical segments of a Visual3D model and the corresponding physical body segments of the subject. Most of the time, we will simply say ”segment” when the distinction is clear from context. The instantaneous position and orientation of all a segment is called the pose of the segment. The central function of Visual3D is translation of the target-marker positions (as reported by the motion-tracking apparatus) into the pose of the corresponding model. Two factors complicate this process: The motion-tracking apparatus does not track segments; it tracks target markers attached to various chosen points on or near the subject’s body. Segments are defined by (among other things) their proximal and distal end points, which are located inside the body, but target markers can generally only be placed outside the body. To deal with the first complication, Visual3D makes use of the notion of segment-relative coordinate systems (usually called simply segment coordinate systems or SCS). The idea is that although the motion-tracking apparatus reports marker positions by their laboratory or LCS coordinates, and in general all markers are moving, it can safely be assumed that the target markers move with the body segments to which they are attached, i.e., each target’s coordinates in the appropriate segment coordinate system (SCS) do not change throughout the movement. Provided at least three target markers, not positioned in a line, are tracked for each body segment, Visual3D will have enough information to determine the model pose. To deal with the second complication, Visual3D allows you to define the precise spatial relationships between each segment’s proximal and distal endpoints and the positions of target markers. This process is normally facilitated by capturing the position of extra calibration markers placed at points which, though not suitable for use in motion tracking, provide clear information about the location of joint centers within the body. Note that the choice of where and how to place target markers is itself a significant subject.\\ The illustration below shows what you might see when defining just one segment—the right thigh. The graphic image, which is zoomed in to the right thigh region, reveals three calibration markers (yellow) which are used to define the thigh segment’s endpoints and dimensions. At the proximal (upper) end, the RHP (right hip) marker’s position is used together with an explicit radius of 0.081m (measured in the laboratory for this subject) to define the proximal endpoint. At the distal end, both medial and lateral knee markers (RMK, RLK) are available, and together define both the distal endpoint and the distal radius of the thigh segment. For mass- and moment-related computations, this segment is modeled as a truncated cone (this is one of many details you provide under the Segment Properties tab) and so both proximal and distal radii are needed. {{:AnnotatedModel.gif}}\\ ==== Segments ==== === Standard Anatomical Conventions === The Visual3D model-building tool uses standard medical terminology to define the locations and configurations of segments. === Default Segment Names === [[visual3d:documentation:modeling:segments:segment_default_names]] Visual3D provides general modeling tools that allow for the creation of any rigid segments. For convenience, we have pre-defined the properties of common segments, such as the foot, shank etc. The properties of these segments are explicit, and the user can modify the properties. === Default Joint Names === [[visual3d:documentation:pipeline:model_based_data_commands:default_joint_names]] Visual3D creates joint names automatically for the default segments. Visual3D contains a number of default segment names that are provided for the convenience of the user. These default segments contain geometry, the inertial properties, and the wire frame model. Users that create their own segment names need to add this information in the segment properties tab in Model Builder Mode === Virtual Segments === [[visual3d:documentation:modeling:segments:virtual_segments]] We have grown accustomed to referring to Kinematic Only Segments as Virtual Segments. The defining criterion for distinguishing a Virtual Segment from other segments in Visual3D is that these segments do not get included in the Inverse Dynamics calculations. These segments can not be assigned external forces and will not have Joints created at their proximal end points. ==== Joints ==== The term [[Visual3D:Documentation:Kinematics_and_Kinetics:Joint|Joint]] is used periodically throughout Visual3D, and has several different meanings. This tutorial focuses on a joint that connects two kinetic segments. In [[Visual3D:Documentation:Kinematics_and_Kinetics:Six_Degrees_of_Freedom|6 DOF]] tracking there is no explicit linkage (or joint) connecting the segments. Visual3D explores the collection of segments and considers any two segments in proximity (the distal end of one segment and the proximal end of another segment within the radius of the segment ends) to be "linked" and references a **//Joint//** between them. The **//Joint//** does not constrain the segments, but is rather a bookkeeping tool that keeps track of which segments are assumed to have an equal and opposite Joint Reaction Force acting between their endpoints and an equal and opposite Joint Moments acting on the adjacent segments. ==== Constructing the Segment Coordinate System ==== An overview of the segment definition rules can be found [[visual3d:documentation:modeling:segments:constructing_the_segment_coordinate_system|here]] === Marker Sets === Visual3D can create a model from almost any marker set, but there are usually suggestions. === Model Metrics === [[visual3d:documentation:modeling:model_metrics]] Model Metrics are static values that can be used as parameters in the definition of segments and landmarks. These metrics include the MASS and HEIGHT of the subject, segment proximal and distal radius values that are computed during the construction of segments. == Using a model metric in an expression == [[visual3d:documentation:modeling:segments:using_a_model_metric_in_an_expression]] Using the distal radius computed from one segment as the proximal radius for another segment. Model metrics can be represented as expressions and are stored in subject data/metrics. ==== Segment Properties ==== [[https://wiki.has-motion.com/doku.php?id=visual3d:documentation:modeling:segments:segment_properties]] The segment properties include the inertial properties of the segment and its decorations: == Segment Mass == The default segment masses defined in Visual3D are based on [[https://nyaspubs.onlinelibrary.wiley.com/doi/10.1111/j.1749-6632.1955.tb32112.x]]. == Segment Geometry == Visual3D models segments as cones, cylinders, spheres, and ellipsoids. VISUAL3D calculates the mass, moments of inertia (IXX, IYY, IZZ) and center of gravity location for each segment (Hanavan E. (1964) A Mathematical Model for the Human Body. Technical Report, Wright-Patterson Air Force Base) [[https://apps.dtic.mil/sti/tr/pdf/AD0608463.pdf]] == Segment Volume == [[visual3d:documentation:modeling:segments:segment_volume]] Visual3D models segments as cones, cylinders, spheres, and ellipsoids. Visual3D doesn't compute the volume of a segment based on these geometries, but the calculations are straightforward. == Segment Inertia == [[visual3d:documentation:modeling:segments:segment_inertia]] By default the moment of inertia of a segment is computed from the segment mass, the proximal and distal radii, and the Segment Geometry. The default Visual3D segments are treated as geometric objects that have inertial properties based on their shape (Hanavan E. (1964) A Mathematical Model for the Human Body. Technical Report, Wright-Patterson Air Force Base). == Modify Segment Coordinate System == [[visual3d:documentation:modeling:segments:segment_coordinate_system]] The segment coordinate system for all visual3D segments are defined consistently. When a segment is created in Visual3D the default segment coordinate system is consistent with the laboratory coordinate system. The segment coordinate system can be modified to suit your preferences. == Animation Surface Models == [[visual3d:documentation:modeling:segments:animation_surface_models]] A surface mesh can be associated with each segment. Guidelines for the representation of the surface models can be found [[visual3d:documentation:modeling:segments:animation_surface_models|here]] ==== Pelvis ==== There are many ways to define a segment in Visual3D, which means there are many ways to define a Pelvis segment. == Visual3D Pelvis == [[visual3d:documentation:modeling:segments:visual3d_pelvis]] The Visual3D pelvis refers to a pelvis segment defined as a default Visual3D segments. Markers on the Iliac Crest specify the proximal end of the segment. Markers on the Greater Trochanter specify the distal end of the segment. The length of the Pelvis segment is defined as the distance from the proximal end to the distal end. == V3D_Composite_Pelvis == [[visual3d:documentation:modeling:segments:v3d_composite_pelvis]] The Visual3D Composite Pelvis has a local coordinate system that is aligned with many of the traditional pelvis definitions (Coda, Helen Hayes, Plugin-Gait), but the Origin of the segment is in the middle of the body, which is more representative of the inertial properties. == Coda Pelvis == [[visual3d:documentation:modeling:segments:coda_pelvis]] The CODA pelvis refers to a pelvis segment model used by Charnwood Dynamics that they requested that we implement. The pelvis segment is defined using the anatomical locations of the ASIS (Anterior Superior Iliac Spine) and the PSIS (Posterior Superior Iliac Spine). These landmarks are bony protuberances on the Pelvis bones that can be palpated on most (but not all) subjects. == Create CODA pelvis relative to anatomical landmarks == [[visual3d:documentation:modeling:segments:create_coda_pelvis_relative_to_anatomical_landmarks]] The segment coordinate system for the CODA pelvis is the mid-point between the ASIS markers. The anatomical landmarks are actually posterior to the ASIS markers because the motion capture system tracks the center of the marker. This is a modest error, but it can be corrected by creating landmarks that are posterior to the ASIS markers by the radius of the motion capture marker. == Helen Hayes (Davis) Pelvis == [[visual3d:documentation:modeling:segments:helen_hayes_davis_pelvis]] The Helen Hayes pelvis refers to a pelvis segment model defined by Davis et. at. (1991) and used by many manufacturers, including the VCM model by Vicon. The pelvis segment is defined using the anatomical locations of the ASIS (Anterior Superior Iliac Spine) and the midpoint between the PSIS (Posterior Superior Iliac Spine) commonly referred to as the Sacrum marker. These landmarks are bony protuberances on the Pelvis bones that can be palpated on most (but not all) subjects. == Hip_Joint_Landmarks == [[visual3d:documentation:modeling:segments:hip_joint_landmarks]] Regression equations for common hip joint landmarks relative to the pelvis segment coordinate system. == Pelvis Animation Models (obj, v3g, wrl) == There are two common obj files used to animate the bones of the pelvis. == Normalizing the Pelvis Angle == [[visual3d:documentation:modeling:segments:normalizing_the_pelvis_segment_angle_example]] Normalizing the Pelvis Segment Angle. The Coda and Helen Hayes pelvis are tilted forward approximately 20 degrees from the horizontal. In describing the orientation of the pelvis or for describing the hip joint angle, it is often convenient to define a pelvis angle that has a coronal plane parallel to the floor (eg a vertical segment with zero tilt). ==== Thigh ==== There are several approaches to create a thigh segment in Visual3D. We have outlined a few for you on the linked pages that are found below. === Thigh using Greater Trochanter === This page shows how to define the thigh segment using the greater trochanter as the proximal-lateral marker. === Thigh using Hip Joint Landmark === [[#Create_Right_Thigh_Segment|Create Right Thigh Segment]] shows how to construct the right thigh segment based on the Hip Joint Landmark and medial/lateral knee markers. Another example can be found on [[Visual3D:Documentation:Modeling:Segments:Using_a_model_metric_in_an_expression|Segment Examples 2]] === Using the Knee Alignment Device === This page will create the thigh segment using a Knee Alignment Device. The Knee Alignment Device (KAD) is manufactured by Motion Lab Systems. The KAD is used to assist in defining the frontal plane of the thigh segment. ==== Shank ==== [[Visual3D:Documentation:Modeling:Segments:Modeling_the_Shank|Example: Shank]] This page shows an example of accommodating for tibial torsion by defining two shank segments; using one to calculate the knee joint angles and the other to calculate the ankle joint angles. ==== Foot ==== There are several approaches to creating segments at the foot. We illustrate a few below. The [[Visual3D:Tutorials:Kinematics_and_Kinetics:Foot_and_Ankle_Angles_|Tutorial: Foot and Ankle Angles]] page discusses the creation of segments at the foot and their angles. Several examples are shown: kinetic foot, heel-toe, Normalized to the proximal segment, and projected landmarks. === Orthotrack Foot === This page shows an example of how Orthotrak defines the foot segment coordinate system. === Oxford Foot === [[Visual3D:Tutorials:Modeling:Oxford_Foot_Model|Tutorial: Oxford Foot Model]] is a tutorial on the oxford foot model. === IOR Foot === [[Visual3D:Tutorials:Modeling:IOR_Foot_Model|Tutorial: IOR Foot Model]] shows how to create the multisegment IOR foot model. === Skeleton doesn't look right? === I am guessing that you are estimating where the surface of the force platform should be based on the wire frame bones of the foot segment; you shouldn’t rely on the bones. The bones are defined relative to the segment coordinate system and scaled uniformly in all directions to the length of the segment. For segment coordinate systems that are collinear with the long axis of the segment, the scaling works quite well. For the foot, however, the segment coordinate system is usually defined from the mid point of the ankle markers to the mid point of the distal metatarsals. As the length of the segment changes the orientation of the foot model will change, so that the model looks good for some subjects and not good for other subjects. The wireframe model is not data, so you can modify the orientation of the wire frame model, so that the animation "looks better" without affecting the data. ==== Trunk ==== The [[Visual3D:Documentation:Modeling:Segments:Modeling_the_Trunk|Example: Trunk]] discusses what to do if the trunk animation graphic is upside down and how one might approach modeling the thorax separate from the abdomen. ==== Upper Arm ==== Defining the segment coordinate system for the humerus is particularly difficult because there are no bony landmarks to assist in determining the glenohumeral joint center, and medial and lateral markers on the epicondyles are close together and often do not represent the axis of rotation of the elbow. The explanation on [[Visual3D:Documentation:Modeling:Segments:Upper_Arm_And_Forearm|Upper_Arm_And_Forearm]] is personal opinion and users should not accept this as a recommendation, rather as one plausible approach. Further work needs to be done in this area and users must decide for themselves. ==== Forearm ==== There are several challenges to defining the Forearm segment coordinate system because the Forearm is treated as a rigid segment model; supination/pronation of the forearm sometimes causes the segment coordinate system to be quite strange. On the [[Visual3D:Documentation:Modeling:Segments:Upper_Arm_And_Forearm|Upper Arm And Forearm]] page, we lay out recommendations for a static standing pose (anatomical position) and a recommendation if the static pose is the T-pose. ==== Other Objects ==== === Construct a Box === - one motion tracking marker has been attached to a box. - the box will not rotate when it is raised by the subject. - the box was omitted from the standing trial ==== Examples ==== === Rotate a segment coordinate system === Rotating a segment coordinate system about its long axis. === Example: Missing Digitizing Pointer Markers=== [[visual3d:tutorials:modeling:introduce_missing_digitizing_pointer_markers]] === Example: Missing Tracking Marker in Static Trial === The following example is contrived, but it does happen. Consider the following right thigh segment constructed using static markers RPPT, RAPT, RPDT, RADT. These tracking markers are saved to a model template, but for the next subject the static trial is missing the RAPT marker. If the model template is applied to this trial, the right thigh segment cannot be built. The obvious solution to this problem is to simply remove the RAPT marker as a tracking marker, but there may be an occasion where one of the remaining 3 markers is missing for much of the movement trials because of occlusion. The solution is to replace the missing tracking target with a landmark that is placed at the expected location.