Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.
|
|
|
|
Re: peak detection and analysis
Posted:
Mar 10, 2011 10:59 AM
|
|
Hi, Can you please guide me on how to design a FIR filter for peak detection in a set of images and plotting it out. (MATLAB) It would be of a greater help. My input pictures with Laser stripe https://picasaweb.google.com/lh/sredir?uname=v.navaneethakannan&target=ALBUM&id=5579922441378566865&authkey=Gv1sRgCNCYsYik8c7obQ&feat=email
Kindly help me out. Thanks, VJ
"Miroslav Balda" <miroslav.nospam@balda.cz> wrote in message <fegpag$eg8$1@fred.mathworks.com>... > Paul <gtrpaul@gmail.com> wrote in message > <1191956217.659229.117090@g4g2000hsf.googlegroups.com>... > > On Oct 5, 5:22 pm, "Paul Mennen" <nos...@mennen.org> wrote: > > > Paul <gtrp...@gmail.com> wrote in message > > > > Megan, > > > > this is a simple function for a single vector peak > > > > analysis. It outputs the index (position) into the > > > > array of the location of all local minima or maxima. > > > > > > You have to be careful with a function that simple > > > especially if your data has limited precision. For > > > example suppose your data looks like: > > > > > > d = [4 5 6 8 8 7 5 2 1]; > > > > > > You would hope to find a local max somewhere, yet > > > your function says that there are none. If your data > > > has lots of bits, you probably don't have to worry > > > about this. > > > > > > I've written some a complicated functions that > > > attempts to deal with this and other similar situations. > > > I'll share it you want it, however I just had a thought > > > of another method. How about low pass filtering the > > > data slightly. Maybe an FIR filter such as: > > > [1.0 0.99999]. The slight asymmetry is to deal with > > > an input such as [4 5 6 8 8 6 3 1]. > > > > > > ~Paul Mennen > > > > Good point, Paul...I make a fundamental assumption that > neighboring > > values will treat the first as the peak/trough. In seismic > data (what > > I used this on), this is rarely an issue, but something to > watch out > > for. > > There are several functions in file exchange which might > help you to solve the issue. I have build the function extr > which is in FEX under Id 10272. Position of extremes is > determined by logical array, say L, provided a call is made as > L=extr(x); > xmax=x(L{1}); % all maxima > xmin=x(L{2}); % all minima > dTmax=diff{xmax); % number of sampling periods > % between positive extrems > dTmin=diff(xmin); % ditto for negative extrems > > I hope that it helps. > Mira > > >
|
|
|
|