correlation_fft
— Multiply one image with the complex conjugate of another image in the
frequency domain.
correlation_fft(ImageFFT1, ImageFFT2 : ImageCorrelation : : )
As part of calculating the correlation between two images,
correlation_fft
multiplies the Fourier transform of the first image
ImageFFT1
with the complex conjugate of the Fourier-transformed
second image ImageFFT2
.
According to the correlation theorem, the non-normalized correlation of two images in pixel space can be obtained in three steps:
Transforming the images into frequency space using a
Fourier transform (see, e.g., fft_generic
).
Multiplying one transformed image with the complex conjugate of the other transformed image (pixel-wise).
Transforming the result back into pixel space using an
inverse Fourier transform (see, e.g., fft_generic
).
The operator correlation_fft
is used to perform the second step,
i.e., ImageFFT1
is pixel-wise multiplied with the complex
conjugate of ImageFFT2
.
It should be noted that in order to achieve a correct scaling of the
correlation in the spatial domain, the operators
fft_generic
or rft_generic
with
Norm
= 'none' must be used for the forward
transform (step 1) and fft_generic
or rft_generic
with
Norm
= 'n' for the reverse transform (step 3).
If ImageFFT1
and ImageFFT2
contain the same number
of images, the corresponding images are multiplied pairwise.
Otherwise, ImageFFT2
must contain only one single image.
In this case, the multiplication is performed for each image of
ImageFFT1
with ImageFFT2
.
The filtering is always performed on the entire image, i.e., the domain of the image is ignored.
ImageFFT1
(input_object) (multichannel-)image(-array) →
object (complex)
Fourier-transformed input image 1.
ImageFFT2
(input_object) (multichannel-)image(-array) →
object (complex)
Fourier-transformed input image 2.
Number of elements: ImageFFT2 == ImageFFT1 || ImageFFT2 == 1
ImageCorrelation
(output_object) image(-array) →
object (complex)
Result in the frequency domain.
* Compute the auto-correlation of an image. get_image_size(Image,Width,Height) rft_generic(Image,ImageFFT,'to_freq','none','complex',Width) correlation_fft(ImageFFT,ImageFFT,Correlation) rft_generic(Correlation,AutoCorrelation,'from_freq','n','real',Width)
correlation_fft
returns 2 (
H_MSG_TRUE)
if all parameters are correct.
If the input is empty the behavior can be set via
set_system(::'no_object_result',<Result>:)
.
If necessary, an exception is raised.
fft_generic
,
fft_image
,
rft_generic
fft_generic
,
fft_image_inv
,
rft_generic
Foundation