Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.8.11 #386

Merged
merged 28 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
6969591
Added schemas and specifications for phone_audio_input plugin
this-Aditya Jun 28, 2024
742443d
Updated the schema for phone_audio_input
this-Aditya Jul 11, 2024
a8b9d11
Add Polar Vantage V3 specs
fschulting Apr 4, 2024
8fa3e2d
Add Polar Vantage V3 schemes
fschulting Apr 4, 2024
4dd0fba
Add generic Polar schemes
fschulting Apr 23, 2024
8f64a8e
Change ECG units (yV and ns)
fschulting May 7, 2024
807f916
Change ACC units (to ns)
fschulting May 10, 2024
3026def
Removed schemas
fschulting May 15, 2024
7da3dae
Add DeviceName column to schemas
fschulting May 15, 2024
bfce224
Change HR time to ns (radar-schemas-0.1.2)
fschulting Jun 4, 2024
4c3eda7
Add PPG topic (radar-schemas-0.1.3)
fschulting Jun 4, 2024
cb52a7d
Updated processing state
this-Aditya Jul 19, 2024
4f2742e
Changing deviceChannelCounts type to string
this-Aditya Jul 19, 2024
9ce6b40
Fix linter errors and changing time types to 'Double' (radar-schemas-…
fschulting Jul 21, 2024
4c31e4a
Merge pull request #382 from RADAR-base/polar
fschulting Jul 23, 2024
a8a534f
Configure using github secret for snapshot publishing
Bdegraaf1234 Jul 24, 2024
3cfba20
Merge pull request #384 from RADAR-base/updates
Bdegraaf1234 Jul 24, 2024
0565780
PR feedback addressed
this-Aditya Aug 20, 2024
8cfce48
Replacing audio-input plugins files to separate directories
this-Aditya Aug 20, 2024
39d5ea1
Minor change
this-Aditya Aug 20, 2024
91d5cec
Merge branch 'dev' into audio-input
this-Aditya Aug 20, 2024
3a86883
Corrected indentation
this-Aditya Aug 28, 2024
3db3171
Merge pull request #383 from RADAR-base/audio-input
yatharthranjan Sep 5, 2024
4ded363
bump version for release
yatharthranjan Sep 9, 2024
58655e0
Merge branch 'master' into release-0.8.11
yatharthranjan Sep 9, 2024
08e1807
Run Snyk on release branches
pvannierop Oct 8, 2024
d3e9af7
Up avro to 1.11.4
pvannierop Oct 8, 2024
b74f887
Merge pull request #389 from RADAR-base/security/upgrade
pvannierop Oct 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/snyk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ on:
pull_request:
branches:
- master
- release-*

jobs:
security:
Expand Down
2 changes: 2 additions & 0 deletions commons/catalogue/unit.avsc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"CALORIES_PER_SEC",
"CELSIUS",
"DEGREE",
"MILLI_G",
"G",
"KILO_OHM",
"LUX",
Expand All @@ -21,6 +22,7 @@
"RMSSD_IN_MILLI_SEC",
"SECOND",
"MICRO_VOLT",
"VOLT",
"UNKNOWN"
]
}
24 changes: 24 additions & 0 deletions commons/passive/audio/phone_audio_input.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"namespace": "org.radarcns.passive.audio",
"type": "record",
"name": "PhoneAudioInput",
"doc": "Uncompressed high-quality audio data collected by the PhoneAudioInput plugin, making use of low-level classes that interact directly with hardware.",
"fields": [
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
{ "name": "fileName", "type": "string", "doc": "Name of the audio file after it is saved to S3." },
{ "name": "filePath", "type": "string", "doc": "Path of the audio file retrieved after uploading to S3 storage." },
{ "name": "deviceName", "type": "string", "doc": "Name of the input audio device used for routing during this recording." },
{ "name": "deviceId", "type": "string", "doc": "Identifier associated with the input device used for audio recording." },
{ "name": "deviceSampleRates", "type": "string", "doc": "Supported sample rates of the input audio device." },
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the sample rates and encodings, this will be the string representation of the array?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point, @this-Aditya is this supposed to be an array or will it be like a comma-separated string?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initially, I planned to use an array for this, but I remember joris's comment to avoid using an array here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, sampleRates, channelCounts and encodings are comma-separated string.

{ "name": "deviceEncodings", "type": "string", "doc": "Supported encodings of the input audio device." },
{ "name": "deviceType", "type": "string", "doc": "Type of the input audio device used for recording." },
{ "name": "deviceChannelCounts", "type": "string", "doc": "Supported channel counts of the input audio device." },
{ "name": "audioLength", "type": "long", "doc": "Length of the audio recording (in milliseconds)." },
{ "name": "audioFileSize", "type": "long", "doc": "Size of the audio file (in bytes)." },
{ "name": "hadPlayback", "type": "boolean", "doc": "Whether the recorded audio file was played before uploading to s3 storage." },
{ "name": "audioFileExtension", "type": "string", "doc": "Extension of the audio file." },
{ "name": "configuredSampleRate", "type": "int", "doc": "Sample rate for audio recording configured by firebase remote configs in application."},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this always be int and no decimals?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think so, but @this-Aditya can you confirm?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it is.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok I see, thanks!

{ "name": "configuredEncoding", "type": "string", "doc": "Encoding for audio recording configured by firebase remote configs in application." }
]
}
14 changes: 14 additions & 0 deletions commons/passive/polar/polar_acceleration.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"namespace": "org.radarcns.passive.polar",
"type": "record",
"name": "PolarAcceleration",
"doc": "Accelerometer data. Axis specific acceleration data in mG.",
"fields": [
{ "name": "deviceName", "type": "string", "doc": "Polar device name." },
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (ns)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
{ "name": "x", "type": "int", "doc": "Acceleration in the x-axis (mG)." },
{ "name": "y", "type": "int", "doc": "Acceleration in the y-axis (mG)." },
{ "name": "z", "type": "int", "doc": "Acceleration in the z-axis (mG)." }
]
}
12 changes: 12 additions & 0 deletions commons/passive/polar/polar_battery_level.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"namespace": "org.radarcns.passive.polar",
"type": "record",
"name": "PolarBatteryLevel",
"doc": "Device battery level.",
"fields": [
{ "name": "deviceName", "type": "string", "doc": "Polar device name." },
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
{ "name": "batteryLevel", "type": "float", "doc": "Battery level from 0 to 1." }
]
}
12 changes: 12 additions & 0 deletions commons/passive/polar/polar_ecg.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"namespace": "org.radarcns.passive.polar",
"type": "record",
"name": "PolarEcg",
"doc": "Data from ECG in yV.",
"fields": [
{ "name": "deviceName", "type": "string", "doc": "Polar device name." },
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (ns)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } ,
{ "name": "ecgSignal", "type": "int", "doc": "ECG signal (yV)." }
]
}
16 changes: 16 additions & 0 deletions commons/passive/polar/polar_heart_rate.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"namespace": "org.radarcns.passive.polar",
"type": "record",
"name": "PolarHeartRate",
"doc": "Heart rate as beats per minute.",
"fields": [
{ "name": "deviceName", "type": "string", "doc": "Polar device name." },
{ "name": "time", "type": "double", "doc": "Device receiver timestamp in UTC (ns)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
{ "name": "heartRate", "type": "int", "doc": "Heart rate (bpm)." },
{ "name": "rrsMs", "type": {"type": "array", "items": "int"}, "doc": "Data for rrsMs." },
{ "name": "rrAvailable", "type": "boolean", "doc": "Data for rrAvailable." },
{ "name": "contactStatus", "type": "boolean", "doc": "Data for contactStatus." },
{ "name": "contactStatusSupported", "type": "boolean", "doc": "Data for contactStatusSupported." }
]
}
17 changes: 17 additions & 0 deletions commons/passive/polar/polar_pp_interval.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"namespace": "org.radarcns.passive.polar",
"type": "record",
"name": "PolarPpInterval",
"doc": "PP interval representing cardiac pulse-to-pulse interval extracted from PPG signal.",
"fields": [
{ "name": "deviceName", "type": "string", "doc": "Polar device name." },
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
{ "name": "blockerBit", "type": "boolean", "doc": "Data for blockerBit." },
{ "name": "errorEstimate", "type": "int", "doc": "Data for errorEstimate." },
{ "name": "heartRate", "type": "int", "doc": "Data for errorEstimate." },
{ "name": "ppInterval", "type": "int", "doc": "The duration (s) of the detected inter-beat interval (i.e., the distance in seconds from the previous beat)." },
{ "name": "skinContactStatus", "type": "boolean", "doc": "Data for skinContactStatus." },
{ "name": "skinContactSupported", "type": "boolean", "doc": "Data for skinContactSupported." }
]
}
15 changes: 15 additions & 0 deletions commons/passive/polar/polar_ppg.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"namespace": "org.radarcns.passive.polar",
"type": "record",
"name": "PolarPpg",
"doc": "Data from PPG channels.",
"fields": [
{ "name": "deviceName", "type": "string", "doc": "Polar device name." },
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (ns)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." } ,
{ "name": "ppg0", "type": "int", "doc": "PPG0." },
{ "name": "ppg1", "type": "int", "doc": "PPG1." },
{ "name": "ppg2", "type": "int", "doc": "PPG2." },
{ "name": "ambient", "type": "int", "doc": "Ambient channel representing the background noise caused by other light sources, so it can be used to remove the background noise from ppg channels." }
]
}
4 changes: 2 additions & 2 deletions java-sdk/buildSrc/src/main/kotlin/Versions.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
object Versions {
const val project = "0.8.10"
const val project = "0.8.11"

const val kotlin = "1.9.10"
const val java = 17
const val avroGenerator = "1.9.1"

const val radarCommons = "1.1.2"
const val avro = "1.11.3"
const val avro = "1.11.4"
const val jackson = "2.16.1"
const val argparse = "0.9.0"
const val radarJersey = "0.11.1"
Expand Down
13 changes: 13 additions & 0 deletions specifications/passive/android_phone_audio-1.0.0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#====================================== Android Phone Audio =======================================#
vendor: ANDROID
model: PHONE
version: 1.0.0
data:
# Phone Audio Input
- type: PHONE_AUDIO_INPUT
app_provider: .phone.PhoneAudioInputProvider
processing_state: RADAR
topic: android_phone_audio_input
value_schema: .passive.audio.PhoneAudioInput
sample_rate:
dynamic: true
48 changes: 48 additions & 0 deletions specifications/passive/polar-1.0.0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#====================================== POLAR H10 or Vantage V3 device =====================================#
vendor: POLAR
model: GENERIC
version: 1.0.0
app_provider: .polar.PolarProvider
data:
- type: ACCELEROMETER
sample_rate:
frequency: 50
unit: MILLI_G
processing_state: RAW
topic: android_polar_acceleration
value_schema: .passive.polar.PolarAcceleration
- type: BATTERY
sample_rate:
dynamic: true
unit: PERCENTAGE
processing_state: RAW
topic: android_polar_battery_level
value_schema: .passive.polar.PolarBatteryLevel
- type: ECG
sample_rate:
dynamic: true
unit: VOLT
processing_state: RAW
topic: android_polar_ecg
value_schema: .passive.polar.PolarEcg
- type: PPG
sample_rate:
dynamic: true
unit: UNKNOWN
processing_state: RAW
topic: android_polar_ppg
value_schema: .passive.polar.PolarPpg
- type: HEART_RATE
sample_rate:
frequency: 1
unit: BEATS_PER_MIN
processing_state: VENDOR
topic: android_polar_heart_rate
value_schema: .passive.polar.PolarHeartRate
- type: PULSE_TO_PULSE_INTERVAL
sample_rate:
dynamic: true
unit: SECOND
processing_state: VENDOR
topic: android_polar_pulse_to_pulse_interval
value_schema: .passive.polar.PolarPpInterval
Loading