odlgroup / odl

Operator Discretization Library https://odlgroup.github.io/odl/
Mozilla Public License 2.0
368 stars 105 forks source link

feature request for Viktor Nikitin's log-polar (and possibly other) Radon transforms #942

Open rshpeley opened 7 years ago

rshpeley commented 7 years ago

Viktor Nikitin's personal page lists his papers, doctoral thesis and (windows) software for a faster Radon transform method using log-polar space. The code is in matlab, mex and cuda. I took a look into this last summer, but couldn't justify the time to go further.

The potential is for some blazing fast code, but matlab to numpy/scipy and windows to linux libs work isn't likely to be trivial.

It appears to require a higher number of angular samples than other reconstruction methods, but I had in mind correcting that with a neural network.

ozanoktem commented 7 years ago

I took a quick look at the material by Viktor Nikitin in Lund. His approach is actually 2D and works on 3D parallel beam data by decomposing the 3D problem into a sequence of 2D problems along slices. This is quite a limitation, the method is essentially applicable to parallel beam acquisition with flat detectors, i.e. geophysical and syncrotron tomographic applications.

Anyway, in a recently initatied a collaboration, we are working on computing analytic expressions for the 3D ray and divergent beam transforms as they act on Gaussian directional wave-packet representations. This applies to much more general 3D aquisition geometries and it also allows us to resolve shearlet type of directinal information. We have explicit closed form expressions which, if properly implemented in GPU, could give really fast code. This spring there will be an interaction within this collaboration related to implementation.

rshpeley commented 7 years ago

Hmm... yeah, I've been a bit negligent about 3d. That sounds really promising. I'll look forward to it when it comes out. In the meantime, do you have any suggested readings for this approach?

adler-j commented 7 years ago

Sounds very interesting indeed, but it would be outside of our current development resources. Is this something you would be interested in contributing yourself?

rshpeley commented 7 years ago

If I could spare the time I would. As I mentioned, I tried to get at it last summer without much luck. But if time opens up for me, sure.

adler-j commented 7 years ago

Don't we all hope for more time :) Anyway, I guess the best way would be to either try porting the authors code, or perhaps even make the author do it himself, perhaps he would be happy if someone used it :) Have you spoken to him?