Hot answers tagged

7

A matlab implementation is in this answer: https://dsp.stackexchange.com/a/14201/5737 1) The wikipedia formula is a little bit too general. 2) If you know the basics of the with Fourier transform then you empirically know that: The image is viewed as being formed by superimposing a series of sinusoidal waves of various frequencies oriented in all kind of ...


7

The 1D gabor filter has the following form in the frequency domain: $$G_{b(\sigma,\omega_0)}(\omega) = \text{exp}\left(-\frac{\sigma^2}{2}(\omega - \omega_0)^2\right)$$ The 1D log-gabor filter is: $$G_{l(\sigma,\omega_0)}(\omega) = \text{exp}\left(-\frac{\ln^2(\omega/\omega_0)}{2\ln^2(\sigma)}\right)$$ Log-gabor filters are used because they have 0 DC ...


6

The fourier transform gives you very fine resolution in the frequency domain, but during the transformation, you loose all the information about when (for time signals) or where (for images) these frequencies occur in your input signal. The Gabor transform alleviates this problem by windowing the base functions of the fourier transform with a Gaussian ...


6

Simply speaking both the const-Q-transform and the Gabor-Morlet wavelet-transform are just continuous wavelet transforms. Or, more precisely, approximations thereof, as there will always be discretization issues in real applications. A property of wavelet transforms is that they have build in the constant Q-factor property, or in other words logarithmic ...


5

In short: If a filter have DC component it means that for a constant region of the image, the filter response will depend on the grey value of that region. Constant region with higher values ==> higher response. One usually wants higher responses only in case of edges/corners and not in the case of bright but constant regions. As a picture worth 1000 words,...


5

In discrete signal processing the frequency domain axis topology is surprisingly not a straight line, but a closed circle. Therefore the upper and lower edge of your image are really "identified", meaning they are connected and direct neighbors. The modulation you're seeing is the beating of the two interfering components coming closer. The window size has ...


5

This happens because your window is too short. I don't have access to a plotting tool right now, but imagine for a second a slowly varying sinusoid that you chop up into pieces, and these pieces are shorter than the period of your sinusoid. If you take the Fourier transform of each of these pieces, some of your chunks will capture more energy of this ...


4

To illustrate what both @Jazzmaniac and @Phonon are telling you, let's look at the same plot, but for different window lengths. Another change is to look at the plots using the fftshift view --- so that it's clearer that the low positive frequency peaks are close to the low negative frequency peaks. The picture below plots the contour plot of the data you ...


4

I would like to add some notes to @visoft's answer. Log-gabor filter is a very good one alternative to gabor filter has no DC component. Yet in ordinary gabor filter it is also possible to remove the DC component. See the Matlab code below: function [GABOUT1,GABOUT2]=gaborfilter(I,S,F,W,P) if isa(I,'double')~=1 I=double(I); end size=fix(1.5/S); % exp(-...


3

Each pixel of the filter has a magnitude (intensity). The square function equivalently calculate the power density of the pixel. The normalization is to scale the filter power to 1. That's where I^2 at the denominator comes from.


3

You know what I actually found really useful, Gabor's original paper, "Theory of Communication": http://redwood.berkeley.edu/w/images/b/b6/Gabor.pdf Of particular interest is how Gabor used banks of reeds, tuned to different frequencies, to visualise his filters. For me this led to a good conceptual understanding, especially of the uncertainty principle, ...


2

gabor filter formed a sine/cosine wave with a gaussian, where the center of frequency of the filter is specified by the frequency of sine-cosine and the band width of the filter is specified by the width of the gaussian (valid perfectly inside a certain range and outside it, attenuates the frequency). In other words, more than one gabor filter to cover the ...


2

I'm going to use a grayscale image for simplicity. Suppose you have a 3D matrix and each slice is the result of filtering the image with the Gabor filter for that angle. I = randn(256, 256); % Just some random image G = gabor_filter; % Assume G is 256x256xNum_Angles, e.g. 256x256x6 if you had 6 angles Y = zeros(256, 256, size(G, 3)); % Preallocate a ...


2

You're probably way out of your league if you have these problems, and just getting code won't help you with your project. your teacher will spot rather quickly that you didn't write it. To start, you should read up on wavelet transforms in general. Gabor wavelets are just a specific kind. You'll learn that wavelet transforms work on signals. That means ...


2

Log-gabor are filters defined similarly as gabor filters in the sense that their envelope consist in a Gaussian in Fourier space. This is advantageous because this makes them optimal with respect to the compromise between localization (in space) and detection (of the mean frequency). The difference is that log-gabor (as their name implies) are defined in ...


2

The following is my implementation, of the above problem : In my_gabor_filter.m, I have the following code : function psi = my_gabor_filter(x,y,mu,nu,sigma) phi = pi*mu/8; f = sqrt(2); k_max = pi/2; k_nu = k_max/(f^nu); % This is the wave vector k_vec = [k_nu*cos(phi),k_nu*sin(phi)]'; z_vec = [x,y]'; k_vec_norm = norm(...


2

The real part of the complex Gabor function is symmetric. This means it will give a large response at the centre of symmetric features such as lines. The imaginary part of the complex Gabor function is anti-symmetric. This means it will give a large response at the centre of anti-symmetric features such as edges. The real and imaginary parts are sort of ...


1

from the POV of sinusoidal modeling or identifying sinusoids, two very good basic reasons why a Gaussian window is good are: The Fourier Transform of a Gaussian is a Gaussian. (and Gaussians have essentially no side lobes.) $$ \mathscr{F} \{ e^{-\pi t^2} \} = e^{-\pi f^2} $$ The Gaussian function is just like the linearly-swept chirp, except for an ...


1

Using a Gaussian window has one advantage over all other windows-- it yields the most compact time-frequency view of the spectrum. In other words, the product of the uncertainty in the time and frequency domains is minimized. This is due to the uncertainty principle of the Fourier transform. Incidentally, in physics this property of the Fourier transform ...


1

Time/frequency uncertainty is a property of the meanings or definitions attached to the terms "time" localization and "frequency" estimation. It also alludes to some apriori knowledge, or lack of it, about the characteristics of the signal in question.


1

May I suggest an illustrative example which should guide you in the beginning ? As noted you can't obtain any results using the given DNA sequence as it is. Instead you should transform it and what more natural than assigning integer values to each nucleobase ? data = {A, C, G, T, A, C, G, T, A, C, C, C, C, A, G, G, G, A, T, T, T} /. {A -> 1, ...


1

Normally, ,,normalization'' means to make the L2 norm (sum of squares) of a signal $1$. This is usually achieved by calculating the inverse of the sum of squares and multiplying by it.


1

The final code will be: for i = -filtSizeL:filtSizeR for j = -filtSizeL:filtSizeR if ( sqrt(i^2+j^2)>filtSize/2 ) E = 0; else x = i*cos(theta) - j*sin(theta); y = i*sin(theta) + j*cos(theta); %fx = exp(-(i^2)/(2*sigmaq))*exp(sqrt(...


1

I won't recommend you apply SVD in your Gabor filter, since it does not bring much benefit but increase the computing load. If you implement SVD, you may not separate the filter at first, instead the SVD is performed on the 2D Gabor filter: for i = -filtSizeL:filtSizeR for j = -filtSizeL:filtSizeR ...


1

Look on wikipedia. https://en.wikipedia.org/wiki/Gabor_filter The $\theta$ controls the orientation.


1

The Gabor wavelet is (almost) the same as the Morlet wavelet (some authors distinguish these two by an additional constant to fulfill the wavelet's admissibility condition). And yes, it is the same function as in the Gabor transform (gaussian windowed oscillation). The application of phase coherence should be independent of the underlying wavelet and the ...


1

This is a book that I would recommend as a starting point: Richard Szeliski: Computer Vision: Algorithms and Applications


1

No window will give you zero processing (coherent) gain. Check out the table in fred harris's paper. The table says there is a processing gain of $0.37$ to $0.51$ depending on your $\alpha$ parameter:


1

Both equations are related by Euler's formula: http://en.wikipedia.org/wiki/Euler%27s_formula They are mathematically equivalent, it's well explained on the Wikipedia page. In a practical point of view, $\cos(x)+i\sin(x)$ allows for easy separation of real and imaginary. On the other hand, $\exp(ix)$ makes it easier to deal with Gaussian since $\exp(x)\cdot\...


Only top voted, non community-wiki answers of a minimum length are eligible