convol_gaborconvol_gaborConvolGaborConvolGaborconvol_gabor (Operator)

Name

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

Signature

convol_gabor(ImageFFT, GaborFilter : ImageResultGabor, ImageResultHilbert : : )

Herror convol_gabor(const Hobject ImageFFT, const Hobject GaborFilter, Hobject* ImageResultGabor, Hobject* ImageResultHilbert)

Herror T_convol_gabor(const Hobject ImageFFT, const Hobject GaborFilter, Hobject* ImageResultGabor, Hobject* ImageResultHilbert)

void ConvolGabor(const HObject& ImageFFT, const HObject& GaborFilter, HObject* ImageResultGabor, HObject* ImageResultHilbert)

HImage HImage::ConvolGabor(const HImage& GaborFilter, HImage* ImageResultHilbert) const

static void HOperatorSet.ConvolGabor(HObject imageFFT, HObject gaborFilter, out HObject imageResultGabor, out HObject imageResultHilbert)

HImage HImage.ConvolGabor(HImage gaborFilter, out HImage imageResultHilbert)

def convol_gabor(image_fft: HObject, gabor_filter: HObject) -> Tuple[HObject, HObject]

Description

convol_gaborconvol_gaborConvolGaborConvolGaborconvol_gabor convolves a Fourier-transformed image with a Gabor filter GaborFilterGaborFilterGaborFiltergaborFiltergabor_filter (see gen_gaborgen_gaborGenGaborGenGaborgen_gabor) and its Hilbert transform in the frequency domain. The result image is of type 'complex'"complex""complex""complex""complex".

Attention

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

Execution Information

Parameters

ImageFFTImageFFTImageFFTimageFFTimage_fft (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (complex)

Input image.

GaborFilterGaborFilterGaborFiltergaborFiltergabor_filter (input_object)  multichannel-image objectHImageHObjectHObjectHobject (real)

Gabor/Hilbert-Filter.

ImageResultGaborImageResultGaborImageResultGaborimageResultGaborimage_result_gabor (output_object)  image(-array) objectHImageHObjectHObjectHobject * (complex)

Result of the Gabor filter.

ImageResultHilbertImageResultHilbertImageResultHilbertimageResultHilbertimage_result_hilbert (output_object)  image(-array) objectHImageHObjectHObjectHobject * (complex)

Result of the Hilbert filter.

Example (HDevelop)

gen_gabor(Filter,1.4,0.4,1.0,1.5,'n','dc_edge',512,512)
fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex')
convol_gabor(ImageFFT,Filter,Gabor,Hilbert)
fft_generic(Gabor,GaborInv,'from_freq',1,'none','dc_edge','byte')
fft_generic(Hilbert,HilbertInv,'from_freq',1,'none','dc_edge','byte')
energy_gabor(GaborInv,HilbertInv,Energy)

Result

convol_gaborconvol_gaborConvolGaborConvolGaborconvol_gabor returns 2 ( H_MSG_TRUE) if all images are of correct type. 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>)set_system("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

fft_imagefft_imageFftImageFftImagefft_image, fft_genericfft_genericFftGenericFftGenericfft_generic, gen_gaborgen_gaborGenGaborGenGaborgen_gabor

Possible Successors

power_bytepower_bytePowerBytePowerBytepower_byte, power_realpower_realPowerRealPowerRealpower_real, power_lnpower_lnPowerLnPowerLnpower_ln, fft_image_invfft_image_invFftImageInvFftImageInvfft_image_inv, fft_genericfft_genericFftGenericFftGenericfft_generic

Alternatives

convol_fftconvol_fftConvolFftConvolFftconvol_fft

See also

convol_imageconvol_imageConvolImageConvolImageconvol_image

Module

Foundation