I have a huge data file which I can't ListPlot.
This code generates similar kind of data:
datatest =RandomSample[Join[RandomReal[{0.5, 15}, 20], RandomReal[.1, 10000]]];
datatest2 = 5 + Riffle[datatest, -datatest];
I want to filter (delete) the part of the data that is not necessary as follows:
peaks = FindPeaks[datatest2, 0, 0, 5.2];
ListPlot[datatest2, PlotRange -> All, Joined -> True,
Epilog -> {Red, PointSize[0.01], Point[peaks]}]
Currently I am using some kind of long way to do the task.
Is there any signal processing functionality in MMA that can do this easily?
Thank you


FindPeaksexactly what you're looking for? – yohbs Feb 01 '15 at 22:32FindPeaks[]is the best way to do this. If it is taking too long, splitdatatest2into $k$ equal portions (e.g., $k=8$ or $16$) and thenParallelize[]yourFindPeaks[]operation. – David G. Stork Feb 01 '15 at 22:42