I made a simple module implementing the Discrete Radon Transform using PDL and WH Press algorith (below). I put it at https://github.com/wlmb/Radon.git together with a test program and an image to test it. Hope it is useful.
Regards, Luis On Mon, Mar 09, 2020 at 02:02:49PM -0600, Craig DeForest wrote: > Cool! > > If the PDL high-level implementation isn’t zippy enough, I’d be happy to give > some pointers on PP-izing it. > > > On Mar 9, 2020, at 1:59 PM, Luis Mochan <[email protected]> wrote: > > > > Well, I found a nice fast algorithm for a direct and an inverse Radon > > (almost) > > Transform and I think it lends itself for a nice implementation in > > PDL. > > > > Press, William H. “Discrete Radon Transform Has an Exact, Fast Inverse > > and Generalizes to Operations Other than Sums along Lines.” > > Proceedings of the National Academy of Sciences 103, no. 51 (December > > 19, 2006): 19249–54. https://doi.org/10.1073/pnas.0609228103. > > > > I'll post my solution here if I succeed. > > > > Thanks and regards, > > Luis > > > > > > On Mon, Mar 09, 2020 at 01:51:01PM -0600, Craig DeForest wrote: > >> The “fft” option in PDL::Transform::map has to do with interpolation > >> method, and isn’t directly relevant (unfortunately). I used a subset of > >> the radon transform in one of my papers (see the appendix; link here: > >> https://bit.ly/38Bylg3 <https://bit.ly/38Bylg3>). That was all > >> roll-your-own, though: I never packaged it up as a full radon transform. > >> > >> If I were implementing one in the general case in PDL itself, I’d do > >> something like a Fourier transform followed by a PDL::Transform::map to > >> radial coordinates followed by an inverse Fourier transform. PDL::FFTW3 > >> would be the right tool for that. There’s probably something in the GSL > >> already, though — if so, one could just link to that. > >> > >> > >> > >> > >> > >>> On Mar 9, 2020, at 1:39 PM, Boyd Duffee <[email protected]> wrote: > >>> > >>> Hey Luis, > >>> > >>> From the deafening silence to your question, I'd say no. I had a quick > >>> look around CPAN and I see nothing for Radon in PDL or Perl in general. > >>> > >>> Then I had a look at what a Radon Transform > >>> <https://en.wikipedia.org/wiki/Radon_transform> actually is and it is > >>> **well cool**! We were talking last week about the episode of House > >>> with the bullet fragments and the MRI machine and started asking, how > >>> _do_ you get a 3D image from a bunch of attenuations? > >>> > >>> As it's not far off the Fourier transform, I'd say it's possible and > >>> maybe PDL::Transform's map <https://metacpan.org/pod/PDL::Transform#map1> > >>> function with it's { map => 'fft' } option is a place to start hacking. > >>> I'll have some free time in a couple of months if you want a willing > >>> novice-to-PDL collaborator. It sounds like something that Perl should > >>> have in it's toolbox if we want our language to be serious about > >>> Scientific Perl. I think I've got a "tuit" around here somewhere. :) > >>> > >>> Saludos, > >>> Boyd > >>> > >>> On Thu, Mar 5, 2020 at 4:37 AM Luis Mochan <[email protected] > >>> <mailto:[email protected]>> wrote: > >>> Hi, > >>> > >>> Is there an implementation of the Radon transform and its inverse in > >>> PDL? Or some implementation which may be called from PDL? > >>> > >>> Regards, > >>> Luis > >>> > >>> > >>> > >>> -- > >>> > >>> o > >>> W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) > >>> Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ > >>> Apdo. Postal 48-3, 62251 | (*)/\/ \ > >>> Cuernavaca, Morelos, México | [email protected] > >>> <mailto:[email protected]> /\_/\__/ > >>> GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB > >>> > >>> > >>> _______________________________________________ > >>> pdl-general mailing list > >>> [email protected] > >>> <mailto:[email protected]> > >>> https://lists.sourceforge.net/lists/listinfo/pdl-general > >>> <https://lists.sourceforge.net/lists/listinfo/pdl-general> > >>> > >>> > >>> -- > >>> Boyd Duffee > >>> Bring on a brand-new renaissance - TTH > >>> _______________________________________________ > >>> pdl-general mailing list > >>> [email protected] > >>> https://lists.sourceforge.net/lists/listinfo/pdl-general > >> > > > > > >> _______________________________________________ > >> pdl-general mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/pdl-general > > > > > > -- > > > > o > > W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) > > Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ > > Apdo. Postal 48-3, 62251 | (*)/\/ \ > > Cuernavaca, Morelos, México | [email protected] /\_/\__/ > > GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB > > > > > > _______________________________________________ > > pdl-general mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/pdl-general > > > > -- o W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ Apdo. Postal 48-3, 62251 | (*)/\/ \ Cuernavaca, Morelos, México | [email protected] /\_/\__/ GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB _______________________________________________ pdl-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/pdl-general
