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_gaborConvolGaborConvolGaborConvolGaborconvol_gabor convolves a Fourier-transformed image with a Gabor filter GaborFilterGaborFilterGaborFilterGaborFiltergaborFiltergabor_filter (see gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor) and its Hilbert transform in the frequency domain. The result image is of type 'complex'"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

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

Input image.

GaborFilterGaborFilterGaborFilterGaborFiltergaborFiltergabor_filter (input_object)  multichannel-image objectHImageHObjectHImageHobject (real)

Gabor/Hilbert-Filter.

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

Result of the Gabor filter.

ImageResultHilbertImageResultHilbertImageResultHilbertImageResultHilbertimageResultHilbertimage_result_hilbert (output_object)  image(-array) objectHImageHObjectHImageHobject * (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_gaborConvolGaborConvolGaborConvolGaborconvol_gabor returns 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>)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, gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor

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

Alternatives

convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft

See also

convol_imageconvol_imageConvolImageConvolImageConvolImageconvol_image

Module

Foundation