Function Reference: longbone_Sex

csg-toolkit: table = longbone_Sex (filename)
csg-toolkit: table = longbone_Sex (filename, bones)
csg-toolkit: table = longbone_Sex (folder, filename)
csg-toolkit: table = longbone_Sex (folder, filename, bones)
csg-toolkit: [sex, prob, rep, vars, outliers] = longbone_Sex (…)

This function analyzes the geometry of an intact humerus, ulna, femur, or tibia bone using the longbone_Geometry function and estimates the biological sex of the individual the bone belongs to.

table = longbone_Sex (filename) will analyze the 3D model specified in filename provided that it conforms to the Wavefront OBJ file format and it is a pure triangular mesh. The function will automatically determine the type of long bone in filename and register the required initial alignment points according to the bone type. The 3D model is assumed to be in mm units and present in the working directory. When called with a single output argument, longbone_Sex returns a 1×7 table, table, with the following variables:

  1. Name: a cellstr variable with the filename of the analyzed bone.
  2. Bone: a cellstr variable with the type of bone as identified by the longbone_Registration function.
  3. Sex: a categorical variable with the estimated sex.
  4. Prob: a numerical variable with the posterior probability of the estimated sex.
  5. Typical: a logical variable specifying whether the measurements of the analyzed bone are typical of training sample.
  6. Used: a cell variable specifying the variables used for assigning sex in a cell array of character vectors.
  7. Outliers: a cell variable specifying which of the measurements used for assigning sex are outliers in a cell array of character vectors.

folder, which must be a character vector, defines the relative or absolute path to the directory containing the 3D model in filename. When omitted, the current working directory is assumed.

bones must be cell array of character vectors specifying one or more long bones that should be analyzed. longbone_Geometry will only analyze the 3D model if it matches one of the bones named in bones, unless the 'Force' option is also selected, in which case the user must specify a single bone such as in {'Force', 'Humerus'}. Valid options are:

  1. 'Humerus'
  2. 'Ulna'
  3. 'Femur'
  4. 'Tibia'
  5. 'All'
  6. 'Force'

Note: When 'Force' is included, initial alignment points are also required and it is the user’s responsibility to ensure the appropriate bone is being analyzed. This option is provided so that damaged or heaviliy deformed bones, which may turn out as undefined, can be analyzed. For more information look at the documentation of the longbone_Geometry function by typing help longbone_Geometry.

When called with more than one output argument, such as in [sex, prob, typ, vars, outliers] = longbone_Sex (…), then the following output arguments as returned:

  • sex is a numeric scalar value specifying the estimated sex, where 1 corresponds to male, 2 to female, and 0 to undetermined.
  • prob is the posterior probability of the estimated sex. Unless sex is assigned, prob is NaN.
  • typ is a logical scalar value specifying whether the bone measurements used for sex estimation are typical true of the population samples used to train the classifiers or they contain outliers, in which case the sex estimation algorithm defaults to using only the univariate linear discriminant classifiers for estimating sex and typ is false.
  • vars is a cell array of character vectors containing the variables that were significant for assigning sex. These can be any combination of the utilized measurements, corresponding to univariate classifiers, as well as 'LDA ALL', 'KNN ALL', and 'FCNN Scores', corresponding to multivariate classifiers.
  • outliers is a cell array of character vectors containing the measurements that were used in sex estimation but they are considered outliers according to the descriptive data of the training population samples.

See also: longbone_CustomGeometry, longbone_Registration

Source Code: longbone_Sex