convol_fftconvol_fftConvolFftConvolFftconvol_fft (Operator)

Name

convol_fftconvol_fftConvolFftConvolFftconvol_fft — Convolve an image with a filter in the frequency domain.

Signature

convol_fft(ImageFFT, ImageFilter : ImageConvol : : )

Herror convol_fft(const Hobject ImageFFT, const Hobject ImageFilter, Hobject* ImageConvol)

Herror T_convol_fft(const Hobject ImageFFT, const Hobject ImageFilter, Hobject* ImageConvol)

void ConvolFft(const HObject& ImageFFT, const HObject& ImageFilter, HObject* ImageConvol)

HImage HImage::ConvolFft(const HImage& ImageFilter) const

static void HOperatorSet.ConvolFft(HObject imageFFT, HObject imageFilter, out HObject imageConvol)

HImage HImage.ConvolFft(HImage imageFilter)

def convol_fft(image_fft: HObject, image_filter: HObject) -> HObject

Description

convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft convolves two (Fourier-transformed) images in the frequency domain, i.e., the pixels of the complex image ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft are multiplied by the corresponding pixels of the filter ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter.

Attention

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

Execution Information

Parameters

ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (complex)

Complex input image.

ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter (input_object)  (multichannel-)image objectHImageHObjectHImageHobject (real / complex)

Filter in frequency domain.

ImageConvolImageConvolImageConvolImageConvolimageConvolimage_convol (output_object)  image(-array) objectHImageHObjectHImageHobject * (complex)

Result of applying the filter.

Example (HDevelop)

gen_highpass(Highpass,0.2,'n','dc_edge',Width,Height)
fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex')
convol_fft(ImageFFT,Highpass,ImageConvol)
fft_generic(ImageConvol,ImageResult,'from_freq',1,'none','dc_edge','byte')

Result

convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_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_imagefft_imageFftImageFftImageFftImagefft_image, fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic, rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic, gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass, gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfiltergen_bandfilter

Possible Successors

power_bytepower_bytePowerBytePowerBytePowerBytepower_byte, power_realpower_realPowerRealPowerRealPowerRealpower_real, power_lnpower_lnPowerLnPowerLnPowerLnpower_ln, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv, fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic, rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic

Alternatives

convol_gaborconvol_gaborConvolGaborConvolGaborConvolGaborconvol_gabor

See also

gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor, gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass, convol_gaborconvol_gaborConvolGaborConvolGaborConvolGaborconvol_gabor, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv

Module

Foundation