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

Collecting ideas to improve the PCD file format #6207

Open
mvieth opened this issue Dec 23, 2024 · 0 comments
Open

Collecting ideas to improve the PCD file format #6207

mvieth opened this issue Dec 23, 2024 · 0 comments
Labels

Comments

@mvieth
Copy link
Member

mvieth commented Dec 23, 2024

Currently, the PCD file format is at version 0.7 (and has been for many years.
This issue represents a collection of ideas for improving the file format. Everyone is welcome to suggest ideas or comment on ideas. It would also be helpful if people comment which ideas are most important in their opinion.
These ideas (or some of them) could some day be implemented in a version 0.8 of the PCD file format.

  • binary compressed data: currently, this uses two 32-bit unsigned binary numbers to specify how large the compressed and uncompressed data is. This should instead be two 64-bit unsigned binary numbers, to allow very large datasets. It might make sense to add a new binary_compressed64 mode for this. Additionally, it could be advantageous if the data can be stored in several sections, where the data in each section is spatially close and can be decompressed independently. Then the reader does not have to decompress all the data at once, which might not fit into memory (in case of very large clouds) (related: PCDWriter::writeBinaryCompressed cannot write large pcd file due to 32-bit limitation #2152)
  • additional header entries: currently, there is no possibility to store sequence number, timestamp, and frame id (related: [Module IO] savePCDFile() function does not save the PCLheader information of the point cloud #6152)
  • it could make sense to make some header entries optional, meaning that it is allowed that the entry does not appear, in which case a certain default value is assumed
  • officially declare lines starting with # as comments?
  • maybe make 0.8 a superset of 0.7, so that every valid PCD 0.7 file is also a valid PCD 0.8 file?

It would be good if we can create a list of software that can read or write PCD files, so that we can notify them in case of a PCD version 0.8:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant