sddspeakfind

**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``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=`-- Specifies the name of the column to search for peaks.*columnName*`-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=`-- Specifies a minimum value that a peak value must exceed in order to be included in the output. By default, no threshold is applied.*value*`-exclusionZone=`-- Specifies elimination of smaller peaks within a given interval around a larger peak.*fractionalInterval**fractionalInterval*is the width of the interval in units of the length of the data table.`-changeThreshold=`-- 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*fractionalChange*`-fivePoints`is given, the nearest neighbors in question are those 2 rows above and below the peak.

**see also:**- sddsfft
`sddsfft`()sddsfft - sddssmooth
`sddssmooth`()sddssmooth - sddspeakfind
`sddspeakfind`()sddspeakfind

- sddsfft
**author:**M. Borland, ANL/APS.