Skip to content

feat: improve pointcloud logging#726

Merged
ypang-neuraco merged 1 commit into
mainfrom
feat/improve-pointcloud-logging
Jul 10, 2026
Merged

feat: improve pointcloud logging#726
ypang-neuraco merged 1 commit into
mainfrom
feat/improve-pointcloud-logging

Conversation

@ypang-neuraco

Copy link
Copy Markdown
Contributor

Features

  • Update pointcloud logging from base64 json encoding to storing in binary (metadata still in json)
  • Update synced_recording to cache the binary files

Benchmark against old encoding

Case Points RGB Legacy encode New encode Encode speedup Legacy decode New decode Decode speedup Legacy frame size New frame size Frame size ratio Legacy disk (20 frames) New disk (20 frames) Disk size ratio
small_xyz 4,096 No 0.100 ms 0.011 ms 9.2x 0.076 ms 0.016 ms 4.6x 33.0 KB 24.9 KB 1.3x 660.0 KB 501.8 KB 1.3x
medium_xyz_rgb 65,536 Yes 2.130 ms 0.028 ms 77.0x 1.549 ms 0.057 ms 27.2x 786.7 KB 590.1 KB 1.3x 15.73 MB 11.81 MB 1.3x
large_xyz_rgb 307,200 Yes 11.897 ms 0.292 ms 40.7x 7.915 ms 0.575 ms 13.8x 3.69 MB 2.77 MB 1.3x 73.73 MB 55.31 MB 1.3x

Items

Related PRs

@ypang-neuraco ypang-neuraco self-assigned this Jun 24, 2026
@ypang-neuraco ypang-neuraco added the version:minor non-breaking feature updates, new functions or endpoints label Jun 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Consider updating changelogs/pending-changelog.md with a summary of this change for the release notes. This is optional and non-blocking.

@ypang-neuraco

ypang-neuraco commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

@aditya-neuraco I did a benchmark on with and without zstd, the file size only shrunk by ~10% but the encode/decode time increased a lot. I don't think it is worth it at this stage. Maybe we can find a better compression method down the line.

RealSense results on a single frame (307K pts + RGB)
Disk: 2.77 MB → 2.43–2.56 MB (~1.1x at L3, ~1.14x at L6)
Encode: 0.14 ms (v1) → 5.2 ms (zstd L3)
Decode: 0.41 ms (v1) → 2.2 ms (zstd)

@aditya-neuraco

Copy link
Copy Markdown
Contributor

@aditya-neuraco I did a benchmark on with and without zstd, the file size only shrunk by ~10% but the encode/decode time increased a lot. I don't think it is worth it at this stage. Maybe we can find a better compression method down the line.

RealSense results on a single frame (307K pts + RGB)

Disk: 2.77 MB → 2.43–2.56 MB (~1.1x at L3, ~1.14x at L6)

Encode: 0.14 ms (v1) → 5.2 ms (zstd L3)

Decode: 0.41 ms (v1) → 2.2 ms (zstd)

Agreed, doesn't make sense to add it.

Comment thread neuracore/core/data/synced_recording.py
Comment thread neuracore/core/streaming/data_stream.py
Comment thread neuracore/data_daemon/registration_management/registration_manager.py Outdated
Comment thread neuracore/core/streaming/data_stream.py

@aditya-neuraco aditya-neuraco left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM w / comments

@ypang-neuraco
ypang-neuraco force-pushed the feat/improve-pointcloud-logging branch 4 times, most recently from 4d2e280 to 5baf19c Compare July 10, 2026 16:49
@ypang-neuraco ypang-neuraco changed the title feat: improve pointcloud logging feat: improve pointcloud logging Jul 10, 2026
@ypang-neuraco
ypang-neuraco force-pushed the feat/improve-pointcloud-logging branch from 5baf19c to ed22d72 Compare July 10, 2026 17:07
@ypang-neuraco
ypang-neuraco merged commit 7f5763c into main Jul 10, 2026
23 checks passed
@ypang-neuraco
ypang-neuraco deleted the feat/improve-pointcloud-logging branch July 10, 2026 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

version:minor non-breaking feature updates, new functions or endpoints

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants