Skip to content

RawanIb/Multi-Planar_Cervical_Motion_Dataset_IMU_Measurements_and_Goniometer

Repository files navigation

Multi-Planar Cervical Motion Dataset: IMU Measurements and Goniometer

This repository includes Matlab code for extract relative angle between two IMU sensors. The code is based on the following paper: Ascertaining cervical range of motion from IMU sensors.

This study is a data descriptor of extraction cervical range of motion includes two parts.

Part A (Validation)

This part aims to validate the extract angle from IMU sensors using the gold-standard method, a goniometer.

The main script is 'Analyze_PartA_Validation.m', the scripts read the data and extract the angle from the IMU sensors.

Alt text

Figure 1: Universal goniometer, sensor placement, and reference system description. The Subject exhibits sensor and Goniometer placement for 3 planes. (A) Sagittal plane movement Flexion / Extension (Y axis). (B) Frontal plane movement, side Flexion (Z axis). (C) Horizontal plane movement, rotation (X-axis).

Part B (Reliability)

This part aims to assess the consistency of the measures by extracting the angle of the same movements recorded at different times.

The main script is 'Analyze_PartB_Reliability.m', the scripts read the data and extract the angle from the IMU sensors.

Alt text

Figure 2: Sensor placement and body positioning for Part B. (A) Subject exhibiting flexion/extension (sagittal). (B) Subject exhibiting side flexion (Frontal). (C) Subject exhibiting rotation (Horizontal).

Data

The data structure is detailed in the manuscript.

Run the code

  • Change data_path variable to the path of the data.
  • Run the script to get the angle along the session, and save the results in the 'Results' folder.

Part A (Validation)

Analyze_PartA_Validation
  1. Select the desired data file for the analysis.

    partA_step1.png
  2. The script will plot the angle extracted from the IMU sensors for the 6 movements of the desired plane. Choose the desired segment and proceed to the next step, as instructed in the pop-up window.

    partA_step2.png
  3. Example of 12 data cursors selected for the 6 movements of the desired plane.

    partA_step3.png
  4. The angle extracted from the IMU sensors as csv file.

    partA_step4.png

Part B (Reliability)

Analyze_PartB_Reliability
  1. Select the desired trails for the analysis, first pre then post.

    partB_step1a.png partB_step1b.png
  2. Select the desired anatomical plane for the analysis.

    partB_step2.png
  3. Follow the instructions in the pop-up window to calibrate the data.

    partB_step3a.png

3.1. Select two points for the calibration (Pre - Blue, Pre - Red).

partB_step3b.png

3.2. Adjust offset and onset of the angles according to the calibration points.

partB_step3c.png

  1. Follow the instructions in the pop-up window and choose the desired segment and select 24 points.

    partB_step4.png
  2. Example of 24 data cursors selected for the 6 movements of the desired plane.

    partB_step5a.png partB_step5b.png partB_step5c.png
  3. The angle extracted from the IMU sensors as csv file.

    partB_step6.png

License

This software is provided for non-commercial use only. For commercial use, you must obtain a commercial license by contacting Ramot ([email protected]).

Shield: CC BY-NC-SA 4.0

This software is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

About

Extract CROM using IMU sensors in Matlab

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages