[770c98]: / Application / Validation / GaitVaughan / Model / EMGComparison.any

Download this file

108 lines (84 with data), 3.7 kB

//All curves are scaled to unity for comparison between EMG and muscle activity
//The file loads EMG data and select muscles activity curves and scale all curves 
AnyFolder EMGComparison ={
  
  AnyFolder TibialisAnterior ={
    AnyFunInterpol FunMeasured={
      Type=PiecewiseLinear;
      #include "time.any"
      #include "TibialisAnterior.any"
      Data = {DataVector};
    }; 
    AnyVar ModelEnvelope=Main.Model.BodyModel.Right.Leg.Mus.TibialisAnterior.Activity;
    AnyVector MeasuredEnvelope =FunMeasured(..t);
    
    AnyOutputFun MeasuredFun = {  Val = .MeasuredEnvelope;};
    AnyOutputFun ModelFun = {  Val = .ModelEnvelope;};
  };

  AnyFolder GluteusMaximus ={
    AnyFunInterpol FunMeasured={
      Type=PiecewiseLinear;
      #include "time.any"
      #include "GluteusMaximus.any"
      Data = {DataVector};
    }; 
    AnyVector MeasuredEnvelope =FunMeasured(..t);
    AnyVar ModelEnvelope = max({Main.Model.BodyModel.Right.Leg.Mus.GluteusMaximus1.Activity,
      Main.Model.BodyModel.Right.Leg.Mus.GluteusMaximus2.Activity,Main.Model.BodyModel.Right.Leg.Mus.GluteusMaximus3.Activity});
   
    AnyOutputFun MeasuredFun = {  Val = .MeasuredEnvelope;};
    AnyOutputFun ModelFun = {  Val = .ModelEnvelope;};
  };

  
  AnyFolder GluteusMedius ={
    AnyFunInterpol FunMeasured={
      Type=PiecewiseLinear;
      #include "time.any"
      #include "GluteusMedius.any"
      
      Data = {DataVector};
    }; 
    AnyVector MeasuredEnvelope =FunMeasured(..t);
    AnyVar ModelEnvelope = max({ Main.Model.BodyModel.Right.Leg.Mus.GluteusMedius1.Activity,
      Main.Model.BodyModel.Right.Leg.Mus.GluteusMedius2.Activity,
      Main.Model.BodyModel.Right.Leg.Mus.GluteusMedius3.Activity});
    
    AnyOutputFun MeasuredFun = {  Val = .MeasuredEnvelope;};
    AnyOutputFun ModelFun = {  Val = .ModelEnvelope;};
    
  };
  AnyFolder RectusFemoris ={
  AnyFunInterpol FunRectusFemoris={
    Type=PiecewiseLinear;
    #include "time.any"
    #include "RectusFemoris.any"
    Data = {DataVector};
  }; 
  AnyVector MeasuredEnvelope =FunRectusFemoris(..t);
  AnyVar ModelEnvelope = Main.Model.BodyModel.Right.Leg.Mus.RectusFemoris.Activity;
  
   AnyOutputFun MeasuredFun = {  Val = .MeasuredEnvelope;};
    AnyOutputFun ModelFun = {  Val = .ModelEnvelope;};
  };
  
  
  
  
  AnyVar Gastronemius_Model = Main.Model.BodyModel.Right.Leg.Mus.Gastrocnemius.Activity;
  
  AnyVar Soleus_Model = Main.Model.BodyModel.Right.Leg.Mus.Soleus.Activity;
  
  
  AnyFolder AdductorLongus ={
  AnyFunInterpol FunAdductorLongus={
    Type=PiecewiseLinear;
    #include "time.any"
    #include "AdductorLongus.any"
    Data = {DataVector};
    
  }; 
  AnyVector MeasuredEnvelope =FunAdductorLongus(..t);
  AnyVar ModelEnvelope = Main.Model.BodyModel.Right.Leg.Mus.AdductorLongus.Activity;

  AnyOutputFun MeasuredFun = {  Val = .MeasuredEnvelope;};
    AnyOutputFun ModelFun = {  Val = .ModelEnvelope;};
};
  
  AnyFolder Hamstrings={
AnyFunInterpol FunHamstrings={
    Type=PiecewiseLinear;
    #include "time.any"
    Data = {DataVector};
    
    #include "Hamstrings.any"
    
  }; 
  AnyVector MeasuredEnvelope =FunHamstrings(..t);
  
 AnyVar ModelEnvelope = max({Main.Model.BodyModel.Right.Leg.Mus.BicepsFemorisCaputLongum.Activity,
 Main.Model.BodyModel.Right.Leg.Mus.BicepsFemorisCaputBreve.Activity,
 Main.Model.BodyModel.Right.Leg.Mus.Semitendinosus.Activity,
 Main.Model.BodyModel.Right.Leg.Mus.Semimembranosus.Activity});
    AnyOutputFun MeasuredFun = {  Val = .MeasuredEnvelope;};
    AnyOutputFun ModelFun = {  Val = .ModelEnvelope;};

};
};