function output = getAnatomicalExtremeRimPoints(obj) % Return the points of the extreme points of the glenoid rim according to the % scapula coordinate system. % There might be several points returned for a given direction, most likely for % the medio-lateral direction. rimPoints = obj.getRimPoints(); coordSys = obj.scapula.coordSys; output.lateral = selectPointsFromDotProductWithAxis(rimPoints,coordSys.ML,@max); output.medial = selectPointsFromDotProductWithAxis(rimPoints,coordSys.ML,@min); output.inferior = selectPointsFromDotProductWithAxis(rimPoints,coordSys.IS,@min); output.superior = selectPointsFromDotProductWithAxis(rimPoints,coordSys.IS,@max); output.posterior = selectPointsFromDotProductWithAxis(rimPoints,coordSys.PA,@min); output.anterior = selectPointsFromDotProductWithAxis(rimPoints,coordSys.PA,@max); end function output = selectPointsFromDotProductWithAxis(points,axis,selectFunction) dotProductResults = points*axis'; selectedPoints = find(dotProductResults == selectFunction(dotProductResults)); output = points(selectedPoints,:); end