Reference Frame for analyses


I have just a quick question : I want for example to have GH reactions and I saw that it can be obtained either on a scapula frame or on a humerus frame.

Are these frames created according to ISB ?

Thank you very much,

Best regards,

Hi Arif,

First of all, please provide your information (name, organization) details for your profile. This is a professional forum and we need information to see whom we are helping.

I don’t think it is done in the ISB ref. frames. Please use AnyForceMomentMeasure2 to recompute it in the ref. frame of interest.

Kind regards,

Thank you for your reply.

I updated my profile, i have considered your answer but i don’t see where i can change easily the reference frame. I’m using MoCapModel and the FullBody linked with a c3d file.

I took a look at the file Jnt.any.

///Definition of GH joint
AnyKinRotational GHRot = {
  AnyRefNode &scapula_gh =;
  AnyRefNode &humerus_gh =;
  Type = RotAxesAngles;
  Axis1 = y;
  Axis2 = z;
  Axis3 = y;

AnyKinLinear GHLin = {
  AnyRefNode &scapula_gh =;
  AnyRefNode &humerus_gh =;
  Ref=0; //use this for shifting between the two ref systems: scapula=0, humerus=1
//This file includes the glenohumeral reactions created by a number of pushing muscles
//if this file is not include the normal reactions of the GH joint should be set to "On On On"6
//#include "GHReactions.any"

/**This is the reactions of the GH joint they are normally set to "Off Off Off" if the file 
GHReactions.any is being used, if this is not the case the reactions should be set to "On On On"
AnyKinEq GHLinCon = {
  AnyKinMeasure &GHLinCon = .GHLin;

Do i need to change something here or add what you mentioned : AnyForceMomentMeasure2 ?
I simply want to create a new reference frame for the scapula based on three precise points (AA, AI and TS).

Thank you again,

Best regards,

Hi Arif,

Thanks for the profile update.

You don’t need to modify this file and change the computed values. You can simply define your own output and compute equivalent forces/moments in the ref. frame of your choice. Here is a small example:

    AnyForceMomentMeasure2 FM_EqPoint = {
      // ref. frame of interest
      RefPoint = &Main.Studies.HumanModel.BodyModel.Right.Leg.Seg.Thigh.EqPoint;
      IncludeSegments = {&Main.Studies.HumanModel.BodyModel.Right.Leg.Seg.Thigh};      
      // forces to be included 
      IncludeForces = {&Main.Studies.HumanModel.BodyModel.Right.Leg.Jnt.Knee.Constraints.Reaction};
      // Align output computed in global with the Tibial MRI ref. frame
      AnyFloat MLocal = M*Main.Studies.HumanModel.BodyModel.Right.Leg.Seg.Shank.TibiaMRIReferenceFrame.Axes;
      AnyFloat FLocal = F*Main.Studies.HumanModel.BodyModel.Right.Leg.Seg.Shank.TibiaMRIReferenceFrame.Axes;      

Could I just clarify - are you considering to redefine the joint completely using this new frame, or just recompute the JRF?

If you want to redefine the joint completely - then it could be the right place to do it, but I would not recommend doing this in the repository, since this will change it and we will not be able to help you further.

Please look at the THA-KneeBendDemo example in the repository. It demonstrates how to exclude joints from the analysis without physically removing them from the repository. Once this is done - you can just add your new joint in your model.

Hope this makes sense.

Kind regards,