cph-cachet / carp.sensing-flutter

CARP Mobile Sensing for Flutter, including mobile sensing framework, data backend support, and the CARP mobile sensing app.
MIT License
80 stars 28 forks source link

Extend "average accelerometer" measure to provide more features #347

Closed bardram closed 1 year ago

bardram commented 1 year ago

To further address #336, we want to extend the average accelerometer measure (PR #342, #341) to contain more features.

Using these articles as inspiration:

bardram commented 1 year ago

The statistical features:

  1. number of peaks
  2. skewness
  3. kurtosis

could not be implemented (they assume some sort of probabilistic distribution).

Peak detection could be implemented, by using this Robust peak detection algorithm (using z-scores).

bardram commented 1 year ago

Published as 1.3.4.

Accelerometer features are now like this:

{
 "sensorStartTime": 1697800468891780,
 "sensorEndTime": 1697800478903568,
 "data": {
  "__type": "dk.cachet.carp.accelerationfeatures",
  "count": 55,
  "xMean": -0.002724063667384061,
  "yMean": -0.002637693015011874,
  "zMean": -0.16934890747070314,
  "xStd": 0.013855562205479371,
  "yStd": 0.01849891120176733,
  "zStd": 0.011855636444812601,
  "xAad": 0.011472705031229444,
  "yAad": 0.013146298109007278,
  "zAad": 0.008665431629527699,
  "xMin": -0.03441151976585388,
  "yMin": -0.06160842627286911,
  "zMin": -0.20050811767578125,
  "xMax": 0.022999465465545654,
  "yMax": 0.04248298704624176,
  "zMax": -0.12859725952148438,
  "xMaxMinDiff": 0.057410985231399536,
  "yMaxMinDiff": 0.10409141331911087,
  "zMaxMinDiff": 0.07191085815429688,
  "xMedian": -0.0013580620288848877,
  "yMedian": -0.0037148892879486084,
  "zMedian": -0.16947650909423828,
  "xMad": 0.010873883962631226,
  "yMad": 0.010325059294700623,
  "zMad": 0.004851341247558594,
  "xIqr": 0.019643381237983704,
  "yIqr": 0.020682185888290405,
  ...
}