=====CALL_MFILE=====
====Overview====
The CALL_MFILE command performs the following tasks:\\
* Exports data to a MAT file.
* Runs a compiled Matlab-based .exe file to load the data, process the data, and create a new MAT file containing the processed data.
* Imports the data from the second MAT file back into Visual 3D.
====Pipeline Command====
Call_MFile
! /MFILE_NAME=
! /USE_CALIBRATION_FILE=FALSE
! /USE_NAN_FOR_DATANOTFOUND=FALSE
! /INPUT_FILE=
/INPUT_NAMES=
/INPUT_SIGNAL_TYPES=
! /INPUT_SIGNAL_FOLDERS=
/INPUT_SIGNAL_NAMES=
! /OUTPUT_FILE=
/OUTPUT_SIGNAL_TYPES=
/OUTPUT_SIGNAL_FOLDER=
/OUTPUT_SIGNAL_NAMES=
/OUTPUT_NAMES=
! /PARAMETER_NAMES=
! /PARAMETER_GROUPS=
! /OUTPUT_PARAMETER_NAMES=
;
====Command Parameters====
|**Parameter** |**Description**|
|**!/MFILE_NAME= **|Specify the entire directory path|
|**!/OUTPUT_FILE**|Name of the mat file exported from Visual3D|
|**!/OUTPUT_SIGNAL_NAMES=**|Visual3D Signals to export|
|**!/OUTPUT_SIGNAL_TYPES= **|Visual3D Signal Type|
|**!/OUTPUT_SIGNAL_PROCESSED= **|Visual3D Processed Flag|
|**!/OUTPUT_NAMES=**| Signal names used in the exported|
|**!/OUTPUT_SIGNAL_NAMES=**|Visual3D Signals to export|
|**!/INPUT_FILE= **|Name of the mat file save by the Matlab exe|
|**!/INPUT_NAMES= **| Names assigned to these signals|
|**!/INPUT_SIGNAL_NAMES= **|Names assigned to these signals|
|**!/INPUT_SIGNAL_TYPES= **|Types of signals imported to Visual3D|
====Dialog====
{{:visual3d:documentation:pipeline:file_commands:evalmfile.png?400|}}
====Examples====
This example uses this: [[https://www.has-motion.com/download/Matlab/average_3targets_return_target.m|Sample Data]].\\
CALL_MFILE
/MFILE_NAME= average_3targets_return_target.exe
/OUTPUT_FILE= c:temp3Targets_in.mat
/OUTPUT_SIGNAL_NAMES= RFT1+RFT2+RFT3
/OUTPUT_SIGNAL_TYPES= TARGET+TARGET+TARGET
/OUTPUT_SIGNAL_PROCESSED= FALSE+FALSE+FALSE
/OUTPUT_NAMES= SIGNAL1_IN+SIGNAL2_IN+SIGNAL3_IN
/INPUT_FILE= c:tempaveraged_targets_out.mat
/INPUT_SIGNAL_NAMES=RFT AVE
/INPUT_SIGNAL_TYPES=TARGET
/INPUT_NAMES=SIGNAL_OUT;
The OUTPUT_FILE parameter specifies the name of the MAT file to create.
* OUTPUT_SIGNAL_NAMES, OUTPUT_SIGNAL_TYPES, and OUTPUT_SIGNAL_PROCESSED refer to the cell array variables that the Matlab function is expecting.
* MFILE_NAME specifies the name of the compiled Matlab function to run (this must be an .exe file).
* INPUT_FILE specifies the MAT file from which the processed data is imported
* INPUT_NAMES are the variable names (in the m-file) that are read.
* The processed data is placed in the signals specified by INPUT_SIGNAL_NAMES and INPUT_SIGNAL_TYPES (this data is considered "processed" by default).
To clarify, the basic algorithm of the above CALL_MFILE command is illustrated below:\\
{{:integrateMatlab.gif?600}}\\
Note that, in order to pass the time signal to a MAT file, you should use "TIME" for the signal name, ”FRAME_NUMBERS” for the signal type, and "FALS" for processed.\\