MoMo R5.1: momo.m

1. Contents
2. Setup
3. Preferences
4. Sessions
5. Command line:5.1General
5.3Passing input arguments
5.4MoMo's control struct Job
5.5Short description of arguments
5.6Full description of arguments
5.7 Session-sets and norm data
6. Models
7. Visualize C3D
8. Administration
9. Changes

5.1 General

The function momo is the main entry point for calling the program MoMo (note the different spelling). At first momo parses the input arguments, afterwards either a session is processed by calling the engine of MoMo, or different management tasks can be performed, e.g. for momo version or momo cleanup.
MoMo's engine is called directly by some other functions also: momoSet (average a set of sessions), momoNorm (create norm data from set of sessions) and momoRapid (process a list of sessions separately).
In addition MoMo has functions to control its source code, the integrity of model scripts, the license and some preferences. Sheets are created by moSheet, which can be called by external programs also (e.g. ShowGLA), because it has just a weak connection to MoMo.
The graphical user interface MoMoG creates a list of input arguments for momo. MoMoG has influence to parameters needed for daily routine only. To access the "expert" parameters momo must be called through the command line. MoMoG writes the calling sequence to the command window, so the user can expand it using copy&paste.

5.2 Help

Beside this document, MoMo displays several help topics in the command window: momo help. This creates a list similar to the following:
Table of inputs:momo inputs
Explain all inputs:momo help inputs
Explain one input: momo help <name_of_input>
Find in explanations: momo lookfor <word>
How to pass inputs:momo help passinputs
User guide:momo doc
User notes:momo usernotes
Release notes:momo releasenotes
Version:momo version
Open GUI:momog
Preferences (paths):momo prefs
Debug Job struct:momo showjob
If you look for a special feature, e.g. how to influence colors, and do not know the name of the argument, try momo lookfor color. This displays all arguments, which contain the word "color" in the name or description.
If the name of the argument is known, the help can be shown directly: momo help ColorType.
The help sections of the M-files contain detailed instructions about inputs and outputs. For functions, which are called by users, further help can be found there using Matlab's help <FunctionName> command.
Examples: momo, momog, momoSet, momoNorm, ShowC3D, ShowC4D, MoMo_local, MoMo_localDlg, moSessionSet, moCacheFile, moEngineHelp, moUserNotes, moResearchModel, GetASC, PutASC, GetC3D, ParseC3D, FPLift, BugReport, ShowGLA and the model scripts.

5.3 Passing arguments

The processing of MoMo can be controlled with a variety of input arguments. There are three types of arguments:
General tips:

5.4 MoMo's control struct Job

Inside the program, all features of MoMo are controlled by a struct called Job. It is created by the function moIni and adding or removing fields elsewhere is not allowed. The field data are modified according to the input arguments (in moInput), the examination info file (in moExamInfo), the model script (in moModelParam) and parameters concerning the computation (in moEngine). For all other functions Job is read-only.
It is unlikely, that the default values of Job need to be changed in the file moIni.m! Nevertheless, the local MoMo-administrator can edit this file according to the demands of the laboratory, e.g. for BiasAnalogEvent, LogSesENF, NormalTick.
Note: Editing moIni.m can have unexpected effects and damage measurement data! Do not modify functions of MoMo if you are not sure, what you are doing! Follow the instructions of the author!

5.5 Short description of arguments


5.6 Full description or arguments


5.7 Session-sets and norm data

For the evaluation of studies and the creation of norm data, the average and the deviations of a set of sessions must be computed. This can be done using the database (if available: dbMeanGroups, explained elsewhere) or inside MoMo with momoSet.
A session-set is defined by an M-file, which defines the involved sessions, parameters for processing the sessions with MoMo and the measurement classes to be combined. The later means, that e.g. for the creation of norm data of healthy persons usually the right and the left foot can be collected together. In opposite to that, a study about different all measurement conditions (shoes) need to be evaluated separately.
The M-files, which defines session-sets, are saved to the path <MoMoData>Sets\R5\<Study>. The function cdmomoset changes the current path to this folder. Either modify an existing file or fill up the template file MoMoSetTemplate_.m to define new session-sets.
Then the session-set is calculated with momoSet('*\<Study>\<FileName>'). The string '*\' is replaced with the path <MoMoData>Sets\R5\, but a complete path can be used also, of course. In addition momoSet accepts inputs with arguments for MoMo and for the output of files and sheets.
The average of sessions (called mean_sessions) is defined as following: At first the mean and the standard-deviation over all trials is calculated for each session separately (called mean_trials and std_trials). Then mean_sessions is the mean of all mean_trials. This is produced together with the standard deviation and the "uncertainty" between the mean_trials. This uncertainty is the geometrical sum of the std_trials and it is the error for the calculation of the mean_sessions based on the propagation of errors of the mean_trials.
For valid measurements uncertainty_sessions must be "much" smaller than std_sessions. Otherwise the measurement error inside each session is greater than the difference between the subjects.
The function momoNorm is equivalent to momoSet except for the folder the results are saved into: momoSet saves files to the subfolder "Results" in the folder of the defining function of the session-set, momoNorm writes to "<MoMoData>\Norm" (see: MoMo_local, Setup MoMoData path, momo input: NormFile).
To process a list of sessions separately, that means without calculating statistics between the sessions, use momoRapid. This can be useful, if a new variable is inserted in a model script. Without further arguments, momoRapid suppresses the output of sheets and the display of progress bars to save time, but a list of arguments for MoMo can be defined. e.g. to enable the creation of PDFs or to apply a new model.
The function momo can reply the calculated session as output argument. These data can be used for further calculation, e.g. by momoTable, which can create a table of values to certain time points or intervals and calculate CMC values between and inside sessions.
The experimental function HDTool is an example of how to extract data from processed MoMo sessions. It calls moGetSession to get the evaluated data and defines a simply syntax to get values of trajectories to specific times of the gait cycle. Feel free to modify HDTool for your demands. Remember, that the struct replied by moGetSession and momo can change with the MoMo version.
A list of session folders can be obtained by the function moFindSession. The input is either a base folder and all subfolders are searched recursively, or a cell string of folder names to search in. Session folders are recognized by the session-ENF files, which match the file filter "'*.Session*.enf'" (or similar: as defined in moENIDef). (new: 22-Aug-2009)
Author: © Jan Simon, Imprint / Impressum   File: Help/momo_50/momo.html    24-Oct-2011   MoMo: 5.0.26