Increase Speed FabScanPi
Is it possible to speed up the scanning process and which approaches would be possible to make this possible?
My first approach was to reduce the number of positions in a scan to 200. For my objects to be scanned completely sufficient. I also don't need a color scan. So I could shorten the required time from 8 to approx. 4 1/2 minutes.
Would it be a good idea to provide more than 4 workers for the FabscanPi? And do I see correctly that the required time is used mainly for the ImageProcessor?
I would love to hear about any idea.
There are 4 workers, because the RaspberryPi has four cores. If more workers will improve the speed needs to be tested, feel free to create more workers and share your results here.
Our algorithms are quite linear at the moment, so there is much space for improvement even on the existing hardware. We hope that somebody from our community can optimize the algorithms and the implementation and create a pull request on github. Currently, speed is not our main optimization factor. Instead, we are still aiming for higer quality results since most users are makeres who use the scanner for digitizing a few objects every now and then. Do you need to scan many things in shorter time or what is your exact use case for the device?
Hello Mario and Rene,
As my name suggests, I work in the field of additive manufacturing with a focus on post-processing. Here I need relatively fast results of a 3D scan with low resolution because the post-processing system is relatively rough. I can't realize an outsourcing on a PC, therefore I look for a solution on the Pi. With Python I get along well and will test your ideas and give you a feedback.
Thank you very much for your answers.
Hello, Mario and Rene,
Increasing the number of workers to 6-8 has no effect on the duration of a scan. Reducing the resolution to a quarter saves about 50sec, but the quality of the scan is really too bad. Here I still have to find a resolution that is optimal for my situation. But another factor has the biggest influence. In the hardware controller, in the function "scan at position", a turntable-step command waits 0.7 sec until the next image is taken. Since I use another stepper motor (not via the HAT) and control it with a blocking command, I don't need this time delay.
At the moment I have arrived at approx. 110 sec per scan (without 3D model). Depending on the size of the component to be scanned.
Maybe you have come up with some more ideas where I could have a look. I will carry out further tests. Speed back or forth, it must run still stable.
I am doing some tests with the new Raspberry Pi4. Hopefully this will speed up the scans. I also changed some software parts for speed up... Maybe I can give you a speed comparison in the upcoming days.