Imu#
- class pyCGM2.IMU.imu.Imu(freq: int, accel: ndarray | None, angularVelocity: ndarray | None, mag: ndarray | None)#
- The IMU class represents an Inertial Measurement Unit (IMU) sensor. - Parameters:
- freq (int) – Sampling frequency of the IMU data. 
- accel (Optional[np.ndarray]) – Acceleration data from the IMU, represented as a NumPy array. 
- angularVelocity (Optional[np.ndarray]) – Angular velocity data from the IMU, represented as a NumPy array. 
- mag (Optional[np.ndarray]) – Magnetometer data from the IMU, represented as a NumPy array. 
 
 - __init__(freq: int, accel: ndarray | None, angularVelocity: ndarray | None, mag: ndarray | None)#
- Initializes the Imu class with the specified frequency, acceleration data, angular velocity data, and magnetometer data. 
 - Methods - __init__(freq, accel, angularVelocity, mag)- Initializes the Imu class with the specified frequency, acceleration data, angular velocity data, and magnetometer data. - downsample([freq])- Downsample IMU data to a specified frequency. - getAcceleration([axis])- Returns acceleration data. - getAngleAxis([axis])- Returns angle axis (equivalent to global angle) data. - getAngularVelocity([axis])- Returns angular velocity data. - getMagnetometer([axis])- Returns magnetometer data. - getMotion([index])- Returns motion data. - Returns quaternion data representing the orientation of the IMU. - reInit()- Restore initial values of IMU sensor data. - update(newAccelValues, newOmegaValues, ...)- Update IMU with new data. - downsample(freq: int = 400)#
- Downsample IMU data to a specified frequency. - Parameters:
- freq (int, optional) – Target frequency for downsampling. Defaults to 400 Hz. 
 
 - getAcceleration(axis=None)#
- Returns acceleration data. - Parameters:
- axis (Optional[str], optional) – Specific axis (‘X’, ‘Y’, or ‘Z’) for which acceleration data is required. Defaults to None. 
- Returns:
- np.ndarray – Acceleration data for the specified axis or all axes. 
 
 - getAngleAxis(axis=None)#
- Returns angle axis (equivalent to global angle) data. - Parameters:
- axis (Optional[str], optional) – Specific axis (‘X’, ‘Y’, or ‘Z’) for which angle axis data is required. Defaults to None. 
- Returns:
- np.ndarray – Angle axis data for the specified axis or all axes. 
 
 - getAngularVelocity(axis=None)#
- Returns angular velocity data. - Parameters:
- axis (Optional[str], optional) – Specific axis (‘X’, ‘Y’, or ‘Z’) for which angular velocity data is required. Defaults to None. 
- Returns:
- np.ndarray – Angular velocity data for the specified axis or all axes. 
 
 - getMagnetometer(axis=None)#
- Returns magnetometer data. - Parameters:
- axis (Optional[str], optional) – Specific axis (‘X’, ‘Y’, or ‘Z’) for which magnetometer data is required. Defaults to None. 
- Returns:
- np.ndarray – Magnetometer data for the specified axis or all axes. 
 
 - getMotion(index: int | None = None)#
- Returns motion data. If an index is provided, returns the motion data at the specified index. - Parameters:
- index (Optional[int], optional) – Index for which motion data is required. Defaults to None. 
- Returns:
- List[Frame] or Frame – Motion data for all frames or a specific frame at the given index. 
 
 - getQuaternions()#
- Returns quaternion data representing the orientation of the IMU. - Returns:
- np.ndarray – Quaternion data for each frame. 
 
 - reInit()#
- Restore initial values of IMU sensor data. 
 - update(newAccelValues: ndarray, newOmegaValues: ndarray, newMagValues: ndarray)#
- Update IMU with new data. - Parameters:
- newAccelValues (np.ndarray) – New acceleration data. 
- newOmegaValues (np.ndarray) – New angular velocity data. 
- newMagValues (np.ndarray) – New magnetometer data. 
 
 
 
