sift:curve_registration:curve_registration_for_biomechanical_waveforms
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
sift:curve_registration:curve_registration_for_biomechanical_waveforms [2024/07/17 15:43] – removed sgranger | sift:curve_registration:curve_registration_for_biomechanical_waveforms [2024/07/17 15:44] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Curve Registration for Biomechanical Waveforms ====== | ||
+ | |||
+ | Curve registration has been proven to aid in analysis of biomechanical signals, and can produce more accurate results in time continuous analysis including PCA, due to sensitivity towards time varying events. When looking at a signal in a dataset, we typically see variation in the amplitude and phase. When physical time may not impact or be relevant to real life systems, there is sometimes a need to align the curves on a system time rather than a clock time to correct phase variation. This is done by registering the curves to a specific landmark. In the world of biomechanics and gait analysis, we can register curves by certain events, such as the max or min of a signal to see a better representation of amplitude variation. To review supporting literature, see [[[https:// | ||
+ | |||
+ | ==== Mathematics of Curve Registration ==== | ||
+ | |||
+ | Curves are registered by applying a time warping function, h(t), on the original curve, x(t). | ||
+ | |||
+ | < | ||
+ | x* (t) = x [h(t)] | ||
+ | </ | ||
+ | |||
+ | The time warping function is unique to each curve and transforms the physical (typically clock) time to the system time. This requires a landmark for the whole system to be registered, by taking the mean location of a landmark across all curves. The time warping function then adjusts each individual curve so that the curve specific landmark happens at the same time through linear interpolation. The time warping ensures that the following equation is always satisfied. | ||
+ | |||
+ | < | ||
+ | h-1 [h(t)] = t | ||
+ | </ | ||
+ | |||
+ | ==== Registering Curves in Sift ==== | ||
+ | |||
+ | Located in the [[Sift: | ||
+ | |||
+ | To register a curve, in the Explore Page select a group, and the workspaces wanted, and select the **Register** button. This will prompt a **[[Sift: | ||
+ | |||
+ | === Example 1: registering to local max/min === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | In this example we selected the **KneeAngleX** query to be registered. | ||
+ | |||
+ | We will register the curves to a local maximum between 60 and 90, and a local minimum between 25 and 50. | ||
+ | |||
+ | Here we can see the difference between the original curves (left), and the registered curves (right). | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Example 2: registering to intermediate event === | ||
+ | |||
+ | In this example we selected the **AnkleAngleX** query to be registered. | ||
+ | |||
+ | We will register the curves to its event sequence LHS, RHS, LHS. **Note**: Event sequences must be defined in the query builder, and must have more than two events to be registered. | ||
+ | |||
+ | Here we can see the difference between the original curves (left), and the registered curves (right). | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Exporting Results ==== | ||
+ | |||
+ | Curve registration results can be exported as an image, or as text file containing all data points. To export an image of the plot, right click on it to show the context menu. In the context menu select Export. A dialog will appear allowing you to choose which type of image you want it exported as, and what size. | ||
+ | |||
+ | To export the data go to the {{: | ||
+ | |||
+ | ===== References ===== | ||
+ | |||
+ | [1] J. O. Ramsay, Xiaochun Li, Curve Registration, | ||
+ | |||
+ | |||
sift/curve_registration/curve_registration_for_biomechanical_waveforms.1721230994.txt.gz · Last modified: 2024/07/17 15:43 by sgranger