Skip to main content

Changelog


Version 1.3.1

New Features

  • Added longest_consecutive_drop to every periodic stream's stats: the largest run of consecutive missing samples. Reported for all configurations, checked by AriaGen2_CI
  • Added support for the SoC audio stream, reported separately from microphone capture as Stereo Audio Class (soc_audio). It carries samples only while a session is producing audio, so it is now treated as non-periodic and no longer inherits the cadence-derived checks

Configuration Updates

thresholds_version moves up a minor version on every Gen2 configuration: AriaGen2_Default, AriaGen2_Location and AriaGen2_CI to thresholds_v1.1, AriaGen2_Handtracking to thresholds_v2.1. Gen1 is unchanged.

All AriaGen2_* configurations:

  • duration_overrides, previously used only by GPS, now covers every check whose value scales with recording length: a ≤ 60s band relaxes warn 5x (capped at the check's own fail threshold) and fail 2x, so a single dropped frame in a ~30s clip no longer warns. Max, absolute-timing and count checks are unchanged
  • Pose Data Class (vio).reset_frequency_per_min gets ≤ 30s and ≤ 60s bands, so a single reset in a short clip passes while a second still warns
  • A duration_overrides entry may now set fail_threshold, warn_threshold or both; one that sets neither is rejected when the configuration loads, rather than passing every value

AriaGen2_CI configuration:

  • Overrides now reach the global periodic block, so all periodic streams are tightened at once rather than only the ones named explicitly
  • Tightened drop-ratio fail thresholds (short clip / long clip): periodic 0.04 / 0.02 → 0.02 / 0.01, Camera Data (SLAM) 0.02 / 0.01 → 0.005 / 0.001, GPS Data Class 0.10 / 0.02 → 0.02 / 0.01
  • Added longest_consecutive_drop checks: fail at 1 on periodic, at 11 on IMU Data (SLAM) (derived from its longest_imu_skip_us limit). Ignored on Pose Data Class (vio), Pose Data Class (vio_high_frequency), EMG Data Class (emg_imu_batch) and Proximity Sensor Data Class, whose sample cadence does not make a consecutive-drop count meaningful

Bug Fixes

  • The threshold reported alongside a result now reflects the duration band that produced the verdict. The console summary and the fail_threshold / warn_threshold fields in the output JSON previously showed the check's declared value, so a failure could read 0.28 <= 1

Version 1.3.0

New Features

  • Added support for the Light Flicker Detection stream: the tool now recognizes this stream and reports it in the output JSON as Light Flicker Detection Data Class, with a bad check for malformed records
  • Reworked Meta Neural Band health checking to be based on the batch sequence number rather than on timestamp cadence, which is unreliable for the stream's bursty batch timestamps. Under EMG Data Class (emg_imu_batch) this adds:
    • ratio_dropped_batches_over_expected: batches missing from the sequence, over the number expected across the observed span (fail 50% / warn 10%)
    • non_monotonic_sequence: batches whose sequence number goes backwards
    • zero_channel_count and mismatched_channel_count: batches whose EMG channel count is absent or inconsistent
    • ratio_dropped_over_expected is now ignored for this stream, superseded by the sequence-based ratio above
  • Added recording-level temperature tracking to camera stats: min_temperature_c and max_temperature_c report the coldest and hottest frame temperature seen across the whole recording, alongside the existing temperature_out_of_range count. Cameras without a temperature probe (for example the eye-tracking cameras) report non-finite values and are skipped

Configuration Updates

AriaGen2_CI configuration:

  • Tightened IMU drop and timing thresholds, so CI recordings are held to a stricter standard than the general-purpose configurations

Bug Fixes

  • The wheel no longer installs a top-level _core_pybinds module. It was built and packaged unintentionally, and because projectaria-tools installs a module of the same name, whichever package was installed second silently overwrote the other's copy — leaving import projectaria_tools failing with an ImportError when this package won. The two packages can now be installed in either order

Version 1.2.1

New Features

  • Added support for the Proximity Sensor stream: the tool now recognizes this stream and reports it in the output JSON
  • Added duration-aware threshold overrides for numeric checks: thresholds can now declare relaxed values that apply only to short recordings, via a new duration_overrides field (see Configurations and Threshold Checks)
  • Added new camera timing check ratio_large_deviation_over_total: the percentage of frames whose timing deviates from the expected period by more than a configurable amount

Configuration Updates

AriaGen2_Default configuration:

  • Added Proximity Sensor Data Class checks (only applied to recordings whose firmware emits this stream)
  • Relaxed GPS start_offset_from_file_us warn threshold from 3,000,000µs to 6,000,000µs
  • Added a duration override for GPS ratio_dropped_over_expected: recordings ≤ 60s use fail 10% / warn 5% (default remains fail 2% / warn 1%)
  • Disabled GPS percentage_inaccurate_samples and percentage_invalid_raw_measurement_samples (set ignore: true) to reduce false warnings on valid-but-inaccurate GNSS fixes

AriaGen2_Location configuration:

  • Camera timing: removed largest_deviation_from_period_us fail threshold (kept warn_threshold at 250µs)
  • Camera timing: added ratio_large_deviation_over_total fail threshold at 0.1%, using a 500µs deviation threshold

Bug Fixes

  • Fixed camera large-deviation frame counting so it now matches the periodic stream's behavior
  • Lowered the log level of the calib_json_tag_correct check from error to warning when an unexpected exception occurs (the check result is still reported in the final summary)

Version 1.2.0

New Features

  • Added thresholds_version field to output JSON for better version tracking of check configurations

Configuration Updates

AriaGen2_Handtracking configuration:

  • Updated thresholds version from v1.0 to v2.0
  • Changed base configuration from AriaGen2_Location to AriaGen2_Default
  • Added slam_imu_streams_present file-level check
  • Added dedicated thresholds for Camera Data (SLAM), IMU Data (SLAM), and RGB Camera Class
  • Relaxed IMU drop ratio fail threshold from 0.2% to 1%
  • Added ignore rules for non-essential streams (Eye Camera, Magnetometer, Audio, Barometer, Wifi, Bluetooth, PPG, Battery, ALS, Pose, Gaze, GPS, Temperature, Time Domain Mapping)

Version 1.1.0

Configuration Updates

AriaGen2_Default configuration:

  • Updated BLE RSSI valid range from < 0.0 to [-127.0, 20.0] or == +127.0
  • Changed GPS drop ratio warn threshold from 5% to 2%
  • Increased longest repeating gyro fail threshold from 10 to 15
  • Relaxed VIO drop ratio fail threshold from 2% to 5%, added warn threshold at 2%
  • Relaxed hand tracking drop ratio fail threshold from 2% to 5%, added warn threshold at 2%

AriaGen1_* configuration:

  • Updated Aria Gen1 SLAM camera exposure valid range from [0.10ms, 48ms] to [0.019ms, 14ms]

New Features

  • Added streams_match_profile check to verify expected stream counts match recording profile (Aria Gen2 only)

Version 1.0.0

  • Initial release