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

Read really big e57 unique scan #7

Closed
KirbX opened this issue Nov 9, 2018 · 3 comments

Comments

Projects
None yet
2 participants
@KirbX
Copy link

commented Nov 9, 2018

Hi!
I have a problem with libe57 and you're the first one I saw working on it since it is really old so I allowed me to write here (I'm a little desperate actually :( ), to ask you a question. I'm sorry if I bothered you :/

In libe57, in order to read points, you create X vector with the size of the number of points. (1 vector for X values, 1 for Y, 1 for Z, 1 for intens, 3 for color for example). In my case, I have ~2billions points in a unique scan, that means I have to create 7 vector of size 2billions, and obviously my computer crash with a bad_alloc...
Do you know a way to read points chunck by chunck? For example read the first (num_points / 8) points, work on them, then read the next (num_points / 8) points, work on them and so one until the file is finished?

And I had another question actually about libe57Format : What is the difference between your library, and classic libe57 (except for the boost lib)?

Thanks a lot! And sorry for that question...
Have a nice day!
Best regards!

Raphaël S.

@asmaloney

This comment has been minimized.

Copy link
Owner

commented Nov 9, 2018

No problem Raphaël, but I'm afraid I'm not going to be much help...

I actually am in a strange position where I don't have the actual E57 standard and I don't really have a deep understanding of this format. I'm more of a digital janitor for this code.

My goal was to take the old E57RefImpl and make it compile on macOS. Along the way I've removed Boost, reorganized the code, modernized some of the code, fixed a few bugs, made file reading faster, and added a checksum policy to determine how often to compute checksums (see ReadChecksumPolicy).

@KirbX

This comment has been minimized.

Copy link
Author

commented Nov 12, 2018

Oh! I see!
If you fixed some bugs, maybe it is interesting to use your lib instead of libe57RefImpl ! I'll give it a shot!

It is funny to see that this lib is so old, nobody know how it works anymore! :(

Thanks a lot for your answer ! :)

If you ever think about it one day, I believe the function to use is "Seek" but they didn't implemented it yet ^^'

@asmaloney

This comment has been minimized.

Copy link
Owner

commented Nov 12, 2018

It's not really a function of how old the code is, it's just not written in a way that other developers can understand it without a lot of study/time.

"If you ever think about it one day..." :-)

If I ever needed to make larger changes, I would probably rewrite this library.

@asmaloney asmaloney closed this Nov 12, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.