Table of Contents

Segment Properties Example

This example specifies segment properties from pipeline commands. For a variety of legacy reasons, Visual3D does not allow users to specify the segment depth as an expression. This limitation means that the command Set_Model_Metric cannot be used for segment depth.

Prompted by a customer that wanted to use a pipeline command to modify segment depth we documented this in several pipeline examples.

NOTE: As of Visual3Dv5.01.20, user's are able to enter equations into the depth measurements for the Pelvis and Thorax.


Specifying segment properties from a value

This example is for the Pelvis and assumes that the Pelvis segment has been constructed.

! First set a pipeline parameter for the segment depth
! This value could be obtained by prompting the user or in this case is set to 0.12 
Set_Pipeline_Parameter 
/PARAMETER_NAME=DEPTH 
/PARAMETER_VALUE=0.12 
;

! Explicitly set the mass and inertial properties for an elliptical cylinder
! This example is for the Pelvis segment
Set_Segment_Properties 
/CALIBRATION_FILE= 
/SEGMENT_NAME=RPV 
/MASS=0.142*Mass 
/CG_FROM_PROX_AXIAL=0.5*RPV_Seg_Length 
/CG_FROM_PROX_ML=0 
/CG_FROM_PROX_AP=0 
/INERTIA_XX=0.142*Mass*(3*&::DEPTH&^2+RPV_Seg_Length^2)/12 
/INERTIA_YY=0.142*Mass*(3*RPV_Distal_Radius^2+RPV_Seg_Length^2)/12 
/INERTIA_ZZ=0.142*Mass*(&::DEPTH&^2+RPV_Distal_radius^2)/4 
! /AP_DIRECTION= 
! /AXIAL_DIRECTION= 
! /MODEL_FILE= 
! /MATERIAL_FILE= 
;

Specifying segment properties from a metric

There are two examples: one for the pelvis segment and one for the Thorax.

Pelvis

Create a metric to compute the depth as the distance between two markers/landmarks. This example is for the Pelvis and assumes that the Pelvis segment has ben constructed. In addition, the landmark MID_ASIS has been created.

! Set Global active
Select_Active_File
/FILE_NAME=GLOBAL
! /QUERY=
;

Metric_Explicit
/RESULT_METRIC_NAME=PELVIC_DEPTH
/RESULT_METRIC_FOLDER=PROCESSED
/METRIC_VALUE=DISTANCE(MODEL::TARGET::SACR,MODEL::LANDMARK::MID_ASIS)
;

! First set a pipeline parameter for the segment depth
Set_Pipeline_Parameter
/PARAMETER_NAME=DEPTH
/PARAMETER_VALUE=GLOBAL::METRIC::PROCESSED::PELVIC_DEPTH
;

! Explicitly set the mass and inertial properties for an elliptical cylinder
! This example is for the Pelvis segment
Set_Segment_Properties 
/CALIBRATION_FILE= 
/SEGMENT_NAME=RPV 
/MASS=0.142*Mass 
/CG_FROM_PROX_AXIAL=0.5*RPV_Seg_Length 
/CG_FROM_PROX_ML=0 
/CG_FROM_PROX_AP=0 
/INERTIA_XX=0.142*Mass*(3*&::DEPTH&^2+RPV_Seg_Length^2)/12 
/INERTIA_YY=0.142*Mass*(3*RPV_Distal_Radius^2+RPV_Seg_Length^2)/12 
/INERTIA_ZZ=0.142*Mass*(&::DEPTH&^2+RPV_Distal_radius^2)/4 
! /AP_DIRECTION= 
! /AXIAL_DIRECTION= 
! /MODEL_FILE= 
! /MATERIAL_FILE= 
;

Thorax

This example is for the Thorax and assumes that the Thorax segment has ben constructed. Since Visual3D does not allow users to specify the segment depth as an expression, a user could construct the Thorax segment with a “dummy” depth number (0.12) and use the pipeline below to calculate a depth value based on targets/landmarks on the segment.

! Set Thorax Depth 

Select_Active_File
/FILE_NAME=GLOBAL
! /QUERY=
;

! The cylindrical depth is equal to one-half the distance from anterior to posterior.
Metric_Explicit
/RESULT_METRIC_NAME=THORAX_DEPTH
/RESULT_METRIC_FOLDER=PROCESSED
/METRIC_VALUE=DISTANCE(MODEL::TARGET::T10,MODEL::LANDMARK::STRN)/2
;

! First set a pipeline parameter for the segment depth
Set_Pipeline_Parameter
/PARAMETER_NAME=DEPTH
/PARAMETER_VALUE=GLOBAL::METRIC::PROCESSED::THORAX_DEPTH
;

! Explicitly set the mass and inertial properties for an elliptical cylinder for the Thorax segment
Set_Segment_Properties
/CALIBRATION_FILE=
/SEGMENT_NAME=RTA
/MASS=0.355*Mass
/CG_FROM_PROX_AXIAL=0.5*RTA_Seg_Length
/CG_FROM_PROX_ML=0
/CG_FROM_PROX_AP=0
/INERTIA_XX=0.355*Mass*(3*&::DEPTH&^2+RTA_Seg_Length^2)/12
/INERTIA_YY=0.355*Mass*(3*RTA_Distal_Radius^2+RTA_Seg_Length^2)/12
/INERTIA_ZZ=0.355*Mass*(&::DEPTH&^2+RTA_Distal_radius^2)/4
! /AP_DIRECTION=
! /AXIAL_DIRECTION=
! /MODEL_FILE=
! /MATERIAL_FILE=
;