ClassesClasses | | Operators

correlation_fftcorrelation_fftCorrelationFftCorrelationFft (Operator)

Name

correlation_fftcorrelation_fftCorrelationFftCorrelationFft — Compute the correlation of two images in the frequency domain.

Signature

correlation_fft(ImageFFT1, ImageFFT2 : ImageCorrelation : : )

Herror correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImageCorrelation)

Herror T_correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImageCorrelation)

void CorrelationFft(const HObject& ImageFFT1, const HObject& ImageFFT2, HObject* ImageCorrelation)

HImage HImage::CorrelationFft(const HImage& ImageFFT2) const

static void HOperatorSet.CorrelationFft(HObject imageFFT1, HObject imageFFT2, out HObject imageCorrelation)

HImage HImage.CorrelationFft(HImage imageFFT2)

Description

correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFft calculates the correlation of the Fourier-transformed input images in the frequency domain. The correlation is calculated by multiplying ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 with the complex conjugate of ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2. It should be noted that in order to achieve a correct scaling of the correlation in the spatial domain, the operators fft_genericfft_genericFftGenericFftGenericFftGeneric or rft_genericrft_genericRftGenericRftGenericRftGeneric with Norm = 'none'"none""none""none""none" must be used for the forward transform and fft_genericfft_genericFftGenericFftGenericFftGeneric or rft_genericrft_genericRftGenericRftGenericRftGeneric with Norm = 'n'"n""n""n""n" for the reverse transform. If ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 and ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 contain the same number of images, the corresponding images are correlated pairwise. Otherwise, ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 must contain only one single image. In this case, the correlation is performed for each image of ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 with ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 .

Attention

The filtering is always performed on the entire image, i.e., the domain of the image is ignored.

Execution Information

Parameters

ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (complex)

Fourier-transformed input image 1.

ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (complex)

Fourier-transformed input image 2.

Number of elements: ImageFFT2 == ImageFFT1 || ImageFFT2 == 1

ImageCorrelationImageCorrelationImageCorrelationImageCorrelationimageCorrelation (output_object)  image(-array) objectHImageHImageHobject * (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_fftCorrelationFftCorrelationFftCorrelationFft 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>). If necessary, an exception is raised.

Possible Predecessors

fft_genericfft_genericFftGenericFftGenericFftGeneric, fft_imagefft_imageFftImageFftImageFftImage, rft_genericrft_genericRftGenericRftGenericRftGeneric

Possible Successors

fft_genericfft_genericFftGenericFftGenericFftGeneric, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv, rft_genericrft_genericRftGenericRftGenericRftGeneric

Alternatives

phase_correlation_fftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFftPhaseCorrelationFft

Module

Foundation


ClassesClasses | | Operators