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

[WIP] Fix is_dense flag not properly set #1460

Closed
wants to merge 2 commits into from
Closed

[WIP] Fix is_dense flag not properly set #1460

wants to merge 2 commits into from

Conversation

VictorLamoine
Copy link
Contributor

@VictorLamoine VictorLamoine commented Dec 2, 2015

Fixes #1455.

  • Update documentation about what dense cloud is.
  • Add some checks to make the cloud non-dense if normal, color etc.. is not finite in the PLY reader.
  • Write a test for a non dense cloud.
  • Fix bug with binary PLY files
test_pcl_1: /home/victor/libraries/pcl/src/io/src/ply_io.cpp:503: void pcl::PLYReader::objInfoCallback(const string&): Assertion `st.size () == 3' failed.
Abandon

@VictorLamoine
Copy link
Contributor Author

In the PCD reader, every field has to be finite for the cloud to be dense:
https://github.com/PointCloudLibrary/pcl/blob/master/io/src/pcd_io.cpp#L989-L1038

I'll make the same for the PLY files.

@SergioRAgostinho
Copy link
Member

Small comment to the whole NaN and Inf thing, only float and double have NaN/Inf representations. So making that check on integers is useless.

References:
http://stackoverflow.com/questions/3949457/can-an-integer-be-nan-in-c
http://stackoverflow.com/questions/8690567/setting-an-int-to-infinity-in-c

@taketwo
Copy link
Member

taketwo commented Dec 21, 2015

Here are a few more bits of information I found about the meaning of the is_dense field. Firstly, a message from Radu that motivates the existence of the field. Unfortunately, it does not make it clear whether all fields or just XYZ need to be valid. Secondly, an example in normal estimation code where is_dense is set to false when a normal is NaN.

So I think that is_dense means that all fields of all points in a point cloud are valid. (Which, as Sergio mentioned, only makes sense for floating point representations.)

@taketwo taketwo added the needs: more work Specify why not closed/merged yet label Jul 1, 2017
@stale
Copy link

stale bot commented Dec 14, 2017

This pull request has been automatically marked as stale because it hasn't had
any activity in the past 60 days. Commenting or adding a new commit to the
pull request will revert this.

Come back whenever you have time. We look forward to your contribution.

@stale stale bot added the status: stale label Dec 14, 2017
@stale stale bot removed the status: stale label Mar 6, 2018
@SergioRAgostinho
Copy link
Member

Note to self: confirm the last point

Fix bug with binary PLY files

@VictorLamoine
Copy link
Contributor Author

@SergioRAgostinho I don't have time to spend on PCL right now 🤕

If anyone is willing to take over my patch please do it! Don't mention me as the author or whatever, I don't care.

@stale
Copy link

stale bot commented May 6, 2018

This pull request has been automatically marked as stale because it hasn't had
any activity in the past 60 days. Commenting or adding a new commit to the
pull request will revert this.

Come back whenever you have time. We look forward to your contribution.

@stale stale bot added the status: stale label May 6, 2018
@VictorLamoine VictorLamoine deleted the ply_is_dense branch March 8, 2019 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs: more work Specify why not closed/merged yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants