20

The following paper describes an application of the Teager-Kaiser energy operator to x-ray image enhancement:

Reinhard Bernstein, Michael S. Moore and Sanjit K. Mitra, "Adjustable Quadratic Filters for Image Enhancement" Proc. IEEE International Conference on Image Processing (ICIP), Santa Barbara, CA, vol. 1, pp. 287-290, Oct. 1997. http://vision.ece.ucsb.edu/publications/view_abstract.cgi?52

The authors develop intuition for the behavior of the filter through analogy with a similar linear operator (i.e. "Thus the output of a Teager filter is approximately equal to a highpass filter response weighted by the local mean."). For the sake of precision, by quadratic polynomial filters, I mean non-linear, non-recursive filters that can be completely characterized by a truncated Volterra Series, as follows (for the 1D case):

$$ y(n) = \sum_{m_1=0}^{N_1-1}{ h_1(m_1)x(n - m_1) } + \sum_{m_1=0}^{N_2-1}{\hphantom{.}\sum_{m_2=0}^{N_2-1}{ h_2(m_1,m_2)x(n - m_1)x(n - m_2) } } $$

It seems that most approaches to the design of low-order polynomial filters involve system identification frameworks, but without any deep understanding as to why the estimated filters work. Are analytic approaches based on linear analogies currently the state-of-the-art, or are there any known mathematical tools that can be used?

datageist
  • 4,897
  • 4
  • 32
  • 53
  • I have used the Teager-Kaiser energy operator before. I know that it is excellent for magnifying 'pulling out' short impulses from noisy data, (sort of the opposite of a median filter). It can also make pink noise white. For pure tones, its output is a constant, (the energy of the tone). – Spacey Apr 17 '12 at 18:07
  • @Mohammad Interesting. Just using it as an example for the question, but wasn't aware of the pink-to-white property. Thanks for that! – datageist Apr 17 '12 at 18:12
  • Here is my Matlab implementation if you want to play around with it. (http://dl.dropbox.com/u/4724281/TKEO.m) – Spacey Apr 17 '12 at 18:31
  • @datageist Have you ever managed to find an answer to this? Can you post it is you have? This is the highest voted unanswered question no less! = ) – Phonon Oct 27 '13 at 06:41
  • @Phonon I found kind of a partial answer at one point, but it wasn't very satisfying. I'll try to write it up soon(ish) though. – datageist Oct 27 '13 at 06:44
  • @datageist Awesome! – Phonon Oct 27 '13 at 06:44

1 Answers1

1

Not really an answer (hence this is community wiki), but I thought we should capture @Mohammad's code:

%Mohammad Z

%Teager-Kaiser Non-Linear Energy Operator. 
function [out] = TKEO(x)
    N = length(x);
    x = x(:).';
    temp = x(2:N-1).^2 - x(3:N).*x(1:N-2);
    out = [temp(1) temp temp(end)];    
end
Peter K.
  • 25,714
  • 9
  • 46
  • 91