====== Event Maximum ======
==== Overview ====
The **Event_Maximum** command is used to detect the maximum value of a specified signal within a defined event sequence or range and create an event at that location. This command can evaluate different components of a signal (X, Y, Z, Residual) and can apply offsets to shift the detected event if needed.
* Useful for identifying peak forces, peak joint angles, or maximum accelerations during specific phases of a motion, such as between initial contact and toe-off during gait.
* If the global maxima are needed, see the [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Global_Maximum|Event_Global_Maximum]] command
* To review the difference between local and global maximum values please see [[Visual3D:Documentation:Pipeline:General_Information:Global_vs_Loca_Max_and_Min|here]]
==== Pipeline Command ====
The command below is as seen in the Visual3D application:
Event_Maximum
/RESULT_EVENT_NAME=
! /SIGNAL_TYPES=
! /SIGNAL_FOLDER=ORIGINAL
! /SIGNAL_NAMES=
! /SIGNAL_COMPONENTS=
! /FRAME_OFFSET=0
! /TIME_OFFSET=
! /EVENT_SEQUENCE=
! /EXCLUDE_EVENTS=
! /EVENT_SEQUENCE_INSTANCE=0
! /EVENT_SUBSEQUENCE=
! /SUBSEQUENCE_EXCLUDE_EVENTS=
! /EVENT_SUBSEQUENCE_INSTANCE=0
! /EVENT_INSTANCE=0
! /FRAME_WINDOW=8
! /THRESHOLD=
;
==== Command Parameters ====
The following table shows the command parameters and descriptions:
|**Parameter** |**Description**|
|**/RESULT_EVENT_NAME=**|The name assigned to the detected peak event.|
|**!/SIGNAL_TYPES=**|Indicates type of signal analyzed.|
|**!/SIGNAL_FOLDER=ORIGINAL**|Specifies the folder containing the target signal (typically ORIGINAL)|
|**!/SIGNAL_NAMES=**|The name of the signal to analyze.|
|**!/SIGNAL_COMPONENTS**|Which components to evaluate (X, Y, Z, Residual)|
|**!/FRAME_OFFSET=**|Optional offset in frames to shift the detected event.|
|**!/TIME_OFFSET=**|Optional offset in seconds to shift the detected event.|
|**!/EVENT_SEQUENCE=**|Defines the sequence of events used.|
|**!/EXCLUDE_EVENTS=**|Events to exclude within the sequence.|
|**!/EVENT_SEQUENCE_INSTANCE=0**|Specifies which instance of the sequence to evaluate (0 to consider ALL)|
|**!/EVENT_SUBSEQUENCE=**|Defines a smaller sequence within the main even sequence.|
|**!/SUBSEQUENCE_EXCLUDE_EVENTS**|Events to exclude from the subsequence.|
|**!/EVENT_SUBSEQUENCE_INSTANCE=0**|Specifies which instance of the subsequence to evaluate.|
|**!/EVENT_INSTANCE=**|Specifies which instance of the event to label (0 for all, positive for first occurrences, negative for last occurrences).|
|**!/FRAME_WINDOW=**|Number of frames around the maximum that must satisfy the threshold.|
|**!/THRESHOLD=**|Defines the minimum value the signal must reach to qualify as a peak.|
==== Dialog ====
The command can be edited in a text editor or in the dialog. To edit in the dialog, click on the **Edit** button in the pipeline workshop or double-click on the pipeline command. The dialog is shown below:
{{:visual3d:documentation:pipeline:event_commands:event_max_dialog.png?400|}}
----
==== Examples ====
The following examples will go through the use of the **Event_Maximum** command in the Visual3D application.
=== Example 1: Simple Use Case ===
The first example will cover the command using the dialog as well as the command text. To create the RKFlex_MaxLocal event using the Event_Maximum dialog box:
1. Add the **Event_Maximum** command to the pipeline. Then, enter information into dialog box:
**Event_Name:** RKFlex_MaxLocal\\
**Select Frame Offset:** 0\\
**Signal Components:** X\\
**Event Sequence:**RHS -> RHS (use arrows to move from defined events list into sequence.) \\
**Event Sequence Instance:**0\\
{{:Event_Max_RKFlex_MaxLocal.jpg?400}}
2. Close the dialog, on the Signals and Events tab, select the desired signal from the data tree, in this case **Right_Knee_Angle**. Navigate into the LINK_MODEL_BASED items folder, and select the checkbox beside the signal.
3. Open the pipeline workshop again, and then click on **Import Selected Signals**.\\
{{:Event_Max_RKFlex_MaxLocal_Import.jpg?600}}
**RKFlex_Max** will be created at the minimum value during the gait cycle within the specified frame window.
----
==== Notes ====
=== Version 5 ===
In version 5 the command has been extended to include the Event_Sequence and Exclude_Events parameters.
|{{:EventMaximumDlg5.jpg}}|
Event_Maximum
/RESULT_EVENT_NAME=EVENT_MAX
/SIGNAL_TYPES=TARGET
/SIGNAL_FOLDER=ORIGINAL
/SIGNAL_NAMES=LFT2
/SIGNAL_COMPONENTS=Z
/FRAME_OFFSET=0
!/TIME_OFFSET=
!/EVENT_SEQUENCE=
!/EXCLUDE_EVENTS=
!/EVENT_SEQUENCE_INSTANCE=0
!/EVENT_SUBSEQUENCE=
!/SUBSEQUENCE_EXCLUDE_EVENTS=
!/EVENT_INSTANCE=0
!/FRAME_WINDOW-8
/THRESHOLD=0.14
;
|
* Other options within the command such as **Exclude Event**, and **Select Subsequence** are explained in detail on the [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Global_Maximum#Examples|Event_Global_Maximum]] page.
* If /Threshold is empty, all local maximum are identified.
* If /Threshold has a value or expression, only local maximum that are greater than the threshold are identified.
=== Version 4 ===
Event_Maximum
/Signal_Types=The type of signal to be evaluated
/Signal_Names=The names of the signals to be evaluated
/Signal_Folder=The name of the signal folder
/Event_Name=The name to be given to the threshold event
/Select_X=(True or False)Use this component of the signal
/Select_Y=(True or False)Use this component of the signal
/Select_Z=(True or False)Use this component of the signal
/Frame_Window=The range of frames of data that must be below the maximum
/Start_At_Event=The search begins from the start event
/End_At_Event=The search ends at the end event
/Event_Instance=
;
Dialog that pops up when pipeline selection is edited by double clicking with the left mouse button.
{{:MinMaxDlg.jpg}}