From 571a3e286b0df121b10a1487685ae58942840fcf Mon Sep 17 00:00:00 2001 From: nivethika Date: Fri, 1 Nov 2019 16:35:26 +0100 Subject: [PATCH 01/12] add physilog data and report schemas --- .../physilog/physilog_acceleration.avsc | 13 +++++ .../physilog/physilog_aggregated_statistics | 19 +++++++ .../upload/physilog/physilog_cycle.avsc | 54 +++++++++++++++++++ .../physilog/physilog_cycle_summary.avsc | 54 +++++++++++++++++++ .../upload/physilog/physilog_gyroscope.avsc | 13 +++++ .../upload/physilog/physilog_metadata.avsc | 29 ++++++++++ .../upload/physilog/physilog_summary.avsc | 28 ++++++++++ 7 files changed, 210 insertions(+) create mode 100644 commons/connector/upload/physilog/physilog_acceleration.avsc create mode 100644 commons/connector/upload/physilog/physilog_aggregated_statistics create mode 100644 commons/connector/upload/physilog/physilog_cycle.avsc create mode 100644 commons/connector/upload/physilog/physilog_cycle_summary.avsc create mode 100644 commons/connector/upload/physilog/physilog_gyroscope.avsc create mode 100644 commons/connector/upload/physilog/physilog_metadata.avsc create mode 100644 commons/connector/upload/physilog/physilog_summary.avsc diff --git a/commons/connector/upload/physilog/physilog_acceleration.avsc b/commons/connector/upload/physilog/physilog_acceleration.avsc new file mode 100644 index 00000000..6295008e --- /dev/null +++ b/commons/connector/upload/physilog/physilog_acceleration.avsc @@ -0,0 +1,13 @@ +{ + "namespace": "org.radarcns.connector.upload.physilog", + "type": "record", + "name": "PhysilogAcceleration", + "doc": "Data from 3-axis accelerometer sensor with gravitational constant g as unit.", + "fields": [ + {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the service."}, + {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "x", "type": "float", "doc": "Acceleration in the x-axis (g)."}, + {"name": "y", "type": "float", "doc": "Acceleration in the y-axis (g)."}, + {"name": "z", "type": "float", "doc": "Acceleration in the z-axis (g)."} + ] +} diff --git a/commons/connector/upload/physilog/physilog_aggregated_statistics b/commons/connector/upload/physilog/physilog_aggregated_statistics new file mode 100644 index 00000000..d58dc8ec --- /dev/null +++ b/commons/connector/upload/physilog/physilog_aggregated_statistics @@ -0,0 +1,19 @@ +{ + "namespace": "org.radarcns.connector.upload.physilog", + "type": "record", + "name": "PhysilogAggregatedStatistics", + "doc": "Summary of aggregated statistics of the physilog test analysis.", + "fields": [ + {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, + {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "iqr", "type": "float", "doc": "Interquartile range value of the dataset."}, + {"name": "max", "type": "float", "doc": "Maximum value of the dataset."}, + {"name": "mean", "type": "float", "doc": "Mean value of the dataset."}, + {"name": "meadian", "type": "float", "doc": "Meadian value of the dataset."}, + {"name": "min", "type": "float", "doc": "Minimum value of the dataset."}, + {"name": "ration", "type": "string", "doc": "Ratio of what?"}, + {"name": "significantDigit", "type": "int", "doc": "Significant digit of computed values."}, + {"name": "std", "type": "int", "doc": "Standard deviation value of the dataset."}, + {"name": "unit", "type": "string", "doc": "Unit of the dataset.. Why units???."} + ] +} diff --git a/commons/connector/upload/physilog/physilog_cycle.avsc b/commons/connector/upload/physilog/physilog_cycle.avsc new file mode 100644 index 00000000..c57aa40e --- /dev/null +++ b/commons/connector/upload/physilog/physilog_cycle.avsc @@ -0,0 +1,54 @@ +{ + "namespace": "org.radarcns.connector.upload.physilog", + "type": "record", + "name": "PhysilogCycle", + "doc": "Cycle data extracted from the physilog test analysis.", + "fields": [ + {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, + {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "healStrikeLeft", "type": "double", "doc": "Heal strike from Left foot in (seconds)."}, + {"name": "healStrikeRight", "type": "double", "doc": "Heal strike from Right foot in (seconds)."}, + {"name": "gaitCycleTimeLeft", "type": "double", "doc": "Gait cycle time from Left foot in (seconds)."}, + {"name": "gaitCycleTimeRight", "type": "double", "doc": "Gait cycle time from Right foot in (seconds)."}, + {"name": "cadenceLeft", "type": "double", "doc": "Cadence from Left foot in (steps/minute)."}, + {"name": "cadenceRight", "type": "double", "doc": "Cadence from Right foot in (steps/minute)."}, + {"name": "stanceRatioLeft", "type": "double", "doc": "Stance ratio from Left foot in (% of cycle duration)."}, + {"name": "stanceRatioRight", "type": "double", "doc": "Stance ratio from Right foot in (% of cycle duration)."}, + {"name": "swingRatioLeft", "type": "double", "doc": "Swing ratio from Left foot in (% of gait cycle)."}, + {"name": "swingRatioRight", "type": "double", "doc": "Swing ratio from Right foot in (% of gait cycle)."}, + {"name": "loadRatioLeft", "type": "double", "doc": "Load ratio from Left in foot (% of stance)."}, + {"name": "loadRatioRight", "type": "double", "doc": "Load ratio from Right in foot (% of stance)."}, + {"name": "footFlatRatioLeft", "type": "double", "doc": "Foot flat ratio from Left foot in (% of stance)."}, + {"name": "footFlatRatioRight", "type": "double", "doc": "Foot flat ratio from Right foot in (% of stance)."}, + {"name": "pushRatioLeft", "type": "double", "doc": "Push ratio from Left foot in (% of stance)."}, + {"name": "pushRatioRight", "type": "double", "doc": "Push ration from Right foot in (% of stance)."}, + {"name": "DSL", "type": "double", "doc": "something ????? from Left foot in (% of cycle duration)."}, + {"name": "DSR", "type": "double", "doc": "something ????? from Right foot in (% of cycle duration)."}, + {"name": "strideLengthLeft", "type": "double", "doc": "Stride length from Left foot in (meters)."}, + {"name": "strideLengthRight", "type": "double", "doc": "Stride length from Right foot in (meters)."}, + {"name": "speedLeft", "type": "double", "doc": "Gait speed from Left foot in (meters/s)."}, + {"name": "speedRight", "type": "double", "doc": "Gait speed from Right foot in (meters/s)."}, + {"name": "peaksInSwingLeft", "type": "double", "doc": "Maximum angular velocity during swing from Left foot in (degrees/s)."}, + {"name": "peaksInSwingRight", "type": "double", "doc": "Maximum angular velocity during swing from Right foot in (degrees/s)."}, + {"name": "minimalToeClearanceLeft", "type": "double", "doc": "Foot speed norm at minimal toe clearance from Left foot in (meters/s)."}, + {"name": "minimalToeClearanceRight", "type": "double", "doc": "Foot speed norm at minimal toe clearance from Right foot in (meters/s)."}, + {"name": "turningAngleLeft", "type": "double", "doc": "Turning angle from Left foot in (degree)."}, + {"name": "turningAngleRight", "type": "double", "doc": "Turning angle from Right foot in (degree)."}, + {"name": "heelStrikePitchLeft", "type": "double", "doc": "Foot pitch angle at heel strike from Left foot in (degree)."}, + {"name": "heelStrikePitchRight", "type": "double", "doc": "Foot pitch angle at heel strike from Right foot in (degree)."}, + {"name": "toeOffPitchLeft", "type": "double", "doc": "Foot pitch angle at toe-off from Left foot in (degree)."}, + {"name": "toeOffPitchRight", "type": "double", "doc": "Foot pitch angle at toe-off from Right foot in (degree)."}, + {"name": "swingWidthLeft", "type": "double", "doc": "Swing width from Left foot in (meters)."}, + {"name": "swingWidthRight", "type": "double", "doc": "Swing width from Right foot in (meters)."}, + {"name": "pathLengthLeft", "type": "double", "doc": "3D path length from Left foot in (% of stride length)."}, + {"name": "pathLengthRight", "type": "double", "doc": "3D path length from Right foot in (% of stride length)."}, + {"name": "maximumHeelClearanceLeft", "type": "double", "doc": "Maximum heel clearance from Left foot in (meters)."}, + {"name": "maximumHeelClearanceRight", "type": "double", "doc": "Maximum heel clearance from Right foot in (meters)."}, + {"name": "maximumToeClearanceOneLeft", "type": "double", "doc": "Max.1 toe clearance from Left foot in (meters)."}, + {"name": "maximumToeClearanceOneRight", "type": "double", "doc": "Max.1 toe clearance from Right foot in (meters)."}, + {"name": "maximumToeClearanceTwoLeft", "type": "double", "doc": "Max.2 toe clearance from Left foot in (meters)."}, + {"name": "maximumToeClearanceTwoRight", "type": "double", "doc": "Max.2 toe clearance from Right foot in (meters)."}, + {"name": "minimumToeClearanceLeft", "type": "double", "doc": "Minimum toe clearance from Left foot in (meters)."}, + {"name": "minimumToeClearanceRight", "type": "double", "doc": "Minimum toe clearance from Right foot in (meters)."} + ] +} diff --git a/commons/connector/upload/physilog/physilog_cycle_summary.avsc b/commons/connector/upload/physilog/physilog_cycle_summary.avsc new file mode 100644 index 00000000..f0efd4fb --- /dev/null +++ b/commons/connector/upload/physilog/physilog_cycle_summary.avsc @@ -0,0 +1,54 @@ +{ + "namespace": "org.radarcns.connector.upload.physilog", + "type": "record", + "name": "PhysilogCycleSummary", + "doc": "Statistical Summary of the physilog test analysis.", + "fields": [ + {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, + {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "healStrikeLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of heal strike-Left in (seconds)."}, + {"name": "healStrikeRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of heal strike-Right in (seconds)."}, + {"name": "gaitCycleTimeLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of gait cycle time Left in (seconds)."}, + {"name": "gaitCycleTimeRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of gait cycle time-Right in (seconds)."}, + {"name": "cadenceLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of cadence - Left in (steps/minute)."}, + {"name": "cadenceRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of cadence - Right in (steps/minute)."}, + {"name": "stanceRatioLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of stance ratio - Left in (% of cycle duration)."}, + {"name": "stanceRatioRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of stance ratio - Right in (% of cycle duration)."}, + {"name": "swingRatioLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of swing ratio - Left in (% of gait cycle)."}, + {"name": "swingRatioRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of swing ratio - Right in (% of gait cycle)."}, + {"name": "loadRatioLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of load ratio- Left in (% of stance)."}, + {"name": "loadRatioRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of load ratio- Right in (% of stance)."}, + {"name": "footFlatRatioLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Foot flat ratio- Left in (% of stance)."}, + {"name": "footFlatRatioRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Foot flat ratio- Right in (% of stance)."}, + {"name": "pushRatioLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Left in (% of stance)."}, + {"name": "pushRatioRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Right in (% of stance)."}, + {"name": "DSL", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Right in (% of cycle duration)."}, + {"name": "DSR", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Right in (% of cycle duration)."}, + {"name": "strideLengthLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of stride length - Left in (meters)."}, + {"name": "strideLengthRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of stride length - Right in (meters)."}, + {"name": "speedLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of gait speed- Left in (meters/s)."}, + {"name": "speedRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of gait speed- Right in (meters/s)."}, + {"name": "peaksInSwingLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of maximum angular velocity during swing - Left in (degrees/s)."}, + {"name": "peaksInSwingRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of maximum angular velocity during swing - Right in (degrees/s)."}, + {"name": "minimalToeClearanceLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of foot speed norm at minimal toe clearance- Left in (meters/s)."}, + {"name": "minimalToeClearanceRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of foot speed norm at minimal toe clearance- Right in (meters/s)."}, + {"name": "turningAngleLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of turning angle - Left in (degree)."}, + {"name": "turningAngleRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of turning angle - Right in (degree)."}, + {"name": "heelStrikePitchLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of foot pitch angle at heel strike -Left in (degree)."}, + {"name": "heelStrikePitchRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of foot pitch angle at heel strike -Right in (degree)."}, + {"name": "toeOffPitchLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of foot pitch angle at toe-off - Left in (degree)."}, + {"name": "toeOffPitchRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of foot pitch angle at toe-off - Right in (degree)."}, + {"name": "swingWidthLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of swing width - Left in (meters)."}, + {"name": "swingWidthRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of swing width - Right in (meters)."}, + {"name": "pathLengthLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of 3D path length - Left in (% of stride length)."}, + {"name": "pathLengthRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of 3D path length - Right in (% of stride length)."}, + {"name": "maximumHeelClearanceLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of maximum heel clearance - Left in (meters)."}, + {"name": "maximumHeelClearanceRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of maximum heel clearance - Right in (meters)."}, + {"name": "maximumToeClearanceOneLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Max.1 toe clearance - Left in (meters)."}, + {"name": "maximumToeClearanceOneRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Max.1 toe clearance - Right in (meters)."}, + {"name": "maximumToeClearanceTwoLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Max.2 toe clearance - Left in (meters)."}, + {"name": "maximumToeClearanceTwoRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Max.2 toe clearance - Right in (meters)."}, + {"name": "minimumToeClearanceLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of minimum toe clearance - Left in (meters)."}, + {"name": "minimumToeClearanceRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of minimum toe clearance - Right in (meters)."} + ] +} diff --git a/commons/connector/upload/physilog/physilog_gyroscope.avsc b/commons/connector/upload/physilog/physilog_gyroscope.avsc new file mode 100644 index 00000000..a1ab2693 --- /dev/null +++ b/commons/connector/upload/physilog/physilog_gyroscope.avsc @@ -0,0 +1,13 @@ +{ + "namespace": "org.radarcns.connector.upload.physilog", + "type": "record", + "name": "PhysilogGyroscope", + "doc": "Data from the 3-axis gyroscope.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device." }, + { "name": "x", "type": "float", "doc": "Gyration in the x-axis (rad/s)." }, + { "name": "y", "type": "float", "doc": "Gyration in the y-axis (rad/s)." }, + { "name": "z", "type": "float", "doc": "Gyration in the z-axis (rad/s)." } + ] +} diff --git a/commons/connector/upload/physilog/physilog_metadata.avsc b/commons/connector/upload/physilog/physilog_metadata.avsc new file mode 100644 index 00000000..15bdb7ec --- /dev/null +++ b/commons/connector/upload/physilog/physilog_metadata.avsc @@ -0,0 +1,29 @@ +{ + "namespace": "org.radarcns.connector.upload.physilog", + "type": "record", + "name": "PhysilogMetadata", + "doc": "Metadata about the physilog test and study, participant.", + "fields": [ + {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, + {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "age", "type": "int", "doc": "Age of the participant."}, + {"name": "date", "type": "int", "doc": "Date of the experiment???."}, + {"name": "gender", "type": "string", "doc": "Gender of the participant."}, + {"name": "height", "type": "int", "doc": "Height of the participant in (cm)."}, + {"name": "weight", "type": "double", "doc": "Weight of the participant in (kg)."}, + {"name": "language", "type": "string", "doc": "Language used to generate report."}, + {"name": "name", "type": "string", "doc": "Name of the participant??."}, + {"name": "protocol", "type": "string", "doc": "Name of the study or protocol."}, + {"name": "remark", "type": "string", "doc": "Remark or comments about the test/results???."}, + {"name": "filenames", "type": { + "type": "array", + "items": "string" + }, "doc": "List of filenames of raw data analysed for this report."}, + {"name": "discardInit", "type": "int", "doc": "???."}, + {"name": "shoeSize", "type": "double", "doc": "Shoe size of the participant."}, + {"name": "discardTurn", "type": "boolean", "doc": "Whether to discard turns in this test."}, + {"name": "resultV", "type": "double", "doc": "Result value in???."}, + {"name": "softwareVersion", "type": "string", "doc": "Version of the Gait UP software used."}, + {"name": "firmwareVersion", "type": "string", "doc": "Version of the Gait UP firmware used."} + ] +} diff --git a/commons/connector/upload/physilog/physilog_summary.avsc b/commons/connector/upload/physilog/physilog_summary.avsc new file mode 100644 index 00000000..b65b285d --- /dev/null +++ b/commons/connector/upload/physilog/physilog_summary.avsc @@ -0,0 +1,28 @@ +{ + "namespace": "org.radarcns.connector.upload.physilog", + "type": "record", + "name": "PhysilogSummary", + "doc": "Summary of the physilog test analysis.", + "fields": [ + {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, + {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "testTime", "type": "double", "doc": "Time taken to perform the test in (minutes)?."}, + {"name": "gaitTime", "type": "double", "doc": "Time of gait activity during the test."}, + {"name": "turnTime", "type": "double", "doc": "Time took to turn in (minutes)?"}, + {"name": "totalCycles", "type": "int", "doc": "Total amount of cycles analysed from the test."}, + {"name": "discardedCycles", "type": "int", "doc": "Total amount of cycles discarded from the test."}, + {"name": "analysedCycles", "type": "int", "doc": "Total amount of cycles performed during the test."}, + {"name": "turningCycles", "type": "int", "doc": "Total amount of cycles performed to make turns."}, + {"name": "distance", "type": "double", "doc": "Distance walked during the test in (m)???."}, + {"name": "speed", "type": { + "type": "array", + "items": "string" + }, "doc": "List of filenames of raw data analysed for this report."}, + {"name": "discardInit", "type": "int", "doc": "???."}, + {"name": "shoeSize", "type": "double", "doc": "Shoe size of the participant."}, + {"name": "discardTurn", "type": "boolean", "doc": "Whether to discard turns in this test."}, + {"name": "resultV", "type": "double", "doc": "Result value in???."}, + {"name": "softwareVersion", "type": "string", "doc": "Version of the Gait UP software used."}, + {"name": "firmwareVersion", "type": "string", "doc": "Version of the Gait UP firmware used."} + ] +} From c286a6802d82d64429f69d782adfbc2619a8cfe2 Mon Sep 17 00:00:00 2001 From: nivethika Date: Fri, 1 Nov 2019 17:01:59 +0100 Subject: [PATCH 02/12] fix file name --- ...ggregated_statistics => physilog_aggregated_statistics.avsc} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename commons/connector/upload/physilog/{physilog_aggregated_statistics => physilog_aggregated_statistics.avsc} (92%) diff --git a/commons/connector/upload/physilog/physilog_aggregated_statistics b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc similarity index 92% rename from commons/connector/upload/physilog/physilog_aggregated_statistics rename to commons/connector/upload/physilog/physilog_aggregated_statistics.avsc index d58dc8ec..99f20880 100644 --- a/commons/connector/upload/physilog/physilog_aggregated_statistics +++ b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc @@ -13,7 +13,7 @@ {"name": "min", "type": "float", "doc": "Minimum value of the dataset."}, {"name": "ration", "type": "string", "doc": "Ratio of what?"}, {"name": "significantDigit", "type": "int", "doc": "Significant digit of computed values."}, - {"name": "std", "type": "int", "doc": "Standard deviation value of the dataset."}, + {"name": "std", "type": "float", "doc": "Standard deviation value of the dataset."}, {"name": "unit", "type": "string", "doc": "Unit of the dataset.. Why units???."} ] } From d2e85a0403f082fc1e23549aaa286a63ea33d41f Mon Sep 17 00:00:00 2001 From: nivethika Date: Fri, 1 Nov 2019 17:33:38 +0100 Subject: [PATCH 03/12] fix documentation termination --- .../upload/physilog/physilog_aggregated_statistics.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc index 99f20880..b3ce1149 100644 --- a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc +++ b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc @@ -11,7 +11,7 @@ {"name": "mean", "type": "float", "doc": "Mean value of the dataset."}, {"name": "meadian", "type": "float", "doc": "Meadian value of the dataset."}, {"name": "min", "type": "float", "doc": "Minimum value of the dataset."}, - {"name": "ration", "type": "string", "doc": "Ratio of what?"}, + {"name": "ration", "type": "string", "doc": "Ratio of what?."}, {"name": "significantDigit", "type": "int", "doc": "Significant digit of computed values."}, {"name": "std", "type": "float", "doc": "Standard deviation value of the dataset."}, {"name": "unit", "type": "string", "doc": "Unit of the dataset.. Why units???."} From c6bb4ff9fb73d078cf5e0f5c53adf566d054956d Mon Sep 17 00:00:00 2001 From: nivethika Date: Mon, 4 Nov 2019 17:50:01 +0100 Subject: [PATCH 04/12] add additional documentation --- commons/connector/upload/physilog/physilog_metadata.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/connector/upload/physilog/physilog_metadata.avsc b/commons/connector/upload/physilog/physilog_metadata.avsc index 15bdb7ec..de33027a 100644 --- a/commons/connector/upload/physilog/physilog_metadata.avsc +++ b/commons/connector/upload/physilog/physilog_metadata.avsc @@ -2,7 +2,7 @@ "namespace": "org.radarcns.connector.upload.physilog", "type": "record", "name": "PhysilogMetadata", - "doc": "Metadata about the physilog test and study, participant.", + "doc": "Metadata about the physilog test and study, participant. Represents the "info" part of the report.", "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, From 3abc3cfadabfc64ce185170b2669e961beadef59 Mon Sep 17 00:00:00 2001 From: nivethika Date: Mon, 11 Nov 2019 15:20:58 +0100 Subject: [PATCH 05/12] commit minor updates --- .../physilog/physilog_aggregated_statistics.avsc | 2 +- .../connector/upload/physilog/physilog_summary.avsc | 12 +----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc index b3ce1149..e9602463 100644 --- a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc +++ b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc @@ -11,7 +11,7 @@ {"name": "mean", "type": "float", "doc": "Mean value of the dataset."}, {"name": "meadian", "type": "float", "doc": "Meadian value of the dataset."}, {"name": "min", "type": "float", "doc": "Minimum value of the dataset."}, - {"name": "ration", "type": "string", "doc": "Ratio of what?."}, + {"name": "ratio", "type": "string", "doc": "Ratio scale of the dataset."}, {"name": "significantDigit", "type": "int", "doc": "Significant digit of computed values."}, {"name": "std", "type": "float", "doc": "Standard deviation value of the dataset."}, {"name": "unit", "type": "string", "doc": "Unit of the dataset.. Why units???."} diff --git a/commons/connector/upload/physilog/physilog_summary.avsc b/commons/connector/upload/physilog/physilog_summary.avsc index b65b285d..fd4114d1 100644 --- a/commons/connector/upload/physilog/physilog_summary.avsc +++ b/commons/connector/upload/physilog/physilog_summary.avsc @@ -13,16 +13,6 @@ {"name": "discardedCycles", "type": "int", "doc": "Total amount of cycles discarded from the test."}, {"name": "analysedCycles", "type": "int", "doc": "Total amount of cycles performed during the test."}, {"name": "turningCycles", "type": "int", "doc": "Total amount of cycles performed to make turns."}, - {"name": "distance", "type": "double", "doc": "Distance walked during the test in (m)???."}, - {"name": "speed", "type": { - "type": "array", - "items": "string" - }, "doc": "List of filenames of raw data analysed for this report."}, - {"name": "discardInit", "type": "int", "doc": "???."}, - {"name": "shoeSize", "type": "double", "doc": "Shoe size of the participant."}, - {"name": "discardTurn", "type": "boolean", "doc": "Whether to discard turns in this test."}, - {"name": "resultV", "type": "double", "doc": "Result value in???."}, - {"name": "softwareVersion", "type": "string", "doc": "Version of the Gait UP software used."}, - {"name": "firmwareVersion", "type": "string", "doc": "Version of the Gait UP firmware used."} + {"name": "distance", "type": "double", "doc": "Distance walked during the test in (m)???."} ] } From 274ebdfca12ffffa93cd66e2ae6bb32eb299dbca Mon Sep 17 00:00:00 2001 From: nivethika Date: Mon, 11 Nov 2019 15:51:23 +0100 Subject: [PATCH 06/12] update schema documentation based on docs --- .../physilog/physilog_aggregated_statistics.avsc | 5 +++-- .../connector/upload/physilog/physilog_cycle.avsc | 5 +++-- .../upload/physilog/physilog_cycle_summary.avsc | 4 ++-- .../upload/physilog/physilog_metadata.avsc | 14 +++++++------- .../upload/physilog/physilog_summary.avsc | 9 +++++---- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc index e9602463..091e42db 100644 --- a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc +++ b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc @@ -12,8 +12,9 @@ {"name": "meadian", "type": "float", "doc": "Meadian value of the dataset."}, {"name": "min", "type": "float", "doc": "Minimum value of the dataset."}, {"name": "ratio", "type": "string", "doc": "Ratio scale of the dataset."}, - {"name": "significantDigit", "type": "int", "doc": "Significant digit of computed values."}, + {"name": "significantDigit", "type": "int", "doc": "How many digits after the comma should be displayed on the reports."}, {"name": "std", "type": "float", "doc": "Standard deviation value of the dataset."}, - {"name": "unit", "type": "string", "doc": "Unit of the dataset.. Why units???."} + {"name": "unit", "type": "string", "doc": "Unit of the data."}, + {"name": "propertyType", "type": "double", "doc": " type of the parameter to group them together in different categories e/g values are general, temporal, spatial and clearance."} ] } diff --git a/commons/connector/upload/physilog/physilog_cycle.avsc b/commons/connector/upload/physilog/physilog_cycle.avsc index c57aa40e..5cecfe2c 100644 --- a/commons/connector/upload/physilog/physilog_cycle.avsc +++ b/commons/connector/upload/physilog/physilog_cycle.avsc @@ -6,6 +6,7 @@ "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "cycleIndex", "type": "double", "doc": "Index of the cycle."}, {"name": "healStrikeLeft", "type": "double", "doc": "Heal strike from Left foot in (seconds)."}, {"name": "healStrikeRight", "type": "double", "doc": "Heal strike from Right foot in (seconds)."}, {"name": "gaitCycleTimeLeft", "type": "double", "doc": "Gait cycle time from Left foot in (seconds)."}, @@ -22,8 +23,8 @@ {"name": "footFlatRatioRight", "type": "double", "doc": "Foot flat ratio from Right foot in (% of stance)."}, {"name": "pushRatioLeft", "type": "double", "doc": "Push ratio from Left foot in (% of stance)."}, {"name": "pushRatioRight", "type": "double", "doc": "Push ration from Right foot in (% of stance)."}, - {"name": "DSL", "type": "double", "doc": "something ????? from Left foot in (% of cycle duration)."}, - {"name": "DSR", "type": "double", "doc": "something ????? from Right foot in (% of cycle duration)."}, + {"name": "doubleSupportLeft", "type": "double", "doc": "Double support, meaning the percentage of the gait cycle when both feet are on the ground from Left foot in (% of cycle duration)."}, + {"name": "doubleSupportRight", "type": "double", "doc": "Double support, meaning the percentage of the gait cycle when both feet are on the ground from Right foot in (% of cycle duration)."}, {"name": "strideLengthLeft", "type": "double", "doc": "Stride length from Left foot in (meters)."}, {"name": "strideLengthRight", "type": "double", "doc": "Stride length from Right foot in (meters)."}, {"name": "speedLeft", "type": "double", "doc": "Gait speed from Left foot in (meters/s)."}, diff --git a/commons/connector/upload/physilog/physilog_cycle_summary.avsc b/commons/connector/upload/physilog/physilog_cycle_summary.avsc index f0efd4fb..ce0cef9a 100644 --- a/commons/connector/upload/physilog/physilog_cycle_summary.avsc +++ b/commons/connector/upload/physilog/physilog_cycle_summary.avsc @@ -22,8 +22,8 @@ {"name": "footFlatRatioRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Foot flat ratio- Right in (% of stance)."}, {"name": "pushRatioLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Left in (% of stance)."}, {"name": "pushRatioRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Right in (% of stance)."}, - {"name": "DSL", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Right in (% of cycle duration)."}, - {"name": "DSR", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of push- Right in (% of cycle duration)."}, + {"name": "doubleSupportLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Double support from Left foot in (% of cycle duration)."}, + {"name": "doubleSupportRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of Double support Right foot in (% of cycle duration)."}, {"name": "strideLengthLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of stride length - Left in (meters)."}, {"name": "strideLengthRight", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of stride length - Right in (meters)."}, {"name": "speedLeft", "type": "PhysilogAggregatedStatistics", "doc": "Statistics of gait speed- Left in (meters/s)."}, diff --git a/commons/connector/upload/physilog/physilog_metadata.avsc b/commons/connector/upload/physilog/physilog_metadata.avsc index de33027a..4e99ae54 100644 --- a/commons/connector/upload/physilog/physilog_metadata.avsc +++ b/commons/connector/upload/physilog/physilog_metadata.avsc @@ -7,22 +7,22 @@ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, {"name": "age", "type": "int", "doc": "Age of the participant."}, - {"name": "date", "type": "int", "doc": "Date of the experiment???."}, + {"name": "date", "type": "int", "doc": "Date of the recording."}, {"name": "gender", "type": "string", "doc": "Gender of the participant."}, {"name": "height", "type": "int", "doc": "Height of the participant in (cm)."}, {"name": "weight", "type": "double", "doc": "Weight of the participant in (kg)."}, {"name": "language", "type": "string", "doc": "Language used to generate report."}, - {"name": "name", "type": "string", "doc": "Name of the participant??."}, + {"name": "name", "type": "string", "doc": "Participant identifier or subject-id of the participant."}, {"name": "protocol", "type": "string", "doc": "Name of the study or protocol."}, - {"name": "remark", "type": "string", "doc": "Remark or comments about the test/results???."}, + {"name": "remark", "type": "string", "doc": "Remark or comments about the recording writing by the operator."}, {"name": "filenames", "type": { "type": "array", "items": "string" }, "doc": "List of filenames of raw data analysed for this report."}, - {"name": "discardInit", "type": "int", "doc": "???."}, - {"name": "shoeSize", "type": "double", "doc": "Shoe size of the participant."}, - {"name": "discardTurn", "type": "boolean", "doc": "Whether to discard turns in this test."}, - {"name": "resultV", "type": "double", "doc": "Result value in???."}, + {"name": "discardInit", "type": "int", "doc": "The count of cycles that can ignored at the start and end of the recording for the analysis to analyze only steady state gait."}, + {"name": "shoeSize", "type": "double", "doc": "Shoe size of the participant in (cm)s."}, + {"name": "discardTurn", "type": "boolean", "doc": "Whether to discard turns from the recording in this analysis."}, + {"name": "resultV", "type": "double", "doc": "ResultVersion. Version of the JSON file format."}, {"name": "softwareVersion", "type": "string", "doc": "Version of the Gait UP software used."}, {"name": "firmwareVersion", "type": "string", "doc": "Version of the Gait UP firmware used."} ] diff --git a/commons/connector/upload/physilog/physilog_summary.avsc b/commons/connector/upload/physilog/physilog_summary.avsc index fd4114d1..dda3e125 100644 --- a/commons/connector/upload/physilog/physilog_summary.avsc +++ b/commons/connector/upload/physilog/physilog_summary.avsc @@ -6,13 +6,14 @@ "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, - {"name": "testTime", "type": "double", "doc": "Time taken to perform the test in (minutes)?."}, - {"name": "gaitTime", "type": "double", "doc": "Time of gait activity during the test."}, - {"name": "turnTime", "type": "double", "doc": "Time took to turn in (minutes)?"}, + {"name": "testTime", "type": "double", "doc": "Time taken to perform the test in (second)s."}, + {"name": "gaitTime", "type": "double", "doc": "Time of gait activity during the test in (second)s."}, + {"name": "turnTime", "type": "double", "doc": "Time took to turn in (seconds)"}, {"name": "totalCycles", "type": "int", "doc": "Total amount of cycles analysed from the test."}, {"name": "discardedCycles", "type": "int", "doc": "Total amount of cycles discarded from the test."}, {"name": "analysedCycles", "type": "int", "doc": "Total amount of cycles performed during the test."}, {"name": "turningCycles", "type": "int", "doc": "Total amount of cycles performed to make turns."}, - {"name": "distance", "type": "double", "doc": "Distance walked during the test in (m)???."} + {"name": "distance", "type": "double", "doc": "Distance walked during the recording in (meters)s."} + {"name": "propertyType", "type": "double", "doc": " type of the parameter to group them together in different categories e/g values are general, temporal, spatial and clearance."} ] } From 67bd86833bccaa7ceef878c7ef44f46bf9c3ed7e Mon Sep 17 00:00:00 2001 From: nivethika Date: Wed, 13 Nov 2019 11:53:42 +0100 Subject: [PATCH 07/12] fix convention issues --- commons/connector/upload/physilog/physilog_metadata.avsc | 2 +- commons/connector/upload/physilog/physilog_summary.avsc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/commons/connector/upload/physilog/physilog_metadata.avsc b/commons/connector/upload/physilog/physilog_metadata.avsc index 4e99ae54..f4242cf4 100644 --- a/commons/connector/upload/physilog/physilog_metadata.avsc +++ b/commons/connector/upload/physilog/physilog_metadata.avsc @@ -2,7 +2,7 @@ "namespace": "org.radarcns.connector.upload.physilog", "type": "record", "name": "PhysilogMetadata", - "doc": "Metadata about the physilog test and study, participant. Represents the "info" part of the report.", + "doc": "Metadata about the physilog recordings and study participant (Represents the info part of the report).", "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, diff --git a/commons/connector/upload/physilog/physilog_summary.avsc b/commons/connector/upload/physilog/physilog_summary.avsc index dda3e125..5eaa4623 100644 --- a/commons/connector/upload/physilog/physilog_summary.avsc +++ b/commons/connector/upload/physilog/physilog_summary.avsc @@ -13,7 +13,7 @@ {"name": "discardedCycles", "type": "int", "doc": "Total amount of cycles discarded from the test."}, {"name": "analysedCycles", "type": "int", "doc": "Total amount of cycles performed during the test."}, {"name": "turningCycles", "type": "int", "doc": "Total amount of cycles performed to make turns."}, - {"name": "distance", "type": "double", "doc": "Distance walked during the recording in (meters)s."} - {"name": "propertyType", "type": "double", "doc": " type of the parameter to group them together in different categories e/g values are general, temporal, spatial and clearance."} + {"name": "distance", "type": "double", "doc": "Distance walked during the recording in (meters)s."}, + {"name": "propertyType", "type": "double", "doc": "Type of the parameter to group them together in different categories e/g values are general, temporal, spatial and clearance."} ] } From a2958673d109505e47cb78e43e4b5bc517aa6dfc Mon Sep 17 00:00:00 2001 From: nivethika Date: Thu, 2 Jan 2020 15:32:24 +0100 Subject: [PATCH 08/12] fix test failures --- .../physilog_aggregated_statistics.avsc | 29 +++++++++++-------- .../upload/physilog/physilog_cycle.avsc | 12 ++++---- .../physilog/physilog_cycle_summary.avsc | 2 +- .../upload/physilog/physilog_summary.avsc | 9 +++--- 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc index 091e42db..3df0a894 100644 --- a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc +++ b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc @@ -4,17 +4,22 @@ "name": "PhysilogAggregatedStatistics", "doc": "Summary of aggregated statistics of the physilog test analysis.", "fields": [ - {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, - {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, - {"name": "iqr", "type": "float", "doc": "Interquartile range value of the dataset."}, - {"name": "max", "type": "float", "doc": "Maximum value of the dataset."}, - {"name": "mean", "type": "float", "doc": "Mean value of the dataset."}, - {"name": "meadian", "type": "float", "doc": "Meadian value of the dataset."}, - {"name": "min", "type": "float", "doc": "Minimum value of the dataset."}, - {"name": "ratio", "type": "string", "doc": "Ratio scale of the dataset."}, - {"name": "significantDigit", "type": "int", "doc": "How many digits after the comma should be displayed on the reports."}, - {"name": "std", "type": "float", "doc": "Standard deviation value of the dataset."}, - {"name": "unit", "type": "string", "doc": "Unit of the data."}, - {"name": "propertyType", "type": "double", "doc": " type of the parameter to group them together in different categories e/g values are general, temporal, spatial and clearance."} + {"name": "time", "type": "float", "doc": "Timestamp in unix time acquired locally from the device."}, + {"name": "timeReceived", "type": "float", "doc": "Timestamp in unix time received from Physilog device."}, + {"name": "cv", "type": ["null", "float"], "doc": "Coefficient of variability.", "default": null}, + {"name": "iqr", "type": ["null", "float"], "doc": "Interquartile range value of the dataset.", "default": null}, + {"name": "max", "type": ["null", "float"], "doc": "Maximum value of the dataset.", "default": null}, + {"name": "mean", "type": ["null", "float"], "doc": "Mean value of the dataset.", "default": null}, + {"name": "meadian", "type": ["null", "float"], "doc": "Meadian value of the dataset.", "default": null}, + {"name": "min", "type": ["null", "float"], "doc": "Minimum value of the dataset.", "default": null}, + {"name": "ratio", "type": ["null", "string"], "doc": "Ratio scale of the dataset.", "default": null}, + {"name": "significantDigit", "type": ["null", "int"], "doc": "How many digits after the comma should be displayed on the reports.", "default": null}, + {"name": "std", "type": ["null", "float"], "doc": "Standard deviation value of the dataset.", "default": null}, + {"name": "unit", "type": ["null", "string"], "doc": "Unit of the data.", "default": null}, + {"name": "propertyType", "type": { + "name": "PropertyType", + "type": "enum", + "doc": "Type of the parameter to group them together in different categories.", + "symbols": ["GENERAL", "TEMPORAL", "SPATIAL", "CLEARANCE", "UNKNOWN"]}, "doc": "Type of the property.", "default": "UNKNOWN"} ] } diff --git a/commons/connector/upload/physilog/physilog_cycle.avsc b/commons/connector/upload/physilog/physilog_cycle.avsc index 5cecfe2c..0313b91a 100644 --- a/commons/connector/upload/physilog/physilog_cycle.avsc +++ b/commons/connector/upload/physilog/physilog_cycle.avsc @@ -41,14 +41,14 @@ {"name": "toeOffPitchRight", "type": "double", "doc": "Foot pitch angle at toe-off from Right foot in (degree)."}, {"name": "swingWidthLeft", "type": "double", "doc": "Swing width from Left foot in (meters)."}, {"name": "swingWidthRight", "type": "double", "doc": "Swing width from Right foot in (meters)."}, - {"name": "pathLengthLeft", "type": "double", "doc": "3D path length from Left foot in (% of stride length)."}, - {"name": "pathLengthRight", "type": "double", "doc": "3D path length from Right foot in (% of stride length)."}, + {"name": "pathLengthLeft", "type": "double", "doc": "Three dimensional path length from Left foot in (% of stride length)."}, + {"name": "pathLengthRight", "type": "double", "doc": "Three dimensional path length from Right foot in (% of stride length)."}, {"name": "maximumHeelClearanceLeft", "type": "double", "doc": "Maximum heel clearance from Left foot in (meters)."}, {"name": "maximumHeelClearanceRight", "type": "double", "doc": "Maximum heel clearance from Right foot in (meters)."}, - {"name": "maximumToeClearanceOneLeft", "type": "double", "doc": "Max.1 toe clearance from Left foot in (meters)."}, - {"name": "maximumToeClearanceOneRight", "type": "double", "doc": "Max.1 toe clearance from Right foot in (meters)."}, - {"name": "maximumToeClearanceTwoLeft", "type": "double", "doc": "Max.2 toe clearance from Left foot in (meters)."}, - {"name": "maximumToeClearanceTwoRight", "type": "double", "doc": "Max.2 toe clearance from Right foot in (meters)."}, + {"name": "maximumToeClearanceOneLeft", "type": "double", "doc": "First Max toe clearance from Left foot in (meters)."}, + {"name": "maximumToeClearanceOneRight", "type": "double", "doc": "First Max toe clearance from Right foot in (meters)."}, + {"name": "maximumToeClearanceTwoLeft", "type": "double", "doc": "Second Max toe clearance from Left foot in (meters)."}, + {"name": "maximumToeClearanceTwoRight", "type": "double", "doc": "Second Max toe clearance from Right foot in (meters)."}, {"name": "minimumToeClearanceLeft", "type": "double", "doc": "Minimum toe clearance from Left foot in (meters)."}, {"name": "minimumToeClearanceRight", "type": "double", "doc": "Minimum toe clearance from Right foot in (meters)."} ] diff --git a/commons/connector/upload/physilog/physilog_cycle_summary.avsc b/commons/connector/upload/physilog/physilog_cycle_summary.avsc index ce0cef9a..2f00d8d9 100644 --- a/commons/connector/upload/physilog/physilog_cycle_summary.avsc +++ b/commons/connector/upload/physilog/physilog_cycle_summary.avsc @@ -2,7 +2,7 @@ "namespace": "org.radarcns.connector.upload.physilog", "type": "record", "name": "PhysilogCycleSummary", - "doc": "Statistical Summary of the physilog test analysis.", + "doc": "Statistical Summary of the physilog test analysis. More information can be found at https://gaitup.com/products-features/3d-gait-analysis-system/.", "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, diff --git a/commons/connector/upload/physilog/physilog_summary.avsc b/commons/connector/upload/physilog/physilog_summary.avsc index 5eaa4623..a606eb88 100644 --- a/commons/connector/upload/physilog/physilog_summary.avsc +++ b/commons/connector/upload/physilog/physilog_summary.avsc @@ -6,14 +6,13 @@ "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, - {"name": "testTime", "type": "double", "doc": "Time taken to perform the test in (second)s."}, - {"name": "gaitTime", "type": "double", "doc": "Time of gait activity during the test in (second)s."}, - {"name": "turnTime", "type": "double", "doc": "Time took to turn in (seconds)"}, + {"name": "testTime", "type": "double", "doc": "Time taken to perform the test in seconds."}, + {"name": "gaitTime", "type": "double", "doc": "Time of gait activity during the test in seconds."}, + {"name": "turnTime", "type": "double", "doc": "Time took to turn in seconds."}, {"name": "totalCycles", "type": "int", "doc": "Total amount of cycles analysed from the test."}, {"name": "discardedCycles", "type": "int", "doc": "Total amount of cycles discarded from the test."}, {"name": "analysedCycles", "type": "int", "doc": "Total amount of cycles performed during the test."}, {"name": "turningCycles", "type": "int", "doc": "Total amount of cycles performed to make turns."}, - {"name": "distance", "type": "double", "doc": "Distance walked during the recording in (meters)s."}, - {"name": "propertyType", "type": "double", "doc": "Type of the parameter to group them together in different categories e/g values are general, temporal, spatial and clearance."} + {"name": "distance", "type": "double", "doc": "Distance walked during the recording in meters."} ] } From 45ffd604f52a733c7b5837acc2f319a7357c5637 Mon Sep 17 00:00:00 2001 From: nivethika Date: Thu, 2 Jan 2020 15:41:44 +0100 Subject: [PATCH 09/12] make fields nullable --- .../upload/physilog/physilog_cycle.avsc | 90 +++++++++---------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/commons/connector/upload/physilog/physilog_cycle.avsc b/commons/connector/upload/physilog/physilog_cycle.avsc index 0313b91a..c5d0f074 100644 --- a/commons/connector/upload/physilog/physilog_cycle.avsc +++ b/commons/connector/upload/physilog/physilog_cycle.avsc @@ -6,50 +6,50 @@ "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, {"name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device."}, - {"name": "cycleIndex", "type": "double", "doc": "Index of the cycle."}, - {"name": "healStrikeLeft", "type": "double", "doc": "Heal strike from Left foot in (seconds)."}, - {"name": "healStrikeRight", "type": "double", "doc": "Heal strike from Right foot in (seconds)."}, - {"name": "gaitCycleTimeLeft", "type": "double", "doc": "Gait cycle time from Left foot in (seconds)."}, - {"name": "gaitCycleTimeRight", "type": "double", "doc": "Gait cycle time from Right foot in (seconds)."}, - {"name": "cadenceLeft", "type": "double", "doc": "Cadence from Left foot in (steps/minute)."}, - {"name": "cadenceRight", "type": "double", "doc": "Cadence from Right foot in (steps/minute)."}, - {"name": "stanceRatioLeft", "type": "double", "doc": "Stance ratio from Left foot in (% of cycle duration)."}, - {"name": "stanceRatioRight", "type": "double", "doc": "Stance ratio from Right foot in (% of cycle duration)."}, - {"name": "swingRatioLeft", "type": "double", "doc": "Swing ratio from Left foot in (% of gait cycle)."}, - {"name": "swingRatioRight", "type": "double", "doc": "Swing ratio from Right foot in (% of gait cycle)."}, - {"name": "loadRatioLeft", "type": "double", "doc": "Load ratio from Left in foot (% of stance)."}, - {"name": "loadRatioRight", "type": "double", "doc": "Load ratio from Right in foot (% of stance)."}, - {"name": "footFlatRatioLeft", "type": "double", "doc": "Foot flat ratio from Left foot in (% of stance)."}, - {"name": "footFlatRatioRight", "type": "double", "doc": "Foot flat ratio from Right foot in (% of stance)."}, - {"name": "pushRatioLeft", "type": "double", "doc": "Push ratio from Left foot in (% of stance)."}, - {"name": "pushRatioRight", "type": "double", "doc": "Push ration from Right foot in (% of stance)."}, - {"name": "doubleSupportLeft", "type": "double", "doc": "Double support, meaning the percentage of the gait cycle when both feet are on the ground from Left foot in (% of cycle duration)."}, - {"name": "doubleSupportRight", "type": "double", "doc": "Double support, meaning the percentage of the gait cycle when both feet are on the ground from Right foot in (% of cycle duration)."}, - {"name": "strideLengthLeft", "type": "double", "doc": "Stride length from Left foot in (meters)."}, - {"name": "strideLengthRight", "type": "double", "doc": "Stride length from Right foot in (meters)."}, - {"name": "speedLeft", "type": "double", "doc": "Gait speed from Left foot in (meters/s)."}, - {"name": "speedRight", "type": "double", "doc": "Gait speed from Right foot in (meters/s)."}, - {"name": "peaksInSwingLeft", "type": "double", "doc": "Maximum angular velocity during swing from Left foot in (degrees/s)."}, - {"name": "peaksInSwingRight", "type": "double", "doc": "Maximum angular velocity during swing from Right foot in (degrees/s)."}, - {"name": "minimalToeClearanceLeft", "type": "double", "doc": "Foot speed norm at minimal toe clearance from Left foot in (meters/s)."}, - {"name": "minimalToeClearanceRight", "type": "double", "doc": "Foot speed norm at minimal toe clearance from Right foot in (meters/s)."}, - {"name": "turningAngleLeft", "type": "double", "doc": "Turning angle from Left foot in (degree)."}, - {"name": "turningAngleRight", "type": "double", "doc": "Turning angle from Right foot in (degree)."}, - {"name": "heelStrikePitchLeft", "type": "double", "doc": "Foot pitch angle at heel strike from Left foot in (degree)."}, - {"name": "heelStrikePitchRight", "type": "double", "doc": "Foot pitch angle at heel strike from Right foot in (degree)."}, - {"name": "toeOffPitchLeft", "type": "double", "doc": "Foot pitch angle at toe-off from Left foot in (degree)."}, - {"name": "toeOffPitchRight", "type": "double", "doc": "Foot pitch angle at toe-off from Right foot in (degree)."}, - {"name": "swingWidthLeft", "type": "double", "doc": "Swing width from Left foot in (meters)."}, - {"name": "swingWidthRight", "type": "double", "doc": "Swing width from Right foot in (meters)."}, - {"name": "pathLengthLeft", "type": "double", "doc": "Three dimensional path length from Left foot in (% of stride length)."}, - {"name": "pathLengthRight", "type": "double", "doc": "Three dimensional path length from Right foot in (% of stride length)."}, - {"name": "maximumHeelClearanceLeft", "type": "double", "doc": "Maximum heel clearance from Left foot in (meters)."}, - {"name": "maximumHeelClearanceRight", "type": "double", "doc": "Maximum heel clearance from Right foot in (meters)."}, - {"name": "maximumToeClearanceOneLeft", "type": "double", "doc": "First Max toe clearance from Left foot in (meters)."}, - {"name": "maximumToeClearanceOneRight", "type": "double", "doc": "First Max toe clearance from Right foot in (meters)."}, - {"name": "maximumToeClearanceTwoLeft", "type": "double", "doc": "Second Max toe clearance from Left foot in (meters)."}, - {"name": "maximumToeClearanceTwoRight", "type": "double", "doc": "Second Max toe clearance from Right foot in (meters)."}, - {"name": "minimumToeClearanceLeft", "type": "double", "doc": "Minimum toe clearance from Left foot in (meters)."}, - {"name": "minimumToeClearanceRight", "type": "double", "doc": "Minimum toe clearance from Right foot in (meters)."} + {"name": "cycleIndex", "type": ["null", "double"], "doc": "Index of the cycle.", "default": null}, + {"name": "healStrikeLeft", "type": ["null", "double"], "doc": "Heal strike from Left foot in (seconds).", "default": null}, + {"name": "healStrikeRight", "type": ["null", "double"], "doc": "Heal strike from Right foot in (seconds).", "default": null}, + {"name": "gaitCycleTimeLeft", "type": ["null", "double"], "doc": "Gait cycle time from Left foot in (seconds).", "default": null}, + {"name": "gaitCycleTimeRight", "type": ["null", "double"], "doc": "Gait cycle time from Right foot in (seconds).", "default": null}, + {"name": "cadenceLeft", "type": ["null", "double"], "doc": "Cadence from Left foot in (steps/minute).", "default": null}, + {"name": "cadenceRight", "type": ["null", "double"], "doc": "Cadence from Right foot in (steps/minute).", "default": null}, + {"name": "stanceRatioLeft", "type": ["null", "double"], "doc": "Stance ratio from Left foot in (% of cycle duration).", "default": null}, + {"name": "stanceRatioRight", "type": ["null", "double"], "doc": "Stance ratio from Right foot in (% of cycle duration).", "default": null}, + {"name": "swingRatioLeft", "type": ["null", "double"], "doc": "Swing ratio from Left foot in (% of gait cycle).", "default": null}, + {"name": "swingRatioRight", "type": ["null", "double"], "doc": "Swing ratio from Right foot in (% of gait cycle).", "default": null}, + {"name": "loadRatioLeft", "type": ["null", "double"], "doc": "Load ratio from Left in foot (% of stance).", "default": null}, + {"name": "loadRatioRight", "type": ["null", "double"], "doc": "Load ratio from Right in foot (% of stance).", "default": null}, + {"name": "footFlatRatioLeft", "type": ["null", "double"], "doc": "Foot flat ratio from Left foot in (% of stance).", "default": null}, + {"name": "footFlatRatioRight", "type": ["null", "double"], "doc": "Foot flat ratio from Right foot in (% of stance).", "default": null}, + {"name": "pushRatioLeft", "type": ["null", "double"], "doc": "Push ratio from Left foot in (% of stance).", "default": null}, + {"name": "pushRatioRight", "type": ["null", "double"], "doc": "Push ration from Right foot in (% of stance).", "default": null}, + {"name": "doubleSupportLeft", "type": ["null", "double"], "doc": "Double support, meaning the percentage of the gait cycle when both feet are on the ground from Left foot in (% of cycle duration).", "default": null}, + {"name": "doubleSupportRight", "type": ["null", "double"], "doc": "Double support, meaning the percentage of the gait cycle when both feet are on the ground from Right foot in (% of cycle duration).", "default": null}, + {"name": "strideLengthLeft", "type": ["null", "double"], "doc": "Stride length from Left foot in (meters).", "default": null}, + {"name": "strideLengthRight", "type": ["null", "double"], "doc": "Stride length from Right foot in (meters).", "default": null}, + {"name": "speedLeft", "type": ["null", "double"], "doc": "Gait speed from Left foot in (meters/s).", "default": null}, + {"name": "speedRight", "type": ["null", "double"], "doc": "Gait speed from Right foot in (meters/s).", "default": null}, + {"name": "peaksInSwingLeft", "type": ["null", "double"], "doc": "Maximum angular velocity during swing from Left foot in (degrees/s).", "default": null}, + {"name": "peaksInSwingRight", "type": ["null", "double"], "doc": "Maximum angular velocity during swing from Right foot in (degrees/s).", "default": null}, + {"name": "minimalToeClearanceLeft", "type": ["null", "double"], "doc": "Foot speed norm at minimal toe clearance from Left foot in (meters/s).", "default": null}, + {"name": "minimalToeClearanceRight", "type": ["null", "double"], "doc": "Foot speed norm at minimal toe clearance from Right foot in (meters/s).", "default": null}, + {"name": "turningAngleLeft", "type": ["null", "double"], "doc": "Turning angle from Left foot in (degree).", "default": null}, + {"name": "turningAngleRight", "type": ["null", "double"], "doc": "Turning angle from Right foot in (degree).", "default": null}, + {"name": "heelStrikePitchLeft", "type": ["null", "double"], "doc": "Foot pitch angle at heel strike from Left foot in (degree).", "default": null}, + {"name": "heelStrikePitchRight", "type": ["null", "double"], "doc": "Foot pitch angle at heel strike from Right foot in (degree).", "default": null}, + {"name": "toeOffPitchLeft", "type": ["null", "double"], "doc": "Foot pitch angle at toe-off from Left foot in (degree).", "default": null}, + {"name": "toeOffPitchRight", "type": ["null", "double"], "doc": "Foot pitch angle at toe-off from Right foot in (degree).", "default": null}, + {"name": "swingWidthLeft", "type": ["null", "double"], "doc": "Swing width from Left foot in (meters).", "default": null}, + {"name": "swingWidthRight", "type": ["null", "double"], "doc": "Swing width from Right foot in (meters).", "default": null}, + {"name": "pathLengthLeft", "type": ["null", "double"], "doc": "Three dimensional path length from Left foot in (% of stride length).", "default": null}, + {"name": "pathLengthRight", "type": ["null", "double"], "doc": "Three dimensional path length from Right foot in (% of stride length).", "default": null}, + {"name": "maximumHeelClearanceLeft", "type": ["null", "double"], "doc": "Maximum heel clearance from Left foot in (meters).", "default": null}, + {"name": "maximumHeelClearanceRight", "type": ["null", "double"], "doc": "Maximum heel clearance from Right foot in (meters).", "default": null}, + {"name": "maximumToeClearanceOneLeft", "type": ["null", "double"], "doc": "First Max toe clearance from Left foot in (meters).", "default": null}, + {"name": "maximumToeClearanceOneRight", "type": ["null", "double"], "doc": "First Max toe clearance from Right foot in (meters).", "default": null}, + {"name": "maximumToeClearanceTwoLeft", "type": ["null", "double"], "doc": "Second Max toe clearance from Left foot in (meters).", "default": null}, + {"name": "maximumToeClearanceTwoRight", "type": ["null", "double"], "doc": "Second Max toe clearance from Right foot in (meters).", "default": null}, + {"name": "minimumToeClearanceLeft", "type": ["null", "double"], "doc": "Minimum toe clearance from Left foot in (meters).", "default": null}, + {"name": "minimumToeClearanceRight", "type": ["null", "double"], "doc": "Minimum toe clearance from Right foot in (meters).", "default": null} ] } From 2f037217d1d2d93ed2fe504b06145761151ab705 Mon Sep 17 00:00:00 2001 From: nivethika Date: Thu, 2 Jan 2020 16:21:16 +0100 Subject: [PATCH 10/12] minor corrections --- .../physilog/physilog_aggregated_statistics.avsc | 12 +++++------- .../upload/physilog/physilog_gyroscope.avsc | 6 +++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc index 3df0a894..86abdb5e 100644 --- a/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc +++ b/commons/connector/upload/physilog/physilog_aggregated_statistics.avsc @@ -4,17 +4,15 @@ "name": "PhysilogAggregatedStatistics", "doc": "Summary of aggregated statistics of the physilog test analysis.", "fields": [ - {"name": "time", "type": "float", "doc": "Timestamp in unix time acquired locally from the device."}, - {"name": "timeReceived", "type": "float", "doc": "Timestamp in unix time received from Physilog device."}, - {"name": "cv", "type": ["null", "float"], "doc": "Coefficient of variability.", "default": null}, - {"name": "iqr", "type": ["null", "float"], "doc": "Interquartile range value of the dataset.", "default": null}, + {"name": "min", "type": ["null", "float"], "doc": "Minimum value of the dataset.", "default": null}, {"name": "max", "type": ["null", "float"], "doc": "Maximum value of the dataset.", "default": null}, {"name": "mean", "type": ["null", "float"], "doc": "Mean value of the dataset.", "default": null}, - {"name": "meadian", "type": ["null", "float"], "doc": "Meadian value of the dataset.", "default": null}, - {"name": "min", "type": ["null", "float"], "doc": "Minimum value of the dataset.", "default": null}, + {"name": "median", "type": ["null", "float"], "doc": "Median value of the dataset.", "default": null}, + {"name": "interQuartileRange", "type": ["null", "float"], "doc": "Inter quartile range value of the dataset.", "default": null}, + {"name": "coefficientVariability", "type": ["null", "float"], "doc": "Coefficient of variability.", "default": null}, {"name": "ratio", "type": ["null", "string"], "doc": "Ratio scale of the dataset.", "default": null}, {"name": "significantDigit", "type": ["null", "int"], "doc": "How many digits after the comma should be displayed on the reports.", "default": null}, - {"name": "std", "type": ["null", "float"], "doc": "Standard deviation value of the dataset.", "default": null}, + {"name": "standardDeviation", "type": ["null", "float"], "doc": "Standard deviation value of the dataset.", "default": null}, {"name": "unit", "type": ["null", "string"], "doc": "Unit of the data.", "default": null}, {"name": "propertyType", "type": { "name": "PropertyType", diff --git a/commons/connector/upload/physilog/physilog_gyroscope.avsc b/commons/connector/upload/physilog/physilog_gyroscope.avsc index a1ab2693..59ec1702 100644 --- a/commons/connector/upload/physilog/physilog_gyroscope.avsc +++ b/commons/connector/upload/physilog/physilog_gyroscope.avsc @@ -6,8 +6,8 @@ "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Timestamp in unix time received from Physilog device." }, - { "name": "x", "type": "float", "doc": "Gyration in the x-axis (rad/s)." }, - { "name": "y", "type": "float", "doc": "Gyration in the y-axis (rad/s)." }, - { "name": "z", "type": "float", "doc": "Gyration in the z-axis (rad/s)." } + { "name": "x", "type": "float", "doc": "Gyration in the x-axis (deg/s)." }, + { "name": "y", "type": "float", "doc": "Gyration in the y-axis (deg/s)." }, + { "name": "z", "type": "float", "doc": "Gyration in the z-axis (deg/s)." } ] } From 39544f907143e006529de8acf888ac11adf77309 Mon Sep 17 00:00:00 2001 From: nivethika Date: Fri, 3 Jan 2020 11:09:46 +0100 Subject: [PATCH 11/12] add spec for physilog --- ...ary.avsc => physilog_cycle_aggregate.avsc} | 2 +- .../connector/radar-physilog-connector.yml | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) rename commons/connector/upload/physilog/{physilog_cycle_summary.avsc => physilog_cycle_aggregate.avsc} (99%) create mode 100644 specifications/connector/radar-physilog-connector.yml diff --git a/commons/connector/upload/physilog/physilog_cycle_summary.avsc b/commons/connector/upload/physilog/physilog_cycle_aggregate.avsc similarity index 99% rename from commons/connector/upload/physilog/physilog_cycle_summary.avsc rename to commons/connector/upload/physilog/physilog_cycle_aggregate.avsc index 2f00d8d9..78281ca0 100644 --- a/commons/connector/upload/physilog/physilog_cycle_summary.avsc +++ b/commons/connector/upload/physilog/physilog_cycle_aggregate.avsc @@ -1,7 +1,7 @@ { "namespace": "org.radarcns.connector.upload.physilog", "type": "record", - "name": "PhysilogCycleSummary", + "name": "PhysilogCycleAggregate", "doc": "Statistical Summary of the physilog test analysis. More information can be found at https://gaitup.com/products-features/3d-gait-analysis-system/.", "fields": [ {"name": "time", "type": "double", "doc": "Timestamp in unix time acquired locally from the device."}, diff --git a/specifications/connector/radar-physilog-connector.yml b/specifications/connector/radar-physilog-connector.yml new file mode 100644 index 00000000..19d09a7a --- /dev/null +++ b/specifications/connector/radar-physilog-connector.yml @@ -0,0 +1,33 @@ +#====================================== Physilog Device Data =======================================# +name: RADAR-PHYSILOG-CONNECTOR +vendor: GaitUp +model: Physilog Device +version: 1.0.0 +doc: Spec for RADAR-base Physilog data upload connector. Schemas should be registered in the connector. +data: + # raw data + - doc: Data from 3-axis accelerometer sensor with gravitational constant g as unit. Data extracted from the CSV file. + topic: connect_upload_physilog_acceleration + value_schema: .connector.upload.physilog.PhysilogAcceleration + + - doc: Data from the 3-axis gyroscope with deg/s as unit. + topic: connect_upload_physilog_gyroscope + value_schema: .connector.upload.physilog.PhysilogGyroscope + + # meta-data + - doc: Data that contains additional meta-data of the recording. + topic: connect_upload_physilog_metadata + value_schema: .connector.upload.physilog.PhysilogMetadata + + - doc: Summary of the physilog test analysis. + topic: connect_upload_physilog_summary + value_schema: .connector.upload.physilog.PhysilogSummary + + # cycle data + - doc: Cycle data extracted from the physilog test analysis. + topic: connect_upload_physilog_cycle + value_schema: .connector.upload.physilog.PhysilogCycle + + - doc: Cycle data extracted from the physilog test analysis. + topic: connect_upload_physilog_cycle_aggregated + value_schema: .connector.upload.physilog.PhysilogCycleAggregate From ee927ba45626658a96dec47a3a1f7b95c7691869 Mon Sep 17 00:00:00 2001 From: nivethika Date: Fri, 3 Jan 2020 11:11:36 +0100 Subject: [PATCH 12/12] correct doc --- specifications/connector/radar-physilog-connector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specifications/connector/radar-physilog-connector.yml b/specifications/connector/radar-physilog-connector.yml index 19d09a7a..78141661 100644 --- a/specifications/connector/radar-physilog-connector.yml +++ b/specifications/connector/radar-physilog-connector.yml @@ -28,6 +28,6 @@ data: topic: connect_upload_physilog_cycle value_schema: .connector.upload.physilog.PhysilogCycle - - doc: Cycle data extracted from the physilog test analysis. + - doc: Summary of cycle data computed from the physilog analysis. topic: connect_upload_physilog_cycle_aggregated value_schema: .connector.upload.physilog.PhysilogCycleAggregate