====== Event Global Minimum ======
==== Overview ====
This command identifies the lowest point (minimum value) of a signal within a specified time range and creates a corresponding event at that frame. It is typically used when a user wants to detect a **single lowest value** of a signal over an entire trial or within a specific interval defined by events. This command is highly configurable and allows you to:
* Search over the **entire trial**, or within a specific **event-defined interval**
* Use offsets to shift the created event slightly forward or backward in time/frames.
* Limit search to specific instances of repeated event sequence.
* Define nested ranges using subsequences.
If the local minima are needed, see the [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Minimum|Event_Minimum]] command
To review the difference between local and global minimum 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, **Version 6**.
Event_Global_Minimum
/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
! /THRESHOLD=
;
====Command Parameters====
The following table shows the command parameters and descriptions:
|**Parameter** |**Description**|
|**/RESULT_EVENT_NAME=** | Name of the new event created at the signal's minimum value. |
|**!/SIGNAL_TYPES=** | Type of signal (e.g., `ANALOG`, `LINK_MODEL_BASED`, `TARGET`). |
|**!/SIGNAL_FOLDER=** | Folder where the signal is stored, usually `ORIGINAL` or `NORMALIZED`. |
|**!/SIGNAL_NAMES=** | The specific signal to evaluate (e.g., `Force`, `Left_Ankle_Angle`). |
|**!/SIGNAL_COMPONENTS=** | Component of the signal to check (e.g., X, Y, Z). |
|**!/FRAME_OFFSET=** | Number of frames to shift the new event from the minimum. |
|**!/TIME_OFFSET=** | Time (in seconds) to shift the event forward or backward. |
|**!/EVENT_SEQUENCE=** | Sequence of two events (e.g., `LTO`, `LHS`) to restrict the search range. |
|**!/EXCLUDE_EVENTS=** | If any listed event occurs in the sequence, it is skipped. |
|**!/EVENT_SEQUENCE_INSTANCE=** | Index of the sequence instance to evaluate (0 = all, 1 = first, etc.). |
|**!/EVENT_SUBSEQUENCE=** | Optional inner event window within a broader sequence. |
|**!/SUBSEQUENCE_EXCLUDE_EVENTS=**| Exclude subsequence if certain events are present. |
|**!/EVENT_SUBSEQUENCE_INSTANCE=**| Specify instance of the subsequence to evaluate. |
|**!/THRESHOLD=** | Minimum required signal value to consider a point as the minimum. |
====Dialog====
The command can be edited in a text editor or in a dialog form. To edit in the dialog pop-up form either click on the **Edit** button in the pipeline workshop or double-click on the command. The dialog box is shown below:
{{:visual3d:documentation:pipeline:event_commands:egmin_dialog.png?500|}}
====Examples====
The following example will go through the use of the **Event_Global_Maximum** command in the Visual3D application.
This command may be used to create an event **RKFlex_Min**, at the GLOBAL minimum value of a signal.\\
RKFlex_Min is at the minimum knee flexion angle during the gait cycle. The gait cycle is indicated by the RHS events.\\
**Example 1)** The minimum value of the signal may be over the entire signal\\
**Example 2)** The minimum value of the signal may be during an event sequence\\
**Example 3)** A specific event sequence may be excluded\\
**NOTE:**
* If no events are specified in the Event Sequence, a global minimum over the whole trial will be created.
* One event will be created during each gait cycle.
* Event_Minimum command may be used to create multiple minimum events during an event sequence.
=== Example 1: Simple Use Case ===
This example will be done showing both the dialog box and corresponding command text.
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.
To create the RKFlex_Min event using the Event_Global_Minimum dialog box:
**1. Enter information into dialog box:**
* **Event_Name:** RKFlex_Min
* **Select Frame Offset:** 0
* **Signal Components:** X
* **Event Sequence Instance:** 0
* **Defined Events:** RHS + RHS
* Click **OK**
|{{:visual3d:documentation:pipeline:event_commands:dialog_ex1_egmin.png?500|}}|
Event_Global_Minimum
/RESULT_EVENT_NAME=RKFlex_Min
! /SIGNAL_TYPES=
! /SIGNAL_FOLDER=ORIGINAL
! /SIGNAL_NAMES=
/SIGNAL_COMPONENTS=X
! /FRAME_OFFSET=0
! /TIME_OFFSET=
/EVENT_SEQUENCE=RHS+RHS
! /EXCLUDE_EVENTS=
! /EVENT_SEQUENCE_INSTANCE=0
! /EVENT_SUBSEQUENCE=
! /SUBSEQUENCE_EXCLUDE_EVENTS=
! /EVENT_SUBSEQUENCE_INSTANCE=0
! /THRESHOLD=
;
|
**2. Select desired signal:**
* Select **signal from data tree** Right_Knee_Angle
* Click **Import Selected Signals**
{{:Event_Global_Min_RKFlex_Min_Import.jpg?700}}|
**RKFlex_Min** will be created at the global minimum value during the gait cycle.\\
=== Alternate Example: Finding Value at Event ===
This command can be used to find the **lowest vertical GRF during swing phase** of the left leg and convert that to a metric.
Event_Global_Minimum
/RESULT_EVENT_NAME=LeftMinGRF
/SIGNAL_TYPES=ANALOG
/SIGNAL_FOLDER=ORIGINAL
/SIGNAL_NAME=F2Y
/FRAME_OFFSET=0
! /TIME_OFFSET=
/EVENT_SEQUENCE=LTO+LHS
! /EXCLUDE_EVENTS=
! /EVENT_SEQUENCE_INSTANCE=
! /EVENT_SUBSEQUENCE
! /SUBSEQUENCE_EXCLUDE_EVENTS=
! /EVENT_SUBSEQUENCE_INSTANCE=0
! /THRESHOLD=
;
Then convert the signal value at this event to a usable number:
Metric_Signal_Value_At_Event
! /SIGNAL_FOLDER=
! /SIGNAL_LABEL=
/EVENT_NAME=LeftMinGRF
/RESULT_METRIC_NAME=MinGRF_Left_Swing
;
----
====Notes====
=== Version 5 ===
|{{:Event_Global_Minimum.jpg}}|
Event_Global_Minimum
/RESULT_EVENT_NAME=
! /SIGNAL_TYPES=
! /SIGNAL_NAMES=
! /SIGNAL_FOLDER=ORIGINAL
! /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
! /SELECT_X=
! /SELECT_Y=
! /SELECT_Z=
! /SELECT_RESIDUAL=
! /START_AT_EVENT=
! /END_AT_EVENT=
;
|
=== Version 4 ===
|{{:Eventglobalminmaxdlg.gif}}|
Event_Global_Minimum
/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
/Radius= The range of frames of data that must be below the minimum
/Start_At_Event= The search begins from the start event
/End_At_Event= The search ends at the end event
;
|