You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{Documentation} Core - Add 2.2.0 changelog and bump version
Summary:
Explanation:
Bumps `version.txt` from `2.2.0a3` to `2.2.0` — `setup.py` reads this file to stamp
the published wheel — and adds the matching `Version 2.2.0` section to the public
changelog.
The entry leads with official support for ML Eye Tracking, a new
machine-learning-based eye-tracking algorithm that replaces the previous approach
and improves gaze quality, covering results produced both on-device and by Machine
Perception Services. It also documents Neural Band (sEMG) data support and EMG
calibration, eye gaze configuration with per-field provenance, the
`502-1 battery-status` stream, `rescale_camera_calibration()`, NVDEC hardware
decoding on Linux x86_64, and Linux aarch64 wheels; the Rerun SDK 0.33.0 migration,
the flattened dependency list that retires the `[all]` extra, and the C++20 upgrade;
and two behavior changes — `get_time_sync_mode()` now reporting `SubGhz` for Gen2
broadcaster and receiver recordings, and Python 3.9 no longer being supported.
Reproducibility:
Every API and packaging statement in the changelog was verified against the
`2.2.0a3` wheel installed from TestPyPI rather than read off the source tree.
___
Differential Revision: D115932338
fbshipit-source-id: e0a63822df4aa98c2a4b45e985416499a2611dbe
Copy file name to clipboardExpand all lines: website/docs-research-tools/projectariatools/changelog.mdx
+31Lines changed: 31 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,37 @@ title: Changelog
5
5
6
6
# Changelog
7
7
8
+
## Version 2.2.0
9
+
10
+
### New Features
11
+
12
+
-**Official support for ML Eye Tracking (ML ET)**: ML ET is our new machine-learning-based eye-tracking algorithm. It replaces the previous approach and delivers noticeably better gaze quality. `projectaria-tools` now officially supports ML ET results from both sources — gaze computed on-device and recorded into the VRS `eyegaze` stream, and gaze produced by Machine Perception Services (MPS). Both are returned as the same `EyeGaze` structure, so existing code needs no changes: read on-device results with `get_eye_gaze_data_by_index()` and `get_eye_gaze_data_by_time_ns()`, and MPS results with `mps.read_eyegaze()` or `MpsDataProvider`
13
+
-**Neural Band (sEMG) data support**: Aria Gen2 recordings paired with a Neural Band now expose an `emg` stream. Access it through `get_neural_band_batch_by_index()`, `get_neural_band_batch_by_time_ns()`, and `get_neural_band_batch_configuration()`. Each `NeuralBandBatch` carries its EMG sub-samples, accelerometer and gyroscope readings, channel count, and ADC bit depth
14
+
-**EMG calibration**: `NeuralBandEmgCalibration` converts raw ADC counts to physical units via `adc_to_volts()` and `volts_to_adc()`, alongside accessors for analog gain, ADC reference voltages, and bit width. Channel values are raw ADC counts, not volts, until converted
15
+
-**Eye gaze configuration with field provenance**: `EyeGazeConfiguration` now reports `algorithm_name`, `algorithm_version`, `nominal_rate_hz`, and `user_calibrated`. Per-field provenance is available through `get_single_field_provenance()` and `get_combined_field_provenance()`, each returning `SUPPORTED`, `CALCULATED`, `HARDCODED`, or `NOT_PRODUCED` — so you can tell a measured value from a derived or placeholder one
16
+
-**Battery status stream**: Gen2 recordings expose `502-1 battery-status`
17
+
-**`rescale_camera_calibration()`**: rescales a camera calibration to a different image resolution
18
+
-**NVDEC hardware decoding on Linux x86_64**: H.265 RGB video decodes on the GPU where CUDA is available, complementing the VideoToolbox path already used on macOS. Only the RGB camera takes the hardware path; mono 4:0:0 streams such as SLAM and eye-tracking cameras are decoded on the CPU by design. `has_cuda_support()` reports build capability
19
+
-**Linux aarch64 wheels**: published alongside x86_64 and macOS arm64
20
+
21
+
### Improvements
22
+
23
+
-`aria_rerun_viewer` gained an EMG panel, and now enables the GPS and Neural Band panels only when the recording actually contains those streams
24
+
-`viewer_mps` runs properly headless: `--rrd_output_path` is a documented flag, is mutually exclusive with `--web`, and no longer attempts to open a viewer window when writing to a file
25
+
- Migrated to Rerun SDK 0.33.0
26
+
- Dependencies are now flat: everything the toolset needs is a base requirement, so `pip install projectaria-tools` installs the complete package. The `[all]` extra is no longer defined and has become a no-op
27
+
- Upgraded the C++ standard from C++17 to C++20
28
+
29
+
### Bug Fixes
30
+
31
+
- Fixed a shared library symbol collision that could occur when `projectaria-tools` and `vrs_health_check` are installed into the same environment
32
+
33
+
### Behavior Changes
34
+
35
+
-`get_time_sync_mode()` now returns `SubGhz` for Gen2 broadcaster and receiver recordings, rather than skipping the mode
36
+
-**Python 3.9 is no longer supported.** The minimum supported version is Python 3.10; wheels are published for 3.10, 3.11, and 3.12
0 commit comments