- description:
sddspeakfind finds the locations and values of peaks in a single column of an SDDS file. It incorporates various features to help reject spurious peaks. The column is considered a function of the row index for the purpose of finding peaks. Hence, the data should be sorted if necessary using sddssort prior to using this program. I.e., if the data contains columns x and y, and one wants x values of peaks in y, then one should ensure that the rows are sorted into increasing or decreasing x order.

It may also be helpful to smooth the data using sddssmooth in order to eliminate spurious peaks due to noisy data.

- examples: Find peaks in a Fourier transform:
sddspeakfind data.fft data.peaks -column=FFTamplitude

Sort and smooth the data first:

sddssort data.fft -column=f,increasing -pipe=out

| sddssmooth -pipe -columns=FFTamplitude

| sddspeakfind -pipe=in data.peaks -column=FFTamplitude - synopsis:
sddspeakfind [-pipe=[input][,output]] [inputFile] [outputFile] -column=columnName [-fivePoints] [-threshold=value] [-exclusionZone=fractionalInterval] [-changeThreshold=fractionalChange]

- files: inputFile contains the data to be searched for peaks. outputFile contains all of the array and parameter data from inputFile, plus data from all rows that contain a peak in the named column. No new data elements are created. If inputFile contains multiple pages, each is treated separately and is delivered to a separate page of outputFile.
- switches:
- -pipe[=input][,output] — The standard SDDS Toolkit pipe option.
- -column=columnName — Specifies the name of the column to search for peaks.
- -fivePoints — Specifies peak analysis using five adjacent data points, rather than the default three. For three-point mode, a peak is any point which is larger than both of its two nearest neighbors. For five-point mode, the candidate point’s nearest neighbors must in turn be higher than their nearest neighbors on the side away from the candidate point.
- -threshold=value — Specifies a minimum value that a peak value must exceed in order to be included in the output. By default, no threshold is applied.
- -exclusionZone=fractionalInterval — Specifies elimination of smaller peaks within a given interval around a larger peak. fractionalInterval is the width of the interval in units of the length of the data table.
- -changeThreshold=fractionalChange — Specifies elimination of peaks for which the fractional change between the peak value and the nearest neighbor points is less than the given amount. If -fivePoints is given, the nearest neighbors in question are those 2 rows above and below the peak.

- see also:
- author: M. Borland, ANL/APS.