davidcaron / pye57

Read and write e57 point clouds from Python
MIT License
68 stars 42 forks source link

Point field support #26

Open qenops opened 2 years ago

qenops commented 2 years ago

After exporting an e57 file from CloudCompare, I noticed some extra point fields that are not in the SUPPORTED_POINT_FIELDS dictionary. I don't know if CloudCompare is just writing non-standard field names, or if they were just missed in the dictionary. Is there an official list of point fields for the e57 format?

The field names that it creates are: "nor:normalX", "nor:normalY", and "nor:normalZ"

I've added the fields locally for now, but our tool chain pulls repos from pypi, so long term it would be much easier if they were included here. However, if they aren't standard fields then of course they shouldn't be.

qenops commented 2 years ago

Maybe the code could be modified to include some unknown point field names that default to double? IDK, just spit balling.

Saiga1105 commented 2 years ago

Dear David, Can you update the SUPPORTED_POINT_FIELDS to be more flexible. that cloudcompare bug with the normals is kinda enoying. Thanks

for those that specifically need CC normals, just update the dictionary in your code by adding this line at the top of your code: pye57.e57.SUPPORTED_POINT_FIELDS.update({'nor:normalX' : 'd','nor:normalY': 'd','nor:normalZ': 'd'})