asmaloney / asmaloney/libE57Format

Potential for seeking points in CompressedVector

Open
#79 0 comments 1 reaction 0 assignees View on GitHub
enhancement question
Dominant language
C++
Stars
191
Forks
82
Avg merge
7h 21m
Merged PRs (30d)
1

Description

One of the things of interest with E57 is the possibility of reading portions of a point cloud.
Ideally we wouldn't need to read from start to end, when only a specific contiguous portion of points are needed.
The specification for CompressedVector discusses index, data and ignored packets.
However, libE57Format does not appear to support writing or reading index packets.

There is a related upstream bug.
[E57 3D Imaging Format Bug #5](https://sourceforge.net/p/e57-3d-imgfmt/bug-reports/5/)
> CompressedVectorReader::seek() not finished.

I'm poking around in the implementation and getting the impression this functionality would
need to be added, both for input and output. Does anyone have any experience or success with this?

One possibility is to break the pointcloud into multiple data3D nodes, but ideally we could use that other purposes such as classification groups, or whatnot.

Contributor guide

Open the contributing guide

Research direction

Start with CompressedVectorReader::seek() and inspect how the implementation handles index, data, and ignored packets. Compare the behavior with upstream E57 3D Imaging Format Bug #5 and determine the input and output requirements; done means contiguous point-cloud portions can be accessed without reading from the beginning, with index packets supported as required.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.