====== Brackets ====== ===== Parentheses ===== Parentheses **(** and **)** are used to contain the parameters in a function For Example\\ Vector(0,0,1) ===== Square_Brackets ===== Square Brackets **[** and **]** specify frame numbers and components Square Brackets **[** and **]** are used at the end of a function call or parenthesis ( ) to specify the frames numbers and components Example, add two signals and retrieve the component 1 from frame 5 Evaluate_Expression /Expression= (TARGET::ORIGINAL::RFT1 + TARGET::ORIGINAL::RFT2)[5,1] /Result_Name=RFT_ADD_X /Result_Type=DERIVED /Result_Folder=PROCESSED ; Example, add two signals and retrieve the component 1 for all frames Evaluate_Expression /Expression= (TARGET::ORIGINAL::RFT1 + TARGET::ORIGINAL::RFT2)[-1,1] /Result_Name=RFT_ADD_X /Result_Type=DERIVED /Result_Folder=PROCESSED ; **NOTE** a frame of -1 means all frames\\ Extracting one "component" of data from signal The following command will result in the DERIVED signal TEST containing the X component values of the TARGET RFT1. Evaluate_Expression /EXPRESSION=TARGET::ORIGINAL::RFT1::X /RESULT_NAME=TEST /RESULT_TYPE=DERIVED ! /RESULT_FOLDER=PROCESSED ; == Using Square Brackets and Boolean Operators == In this example, project a collection of markers onto the floor whenever the z-component of a marker is less than a threshold (e.g. 0.08 in this example) otherwise set the resulting frame to NO_DATA Evaluate_Expression /EXPRESSION=(((CURRENT_SIGNAL[-1,3])<0.08)/((CURRENT_SIGNAL[-1,3])<0.08))*VECTOR(1,1,0)*CURRENT_SIGNAL /SIGNAL_TYPES=TARGET /SIGNAL_FOLDER=ORIGINAL /SIGNAL_NAMES=LFT1+LFT2+LFT3+RFT1+RFT2+RFT3 /RESULT_TYPES=TARGET /RESULT_FOLDERS=GROUND ! /RESULT_NAME= /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=TRUE ;