correlation_fftcorrelation_fftCorrelationFftCorrelationFftcorrelation_fft (Operator)
Name
correlation_fftcorrelation_fftCorrelationFftCorrelationFftcorrelation_fft
— Compute the correlation of two images in the frequency domain.
Signature
Description
correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFftcorrelation_fft
calculates the correlation of the
Fourier-transformed input images in the frequency domain. The correlation
is calculated by multiplying ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1
with the complex
conjugate of ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2
. It should be noted that in order
to achieve a correct scaling of the correlation in the spatial
domain, the operators fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic
or rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
with
NormNormNormNormnormnorm
= 'none'"none""none""none""none""none" must be used for the forward
transform and fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic
or rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
with
NormNormNormNormnormnorm
= 'n'"n""n""n""n""n" for the reverse transform.
If ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1
and ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2
contain the same number
of images, the
corresponding images are correlated pairwise. Otherwise,
ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2
must contain only one single image. In this case, the
correlation is performed for each image of ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1
with
ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2
.
Attention
The filtering is always performed on the entire image, i.e., the domain
of the image is ignored.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
- Automatically parallelized on channel level.
Parameters
ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1
(input_object) (multichannel-)image(-array) →
objectHImageHObjectHImageHobject (complex)
Fourier-transformed input image 1.
ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2
(input_object) (multichannel-)image(-array) →
objectHImageHObjectHImageHobject (complex)
Fourier-transformed input image 2.
Number of elements: ImageFFT2 == ImageFFT1 || ImageFFT2 == 1
ImageCorrelationImageCorrelationImageCorrelationImageCorrelationimageCorrelationimage_correlation
(output_object) image(-array) →
objectHImageHObjectHImageHobject * (complex)
Correlation of the input images in the frequency
domain.
Example (HDevelop)
* 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)
Result
correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFftcorrelation_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>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)
.
If necessary, an exception is raised.
Possible Predecessors
fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic
,
fft_imagefft_imageFftImageFftImageFftImagefft_image
,
rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
Possible Successors
fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic
,
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv
,
rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
Alternatives
phase_correlation_fftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFftPhaseCorrelationFftphase_correlation_fft
Module
Foundation