Skip to content

convol_gaborConvolGaborConvolGaborconvol_gaborconvol_gabor🔗

Short description🔗

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

Signature🔗

convol_gabor( image ImageFFT, image GaborFilter, out image ImageResultGabor, out image ImageResultHilbert )void ConvolGabor( const HObject& ImageFFT, const HObject& GaborFilter, HObject* ImageResultGabor, HObject* ImageResultHilbert )static void HOperatorSet.ConvolGabor( HObject imageFFT, HObject gaborFilter, out HObject imageResultGabor, out HObject imageResultHilbert )def convol_gabor( image_fft: HObject, gabor_filter: HObject ) -> Tuple[HObject, HObject]

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 )

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

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

Description🔗

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

Attention🔗

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

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

Parameters🔗

ImageFFTimageFFTimage_fft (input_object) (multichannel-)image(-array) → object (complex)HObject (complex)HImage (complex)HObject (complex)Hobject (complex)

Input image.

GaborFiltergaborFiltergabor_filter (input_object) multichannel-image → object (real)HObject (real)HImage (real)HObject (real)Hobject (real)

Gabor/Hilbert-Filter.

ImageResultGaborimageResultGaborimage_result_gabor (output_object) image(-array) → object (complex)HObject (complex)HImage (complex)HObject (complex)Hobject * (complex)

Result of the Gabor filter.

ImageResultHilbertimageResultHilbertimage_result_hilbert (output_object) image(-array) → object (complex)HObject (complex)HImage (complex)HObject (complex)Hobject * (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_gaborConvolGabor 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>:). If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

fft_imageFftImage, fft_genericFftGeneric, gen_gaborGenGabor

Possible successors

power_bytePowerByte, power_realPowerReal, power_lnPowerLn, fft_image_invFftImageInv, fft_genericFftGeneric

Alternatives

convol_fftConvolFft

See also

convol_imageConvolImage

Module🔗

Foundation