User Tools

Site Tools


visual3d:documentation:pipeline:event_commands:event_maximum

This is an old revision of the document!


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 Event_Global_Maximum command
  • To review the difference between local and global maximum values please see 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=ORIGINALSpecifies the folder containing the target signal (typically ORIGINAL)
!/SIGNAL_NAMES=The name of the signal to analyze.
!/SIGNAL_COMPONENTSWhich 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=0Specifies which instance of the sequence to evaluate (0 to consider ALL)
!/EVENT_SUBSEQUENCE=Defines a smaller sequence within the main even sequence.
!/SUBSEQUENCE_EXCLUDE_EVENTSEvents to exclude from the subsequence.
!/EVENT_SUBSEQUENCE_INSTANCE=0Specifies 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:

  • New Event Label Name: Name of event created at the local maximum points.
  • Signal Component: Which direction of the signal to analyze.
  • Frame Window: Size of window to look for a local maximum around each frame.
  • Frame Offset: Shift the resulting event by a number of frames.
  • Time Offset: Move the event by a time shift (in seconds)
  • Threshold: Only create an event if the maximum exceeds this value.
  • Event Instance to Create: Choose which maximum to create if there are multiple peaks in a search window
  • Event Sequence and Instance for Range: Limits where to search for maxima
  • Subsequence and Instance within Event Sequence: Further limits search inside smaller phase within main event range.

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

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

RKFlex_MaxLocal will be created at the maximum values during the full gait cycle. As seen below:

Example 2: Complex

In this example, the local maximum of the right ankle vertical acceleration (Y-axis) during terminal stance is identified. Then, the value of this event is extracted

First, we can use the Second_Derivative command to find the acceleration of the R Ankle signal.

Second_Derivative
/SIGNAL_TYPES=TARGET
/SIGNAL_FOLDER=PROCESSED
/SIGNAL_NAMES=R.Ankle
! /RESULT_TYPES=
/RESULT_FOLDERS=ACCELERATION
/RESULT_NAME=_Accel
/APPLY_AS_SUFFIX_TO_SIGNAL_NAME=TRUE
;

Second, the Event_Maximum command can be used to find the peaks in the acceleration signal, the component is set to Y and frame window is increased to 30.

Event_Maximum
/RESULT_EVENT_NAME=Right_Accel_Peak_Stance
/SIGNAL_TYPES=TARGET
/SIGNAL_FOLDER=ACCELERATION
/SIGNAL_NAMES=R.Ankle_Accel
/SIGNAL_COMPONENTS=Y
! /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=30
! /THRESHOLD=
;

Finally, use Metric_Signal_Value_At_Event to extract the actual Y-acceleration values at these peaks for analysis:

Metric_Signal_Value_At_Event
/SIGNAL_TYPES=TARGET
/SIGNAL_FOLDER=ACCELERATION
/SIGNAL_NAMES=R.Ankle_Accel
! /RESULT_METRIC_FOLDER=PROCESSED
/RESULT_METRIC_NAME=Right_Accel_Peak_Stance_Times
! /APPLY_AS_SUFFIX_TO_SIGNAL_NAME=FALSE
! /SIGNAL_COMPONENTS=
! /COMPONENT_SEQUENCE=
/EVENT_NAME=Right_Accel_Peak_Stance
! /EVENT_INSTANCE=0
! /SCALE_FACTORS=1
! /GENERATE_GLOBAL_MEAN_AND_STDDEV=TRUE
! /GENERATE_LOCAL_MEAN_AND_STDDEV=TRUE
! /APPEND_TO_EXISTING_VALUES=FALSE
! /GENERATE_VECTOR_LENGTH_METRIC=FALSE
! /RETAIN_NO_DATA_VALUES=FALSE
;

—-

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 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

visual3d/documentation/pipeline/event_commands/event_maximum.1745949832.txt.gz · Last modified: 2025/04/29 18:03 by wikisysop