[bfdf16]: / Tools / AnyMocap / ModelSetup.any

Download this file

152 lines (117 with data), 4.6 kB

ModelSetup = {

 AnyFolder TrialSpecificData = {
     #include "TrialSpecificData_Defaults.any"
     #include "<MOCAP_TRIAL_SPECIFIC_DATA>"
 };

 AnyFolder SubjectSpecificData = {
   #include "SubjectSpecificData_Defaults.any"
   #include "<MOCAP_SUBJECT_SPECIFIC_DATA>"
 };

 AnyFolder LabSpecificData= {
   #include "LabSpecificData_Defaults.any"
   #include "<MOCAP_LAB_SPECIFIC_DATA>"
 };
 
 // This file checks if all the defines statements 
 // are made correctly.
 #include "CheckAnyMoCapConfiguration.any"
 
 
 Main = {
    #include "<BODY_MODEL_CONFIG_FILE>"
 };
 
 #if MOCAP_INPUT_DATA_TYPE == "C3D"
 AnyInputC3D C3DFileData =  {
    AnyComponentDefinition obj = {};
 };
 #include "<MOCAP_C3DSETTINGS>"
 #endif
 
 #if MOCAP_INPUT_DATA_TYPE == "BVH"
 
 /// Redirects to BVHFileData, so models expecting C3D emulation still work.
 AnyFolder C3DFileData = {AnyFolder& Header = .BVHFileData.Header;};
 
 AnyInputBVH BVHFileData = { 
    AnyComponentDefinition obj = {
      SubGroupRegexSearch = ".*\.([_[:alnum:]]+?)\.([_[:alnum:]]+?)";
      SubGroupRegexReplace = "$1";
    };
 }; 
 #include "<MOCAP_BVHSETTINGS>" 
 #endif
 
 
 AnyFolder MocapExtraDrivers = {
   AnyComponentDefinition obj = {};
   #include "<MOCAP_EXTRA_DRIVERS_FILE>"
 };
 
 AnyFolder MocapDrivers = {
    AnyComponentDefinition obj = {
      // regex pattern starts at the component level
      SubGroupRegexSearch = "([_[:alnum:]]+)\.([_[:alnum:]]+?)";
      SubGroupRegexReplace = "$1";
    };
    #include "<MOCAP_MARKER_PROTOCOL_FILE>"
 };

 AnyFolder ParameterIdentification = { };
 
 #if MOCAP_FILTER_JOINT_ANGLES == ON
   /// Filter for Joint Angles (Output of the marker tracking step).
   AnyFolder JointAngleFilter = 
   {
      AnyInt N ??= 1;
      AnyVar Fs ??= (Main.Studies.MarkerTracking.nStep-1)
          /(Main.Studies.MarkerTracking.tEnd-Main.Studies.MarkerTracking.tStart);
      AnyVar Fc ??= 10;
      AnySwitchVar FilterForwardBackwardOnOff ??= On;
 
     AnyFunButterworthFilter FilterFun = 
     {
        AutomaticInitialConditionOnOff = On;
        FilterForwardBackwardOnOff = .FilterForwardBackwardOnOff;
        N = .N;
        Fs = .Fs;
        Fc = {.Fc};
        Type = LowPass;
     };
  }; 

  #endif   

 // Study for saving a loading the parameters from calibration trials 
 //(dynamic or standing refereces)
 #include "SaveLoadParameters.any"
 
 #include "ModelViews.any"  
  
  
 //markers adds macros automatically into this folder
 AnyFolder Macros =  
 {

    AnyOperationMacro SaveOutputToHDF = 
    {
       OPERATION_DISPLAY_PRIORITY(PriorityLow);
       MacroStr = {
         "classoperation Main.Studies.MarkerTracking.Output" + strquote("Save data")
         + "--type= " + strquote("Deep")
         + "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX +  MOCAP_OUTPUT_FILENAME_PREFIX
         + Main.ModelSetup.TrialSpecificData.TrialFileName + "_MarkerTracking.anydata.h5"),
                    
         "classoperation Main.Studies.InverseDynamicStudy.Output" + strquote("Save data")
         + "--type= " + strquote("Deep")
         + "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX  +  MOCAP_OUTPUT_FILENAME_PREFIX
         + Main.ModelSetup.TrialSpecificData.TrialFileName + "_InverseDynamicStudy.anydata.h5")
      };
    };
    AnyOperationMacro LoadOutputFromHDF = 
    {
       OPERATION_DISPLAY_PRIORITY(PriorityLow);
       MacroStr = {
         "classoperation Main.Studies.MarkerTracking.Output" + strquote("Load data")
         + "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX +  MOCAP_OUTPUT_FILENAME_PREFIX
         + Main.ModelSetup.TrialSpecificData.TrialFileName + "_MarkerTracking.anydata.h5"),
                    
         "classoperation Main.Studies.InverseDynamicStudy.Output" + strquote("Load data")
         + "--file= " + strquote(ANYBODY_PATH_OUTPUT + "/" + MOCAP_TEST_FILENAME_PREFIX +  MOCAP_OUTPUT_FILENAME_PREFIX
         + Main.ModelSetup.TrialSpecificData.TrialFileName + "_InverseDynamicStudy.anydata.h5")
       };
    };
 }; // Macros
 
 
};


AnyFolder ModelSetup = {};

ModelSetup = 
{
  //DocumentationLink = AMMR_PATH_DOC + "/anymocap.html";
  AnyFolder Views = {};
};


#ifdef BM_DRAWSETTINGS_FILE
// Ensure that HumanModel does not 
// include DrawSettings as well. 
#define BM_DRAWSETTINGS_SKIP ON
#include "<BM_DRAWSETTINGS_FILE>"
#endif


#include "CheckAnyMoCapPostConfiguration.any"