For the software doing the actual reconstruction, is there anything like a radon transform underlying the algorithm used to recover the object? Or does that only work with attenuation?
For the software doing the actual reconstruction, is there anything like a radon transform underlying the algorithm used to recover the object? Or does that only work with attenuation?
What it does is basically a big optimization problem. You have 6 parameters for each picture (x, y, z, roll, pitch, yaw, although in practice there are better parametrizations based on what is called Quaternions). Than three prameters for the position of each keypoint. Those are simply the same physical spots on multiple image that are matched based on their visual appearance.
Last component is a metric that you try to optimize. That is mostly just reprojection error. Given all your current estimates where yould the keypoints be projected on this synthetic image. Then you compare it with the pixel locations of where it actually in and try to minimize this.
It is actually a very versatile and robust pipeline which gives you what you’ve seen on the images.
Last step is to produce the dense reconstruction which is commonly done using patch match algorithm.
You can try it for yourself with the OpenMVG library. Very hackable and versatile.
Here are slides in Slovene with photos of my garage CT scanner https://drola.si/demos/ct_prezentacija.pdf
I believe photogrammetry is computationally vastly more complicated than CT but I haven’t gone deep into it yet.
There are DIY gantrys for the line-laser type of scanner.
The software tends to be significantly more complicated. Here's a link to something fairly modern, yet not dependent on ML [0], project page here [1].
The code is open-source, but it has/had some issues when running on Linux, the critical ones I fixed in my GH fork.
[0]: https://www.gcc.tu-darmstadt.de/media/gcc/papers/Aroudj-2017...
[1]: https://www.gcc.tu-darmstadt.de/home/proj/tsr/tsr.en.jsp