SUMEDIAN - MEDIAN filter about a user-defined polygonal curve with the distance along the curve specified by key header word sumedian stdout xshift= tshift= [optional parameters] Required parameters: xshift= array of position values as specified by the `key' parameter tshift= array of corresponding time values (sec) ... or input via files: nshift= number of x,t values defining median times xfile= file containing position values as specified by the `key' parameter tfile= file containing corresponding time values (sec) Optional parameters: key=tracl Key header word specifying trace number =offset use trace offset instead mix=.6,1,1,1,.6 array of weights for mix (weighted moving average) verbose=0 verbose = 1 echoes information tmpdir= if non-empty, use the value as a directory path prefix for storing temporary files; else if the the CWP_TMPDIR environment variable is set use its value for the path; else use tmpfile() Notes: Median filtering is a process for suppressing a particular moveout on seismic sections. Median filtering has an advantage over traditional dip filtering in that events with an arbitrary moveout may be suppressed The process consists of 3 steps. In the first step, a copy of the data panel is shifted so that the polygon in x,t specifying moveout is flattened to horizontal. (The x,t pairs are specified either by the vector xshift,tshift or by the values in the datafiles xfile,tfile.) The second step in the process is to perform a mix (weighted moving average) over the shifted panel to emphasize events with the specified moveout and destroy events with other moveouts . The panel is then shifted back to its original moveout and is then subtracted from the original data, eliminating all events with the user-specified moveout. The values of tshift are linearly interpolated for traces falling between given xshift values. The tshift interpolant is extrapolated to the left by the smallest time sample on the trace and to the right by the last value given in the tshift array. The files tfile and xfile are files of binary (C-style) floats. The number of values defined by mix=val1,val2,... determines the number of traces to be averaged, the values determine the weights. Caveat: The median filter may perform poorly on the edges of a section. Choosing larger beginning and ending mix values may help, but may also but may also introduce additional artifacts. Credits: CWP: John Stockwell, based in part on sumute, sureduce, sumix Trace header fields accessed: ns, dt, delrt, key=keyword