python: bandpass filter of an image python: bandpass filter of an image numpy numpy

python: bandpass filter of an image


So, one problem here is that your background sinusoid has a period not terribly different from the signal components you are trying to preserve. i.e., the spacing of the signal peaks is about the same as the period of the background. This is going to make filtering difficult.

My first question is whether this background is truly constant from experiment to experiment, or does it depend on the sample and experimental setup? If it is constant, then background frame subtraction would work better than filtering.

Most of the standard scipy.signal filter functions (bessel, chebychev, etc.) are, as you say, designed for 1-D data. But you can easily extend them to isotropic filtering in 2-D. Each filter in frequency space is a rational function of f. The two representations are [a,b] which are the coefficiets of the numerator and denominator polynomial, or [z,p,k] which is the factored representation of the polynomial i.e.,: H(f) = k(f-z0)*(f-z1)/(f-p0)*(f-p1) You can just take the polynomial from one of the filter design algorithms, evaluate it as a function of sqrt(x^2+y^2) and apply it to your frequency domain data.

Can you post a link to the original image data?