Hello all,
I have a slit-scanning confocal in my facility that sometimes introduces vertical line artifacts into images. I use ImageJ to correct these defects in frequency space; I make a thin horz. rectangle through the middle of the FFT map, except through the very center. How can I do the same filtering in real space? I'm looking for a kernel that I can use in other programs that don't have Fourier capabilities. (sample images and mask at http://www.missouri.edu/~fernandezg/FFT) On a related note, can people suggest a resource/reference for converting Fourier filters to real space in general? Thanks and Happy Holidays! -Esteban -- G. Esteban Fernandez, Ph.D. Associate Director Molecular Cytology Core Facility University of Missouri 120 Bond Life Sciences Center Columbia, MO 65211 http://www.biotech.missouri.edu/mcc/ 573-882-4895 573-884-9395 fax |
>Hello all,
> >I have a slit-scanning confocal in my facility that sometimes introduces >vertical line artifacts into images. I use ImageJ to correct these defects >in frequency space; I make a thin horz. rectangle through the middle of the >FFT map, except through the very center. How can I do the same filtering in >real space? I'm looking for a kernel that I can use in other programs that >don't have Fourier capabilities. (sample images and mask at >http://www.missouri.edu/~fernandezg/FFT) > >On a related note, can people suggest a resource/reference for converting >Fourier filters to real space in general? > >Thanks and Happy Holidays! > >-Esteban > >-- >G. Esteban Fernandez, Ph.D. >Associate Director >Molecular Cytology Core Facility >University of Missouri >120 Bond Life Sciences Center >Columbia, MO 65211 > >http://www.biotech.missouri.edu/mcc/ > >573-882-4895 >573-884-9395 fax By "real space" you mean the image- or 2-dimensional space-domain, do you? Filtering in the frequency- or Fourier-domain means multiplication of the complex-valued Fourier-spectrum of your image with the filter function (mask), in your case the horizontal bar with a gap around the DC-term. Filtering in the space-domain means convolution with the filter's point-response (convolution kernel) which is the Fourier-retransform of the filter function. Consequently, you could try to Fourier-retransform the horizontal bar with a gap around the DC-term. However the resulting convolution kernel may turn out impractical for several reasons: 1) It may be complex-valued (in any case it will be bipolar) 2) It may be too big (extended) But the result may be a starting point for what you want. If your bar were line-like and without the gap, the Fourier-retransform would be confined to the y-axis in space domain. It would be a negative constant on this line with a positive peak at the origin. To mimic the gap, you could add a constant to the result of the convolution until your image is strictly positive. Of course, there are better solutions to the problem but they are more involved. HTH -- Herbie ------------------------ <http://www.gluender.de> |
Dear All,
I would like to take the opportunity to ask another question regarding Fourier operations. I would like to perform spatiotemporal image correlation in the Fourier domain because of speed and memory considerations. If I understand correctly, convolution of two images (i.e. correlation) in the spatial domain, equals mere multiplication of the Fourier transformed images in the frequency domain. However, when multiplying two FFT images, the resulting images is no longer expressed in polar coordinates and therefore cannot be transformed back by inverse FFT. I tried FD Math correlate, but this operation requires two square images of fixed dimensions and I'm not sure if enlarging the canvas size goes without consequences for the correlation outcome. I have noticed that the latter operation appears to give a similar resulting image whether one uses the original images as input or the Fourier transformed. Could anybody please share on how to do this the right way? Many thanks in advance and best wishes, Winnok ps: the archives were unaccesible, so apologies if this is a duplicate query. |
>Dear All,
> >I would like to take the opportunity to ask >another question regarding Fourier operations. I >would like to perform spatiotemporal image >correlation in the Fourier domain because of >speed and memory considerations. >If I understand correctly, convolution of two >images (i.e. correlation) in the spatial domain, >equals mere multiplication of the Fourier >transformed images in the frequency domain. Well, not perfectly but nearly... Convolution and correlation is not the same but they are quite similar. You must take care of the differences: 1) Convolution is a commutative operation, correlation is not. k(rho) = [b(r) corr a(r)] != [a(r) corr b(r)] = kÝ(-rho) Ý stands for "complex conjugate" and can be ignored when dealing with images (that are real-valued signals). 2) The relations between convolution and corelation are k(rho) = b(r) corr a(r) = b(r) conv aÝ(-r) f(rho) = b(r) conv a(r) = b(r) corr aÝ(-r) >However, when multiplying two FFT images, the >resulting images is no longer expressed in polar >coordinates and therefore cannot be transformed >back by inverse FFT. If you Fourier-transform an image b(r) = b(x,y), then it results in a (generally complex-valued) Fourier-spectrum in Cartesian coordinates B(f_r) = B(f_x, f_y). Of course, you may represent whatever 2-dimensional function in polar coordinates but this has nothing to do with the Fourier-transformation. As far as I remember and for whatever reasons -- though displaying Fourier-spectra in Cartesian coordinates -- IJ _numerically_ indicates the spectral coordinates as polar coordinates. Please correct me if I'm wrong or if this behavior has been changed. (Personally and for several reasons, I don't use IJ's Fourier-transformation. Instead I use the slower IJ-PlugIn FFTJ.) >I tried FD Math correlate, but this operation >requires two square images of fixed dimensions >and I'm not sure if enlarging the canvas size >goes without consequences for the correlation >outcome. You may add appropriate surrounding areas of preferably constant gray-value to your images. (Avoid any gray-level steps when doing so.) FD-Math in fact is based on the Fourier-approach and therefore requires square sized image with side-length being a power of 2. This is due to the implemented algorithm. Digital Fourier-transformation of arbitrarily sized images is much slower (the IJ-PlugIn FFTJ is able to do just that). >I have noticed that the latter operation appears >to give a similar resulting image whether one >uses the original images as input or the Fourier >transformed. >Could anybody please share on how to do this the right way? >Many thanks in advance and best wishes, > >Winnok > >ps: the archives were unaccesible, so apologies if this is a duplicate query. HTH -- Herbie ------------------------ <http://www.gluender.de> |
In reply to this post by Winnok H. De Vos
Winnock,
You could try the plugin Convolve 3D on my site. You should not give it stacks of images unless you want 3D convolution or correlation. Bob On Dec 25, 2008, at 3:25 AM, Winnok De Vos wrote: > Dear All, > > I would like to take the opportunity to ask another question > regarding Fourier operations. I would like to perform spatiotemporal > image correlation in the Fourier domain because of speed and memory > considerations. > If I understand correctly, convolution of two images (i.e. > correlation) in the spatial domain, equals mere multiplication of > the Fourier transformed images in the frequency domain. > However, when multiplying two FFT images, the resulting images is no > longer expressed in polar coordinates and therefore cannot be > transformed back by inverse FFT. I tried FD Math correlate, but this > operation requires two square images of fixed dimensions and I'm not > sure if enlarging the canvas size goes without consequences for the > correlation outcome. I have noticed that the latter operation > appears to give a similar resulting image whether one uses the > original images as input or the Fourier transformed. > Could anybody please share on how to do this the right way? > Many thanks in advance and best wishes, > > Winnok > > ps: the archives were unaccesible, so apologies if this is a > duplicate query. > Robert Dougherty, Ph.D. President, OptiNav, Inc. 10900 NE 8th St, Suite 900 Bellevue, WA 98004 Tel. (425)990-5912 FAX (425)467-1119 www.optinav.com [hidden email] |
In reply to this post by Gluender-2
Thank you very much for your well documented response.
So in summary, squaring the canvas (e.g. black fill) and using FD Math correlate on the original images should return relatively reliable data. I know the polar coordinates are just a representation, but how does one convert an image (for instance after multiplying these two FFT images=correlation) back to such representation in order to be able to perform the inverse Fourier transform? I checked out FFTJ as well, but it indeed is far slower, just what I wanted to circumvent. Best regards, Winnok >Dear All, > >I would like to take the opportunity to ask >another question regarding Fourier operations. I >would like to perform spatiotemporal image >correlation in the Fourier domain because of >speed and memory considerations. >If I understand correctly, convolution of two >images (i.e. correlation) in the spatial domain, >equals mere multiplication of the Fourier >transformed images in the frequency domain. Well, not perfectly but nearly... Convolution and correlation is not the same but they are quite similar. You must take care of the differences: 1) Convolution is a commutative operation, correlation is not. k(rho) = [b(r) corr a(r)] != [a(r) corr b(r)] = kÝ(-rho) Ý stands for "complex conjugate" and can be ignored when dealing with images (that are real-valued signals). 2) The relations between convolution and corelation are k(rho) = b(r) corr a(r) = b(r) conv aÝ(-r) f(rho) = b(r) conv a(r) = b(r) corr aÝ(-r) >However, when multiplying two FFT images, the >resulting images is no longer expressed in polar >coordinates and therefore cannot be transformed >back by inverse FFT. If you Fourier-transform an image b(r) = b(x,y), then it results in a (generally complex-valued) Fourier-spectrum in Cartesian coordinates B(f_r) = B(f_x, f_y). Of course, you may represent whatever 2-dimensional function in polar coordinates but this has nothing to do with the Fourier-transformation. As far as I remember and for whatever reasons -- though displaying Fourier-spectra in Cartesian coordinates -- IJ _numerically_ indicates the spectral coordinates as polar coordinates. Please correct me if I'm wrong or if this behavior has been changed. (Personally and for several reasons, I don't use IJ's Fourier-transformation. Instead I use the slower IJ-PlugIn FFTJ.) >I tried FD Math correlate, but this operation >requires two square images of fixed dimensions >and I'm not sure if enlarging the canvas size >goes without consequences for the correlation >outcome. You may add appropriate surrounding areas of preferably constant gray-value to your images. (Avoid any gray-level steps when doing so.) FD-Math in fact is based on the Fourier-approach and therefore requires square sized image with side-length being a power of 2. This is due to the implemented algorithm. Digital Fourier-transformation of arbitrarily sized images is much slower (the IJ-PlugIn FFTJ is able to do just that). >I have noticed that the latter operation appears >to give a similar resulting image whether one >uses the original images as input or the Fourier >transformed. >Could anybody please share on how to do this the right way? >Many thanks in advance and best wishes, > >Winnok > >ps: the archives were unaccesible, so apologies if this is a duplicate HTH -- Herbie ------------------------ <http://www.gluender.de> No virus found in this incoming message. Checked by AVG. Version: 7.5.552 / Virus Database: 270.10.0/1861 - Release Date: 22/12/2008 11:23 No virus found in this outgoing message. Checked by AVG. Version: 7.5.552 / Virus Database: 270.10.0/1861 - Release Date: 22/12/2008 11:23 |
>Thank you very much for your well documented response.
>So in summary, squaring the canvas (e.g. black fill) and using FD Math >correlate on the original images should return relatively reliable data. That's what I would expect. The color of the "fill" depends on the kind of your images. >I know the polar coordinates are just a representation, but how does one >convert an image (for instance after multiplying these two FFT >images=correlation) back to such representation in order to be able to >perform the inverse Fourier transform? OK, first of all here is what concerns the spectral "multiplication": 3) What does remark 2) mean for spectral functions? b(r) conv a(r) | | FT FT | | B(f_r) * A(f_r) [ b(r) corr a(r) ] = [ b(r) conv aÝ(-r) ] | | | | FT FT FT FT | | | | [ B(f_r) * AÝ(f_r) ] = [ B(f_r) * AÝ(f_r) ] * stands for multiplication and Ý stands for "complex conjugate" Because the Fourier-transforms of your images are most likely complex-valued, you must take care of the the "complex conjugate" AÝ(f_r)! A(f_r) = Re{ A(f_r) } + i * Im{ A(f_r) }; AÝ(f_r) = Re{ A(f_r) } - i * Im{ A(f_r) }; 4) How to multiply complex numbers cz = cx * cy ? cx = rx + i ix; cy = ry + i iy; cz = cx * cy = (rx * ry - ix * iy) + i(rx * iy + ry * ix) = rz + i iz; With this in mind, you have do perform the Fourier-transforms of your images that result in 2 spectral components each (real and imaginary parts). Then you do the complex multiplication taking into account the "complex conjugate" of the spectrum of one of your images. Finally you do a Fourier-retransform of the resulting complex "product"-spectrum which should result in a real-valued image (but it wont!). That's all. I just checked this procedure with FFTJ and it works perfectly! >I checked out FFTJ as well, but it indeed is far slower, just what I wanted >to circumvent. >Best regards, >Winnok HTH further Herbie ------------------------ <http://www.gluender.de> > >Dear All, >> >>I would like to take the opportunity to ask >>another question regarding Fourier operations. I >>would like to perform spatiotemporal image >>correlation in the Fourier domain because of >>speed and memory considerations. >>If I understand correctly, convolution of two >>images (i.e. correlation) in the spatial domain, >>equals mere multiplication of the Fourier >>transformed images in the frequency domain. > >Well, not perfectly but nearly... > >Convolution and correlation is not the same but they are quite similar. >You must take care of the differences: > >1) Convolution is a commutative operation, correlation is not. > k(rho) = [b(r) corr a(r)] != [a(r) corr b(r)] = kÝ(-rho) > > Ý stands for "complex conjugate" and can be ignored > when dealing with images (that are real-valued signals). > >2) The relations between convolution and corelation are > k(rho) = b(r) corr a(r) = b(r) conv aÝ(-r) > f(rho) = b(r) conv a(r) = b(r) corr aÝ(-r) > >>However, when multiplying two FFT images, the >>resulting images is no longer expressed in polar >>coordinates and therefore cannot be transformed >>back by inverse FFT. > >If you Fourier-transform an image b(r) = b(x,y), >then it results in a (generally complex-valued) >Fourier-spectrum in Cartesian coordinates B(f_r) >= B(f_x, f_y). > >Of course, you may represent whatever >2-dimensional function in polar coordinates but >this has nothing to do with the >Fourier-transformation. > >As far as I remember and for whatever reasons -- >though displaying Fourier-spectra in Cartesian >coordinates -- IJ _numerically_ indicates the >spectral coordinates as polar coordinates. Please >correct me if I'm wrong or if this behavior has >been changed. >(Personally and for several reasons, I don't use >IJ's Fourier-transformation. Instead I use the >slower IJ-PlugIn FFTJ.) > >>I tried FD Math correlate, but this operation > >requires two square images of fixed dimensions >>and I'm not sure if enlarging the canvas size >>goes without consequences for the correlation >>outcome. > >You may add appropriate surrounding areas of >preferably constant gray-value to your images. >(Avoid any gray-level steps when doing so.) > >FD-Math in fact is based on the Fourier-approach >and therefore requires square sized image with >side-length being a power of 2. This is due to >the implemented algorithm. Digital >Fourier-transformation of arbitrarily sized >images is much slower (the IJ-PlugIn FFTJ is able >to do just that). > >>I have noticed that the latter operation appears >>to give a similar resulting image whether one >>uses the original images as input or the Fourier >>transformed. >>Could anybody please share on how to do this the right way? >>Many thanks in advance and best wishes, >> >>Winnok >> >>ps: the archives were unaccesible, so apologies if this is a duplicate >query. > >HTH >-- > > Herbie > > ------------------------ > <http://www.gluender.de> > >No virus found in this incoming message. >Checked by AVG. >Version: 7.5.552 / Virus Database: 270.10.0/1861 - Release Date: 22/12/2008 >11:23 > > >No virus found in this outgoing message. >Checked by AVG. >Version: 7.5.552 / Virus Database: 270.10.0/1861 - Release Date: 22/12/2008 >11:23 |
Of course! I manually performed the operations described and obtained
a correlation image, which indeed still contains a complex component (?). The resulting image (+ swap quadrants) corresponds with the one generated by FD Math as well as Bob's convolve 3D plugin. The latter actually runs very fast and works on rectagular images. Thanks for your patience and detailed explanation. Cheers, winnok Citeren Gluender <[hidden email]>: >> Thank you very much for your well documented response. >> So in summary, squaring the canvas (e.g. black fill) and using FD Math >> correlate on the original images should return relatively reliable data. > > That's what I would expect. > The color of the "fill" depends on the kind of your images. > >> I know the polar coordinates are just a representation, but how does one >> convert an image (for instance after multiplying these two FFT >> images=correlation) back to such representation in order to be able to >> perform the inverse Fourier transform? > > OK, first of all here is what concerns the spectral "multiplication": > > 3) What does remark 2) mean for spectral functions? > > b(r) conv a(r) > | | > FT FT > | | > B(f_r) * A(f_r) > > > [ b(r) corr a(r) ] = [ b(r) conv aÝ(-r) ] > | | | | > FT FT FT FT > | | | | > [ B(f_r) * AÝ(f_r) ] = [ B(f_r) * AÝ(f_r) ] > > * stands for multiplication and > Ý stands for "complex conjugate" > > Because the Fourier-transforms of your images are most likely > complex-valued, you must take care of the the "complex conjugate" > AÝ(f_r)! > > A(f_r) = Re{ A(f_r) } + i * Im{ A(f_r) }; > AÝ(f_r) = Re{ A(f_r) } - i * Im{ A(f_r) }; > > > > 4) How to multiply complex numbers cz = cx * cy ? > > cx = rx + i ix; > cy = ry + i iy; > > cz = cx * cy = (rx * ry - ix * iy) + i(rx * iy + ry * ix) = rz + i iz; > > > With this in mind, you have do perform the Fourier-transforms of your > images that result in 2 spectral components each (real and imaginary > parts). Then you do the complex multiplication taking into account the > "complex conjugate" of the spectrum of one of your images. Finally you > do a Fourier-retransform of the resulting complex "product"-spectrum > which should result in a real-valued image (but it wont!). That's all. > > I just checked this procedure with FFTJ and it works perfectly! > > >> I checked out FFTJ as well, but it indeed is far slower, just what I wanted >> to circumvent. >> Best regards, >> Winnok > > > HTH further > > Herbie > > ------------------------ > <http://www.gluender.de> > > > >> >Dear All, >>> >>> I would like to take the opportunity to ask >>> another question regarding Fourier operations. I >>> would like to perform spatiotemporal image >>> correlation in the Fourier domain because of >>> speed and memory considerations. >>> If I understand correctly, convolution of two >>> images (i.e. correlation) in the spatial domain, >>> equals mere multiplication of the Fourier >>> transformed images in the frequency domain. >> >> Well, not perfectly but nearly... >> >> Convolution and correlation is not the same but they are quite similar. >> You must take care of the differences: >> >> 1) Convolution is a commutative operation, correlation is not. >> k(rho) = [b(r) corr a(r)] != [a(r) corr b(r)] = kÝ(-rho) >> >> Ý stands for "complex conjugate" and can be ignored >> when dealing with images (that are real-valued signals). >> >> 2) The relations between convolution and corelation are >> k(rho) = b(r) corr a(r) = b(r) conv aÝ(-r) >> f(rho) = b(r) conv a(r) = b(r) corr aÝ(-r) >> >>> However, when multiplying two FFT images, the >>> resulting images is no longer expressed in polar >>> coordinates and therefore cannot be transformed >>> back by inverse FFT. >> >> If you Fourier-transform an image b(r) = b(x,y), >> then it results in a (generally complex-valued) >> Fourier-spectrum in Cartesian coordinates B(f_r) >> = B(f_x, f_y). >> >> Of course, you may represent whatever >> 2-dimensional function in polar coordinates but >> this has nothing to do with the >> Fourier-transformation. >> >> As far as I remember and for whatever reasons -- >> though displaying Fourier-spectra in Cartesian >> coordinates -- IJ _numerically_ indicates the >> spectral coordinates as polar coordinates. Please >> correct me if I'm wrong or if this behavior has >> been changed. >> (Personally and for several reasons, I don't use >> IJ's Fourier-transformation. Instead I use the >> slower IJ-PlugIn FFTJ.) >> >>> I tried FD Math correlate, but this operation >> >requires two square images of fixed dimensions >>> and I'm not sure if enlarging the canvas size >>> goes without consequences for the correlation >>> outcome. >> >> You may add appropriate surrounding areas of >> preferably constant gray-value to your images. >> (Avoid any gray-level steps when doing so.) >> >> FD-Math in fact is based on the Fourier-approach >> and therefore requires square sized image with >> side-length being a power of 2. This is due to >> the implemented algorithm. Digital >> Fourier-transformation of arbitrarily sized >> images is much slower (the IJ-PlugIn FFTJ is able >> to do just that). >> >>> I have noticed that the latter operation appears >>> to give a similar resulting image whether one >>> uses the original images as input or the Fourier >>> transformed. >>> Could anybody please share on how to do this the right way? >>> Many thanks in advance and best wishes, >>> >>> Winnok >>> >>> ps: the archives were unaccesible, so apologies if this is a duplicate >> query. >> >> HTH >> -- >> >> Herbie >> >> ------------------------ >> <http://www.gluender.de> >> >> No virus found in this incoming message. >> Checked by AVG. >> Version: 7.5.552 / Virus Database: 270.10.0/1861 - Release Date: 22/12/2008 >> 11:23 >> >> >> No virus found in this outgoing message. >> Checked by AVG. >> Version: 7.5.552 / Virus Database: 270.10.0/1861 - Release Date: 22/12/2008 >> 11:23 -- assistent prof. P. Van Oostveldt Dep. Moleculaire Biotechnologie Fac. Toegepaste Landbouwwetenschappen, Ugent Coupure links 653 9000 Gent tel. (0032) 09/264.59.71 |
In reply to this post by Winnok H. De Vos
On Dec 26, 2008, at 3:46 AM, Winnok De Vos (ugent) wrote:
> Thank you very much for your well documented response. > So in summary, squaring the canvas (e.g. black fill) GRAY fill! Fill with zeroes IFF pixels are SIGNED. The idea is to fill with the DC value of the "actual" data. This way you don't change the final DC value and you minimize the artifacts due to the fact that your signal is neither infinite nor cyclic. -- Kenneth Sloan [hidden email] |
In reply to this post by G. Esteban Fernandez
Hi,
Eliminating a horizontal line with vertical frequency = 0 corresponds to subtracting the average of each vertical line in the image. The wider the rectangle that you block, the more you also remove slow variations along a vertical line. So, the kernel of the filter operation would be too large for a reasonably fast convolution operation. It will be a n*1 kernel, with large 'n', a value of 1 at the zero point and all other values negative, tapering off to 0 at large radius. The sum of all kernel values must be zero. A better alternative to the inverse of the Fourier domain operation is subtracting a filtered image in real space. You can try it using the "Fast Filters" plugin: http://imagejdocu.tudor.lu/doku.php?id=plugin:filter:fast_filters:start Select 'x radius = 0', a large value of 'y radius', and 'subtract filtered'. The 'mean' or 'border-limited mean' will come close to your Fourier domain filter. If your image has a dark (low-value) background you can also try 'background from minima' instead of 'mean'. Some of these operations can be easily done in many other programs, e.g. 'mean' in one direction is the equivalent of 'motion blur' in Photoshop. Running it twice will reduce 'hard edge' artifacts. Michael ___________________________________________________________________________ On Wed, December 24, 2008 15:20, G. Esteban Fernandez wrote: > Hello all, > > I have a slit-scanning confocal in my facility that sometimes introduces > vertical line artifacts into images. I use ImageJ to correct these > defects > in frequency space; I make a thin horz. rectangle through the middle of > the > FFT map, except through the very center. How can I do the same filtering > in > real space? I'm looking for a kernel that I can use in other programs > that > don't have Fourier capabilities. (sample images and mask at > http://www.missouri.edu/~fernandezg/FFT) > > On a related note, can people suggest a resource/reference for converting > Fourier filters to real space in general? > > Thanks and Happy Holidays! > > -Esteban > > -- > G. Esteban Fernandez, Ph.D. > Associate Director > Molecular Cytology Core Facility > University of Missouri > 120 Bond Life Sciences Center > Columbia, MO 65211 > > http://www.biotech.missouri.edu/mcc/ > > 573-882-4895 > 573-884-9395 fax > |
In reply to this post by Winnok H. De Vos
Hi,
maybe this might help you as well. I recently presented my Stitching Tools at the ImageJ conference, they are Fourier based and compute the correlation between n-dimensional images. Have a look here: http://fly.mpi-cbg.de/~preibisch/software.html#Stitching There is also a conference paper explaining everything in detail: http://fly.mpi-cbg.de/~preibisch/pubs/imagejpaper2008.pdf Concerning padding of the images what was discussed as well it turned out best for us if one extends the images by their mirrored content which is faded using a exponential function. Btw, I use an extended version of Dave Hale's 1D FFT. It is by far the fastest one I have seen under Java, I have the multithreaded ImageJ version on my website as well: http://fly.mpi-cbg.de/~preibisch/software.html#FFT And if you are interested in polar FFTs, I can suggest you two algorithms from two different groups which deal with that: Fast Fourier transforms for nonequispaced data, Potts et. al. http://www-user.tu-chemnitz.de/~potts/nfft/ http://www-user.tu-chemnitz.de/~potts/nfft/polar.php Fast and Accurate Polar Fourier Transform, Averbuch et. al. http://www.cs.tau.ac.il/~amir1/PS/Polar_Paper_New.pdf http://www.math.umn.edu/~focm/c_/Elad.pdf All the best, hope it helps, Stephan > Dear All, > > I would like to take the opportunity to ask another question regarding > Fourier operations. I would like to perform spatiotemporal image > correlation in the Fourier domain because of speed and memory > considerations. > If I understand correctly, convolution of two images (i.e. > correlation) in the spatial domain, equals mere multiplication of the > Fourier transformed images in the frequency domain. > However, when multiplying two FFT images, the resulting images is no > longer expressed in polar coordinates and therefore cannot be > transformed back by inverse FFT. I tried FD Math correlate, but this > operation requires two square images of fixed dimensions and I'm not > sure if enlarging the canvas size goes without consequences for the > correlation outcome. I have noticed that the latter operation appears > to give a similar resulting image whether one uses the original images > as input or the Fourier transformed. > Could anybody please share on how to do this the right way? > Many thanks in advance and best wishes, > > Winnok > > ps: the archives were unaccesible, so apologies if this is a duplicate > query. > |
Free forum by Nabble | Edit this page |