These are the native ikp functions (as opposed to the custom functions like the USP programs. Basically any UNIX or USP program can be run inside Source, Sink, or Filter.
Source: this runs any UNIX or USP process that generates a data stream. Examples are "ps -aef" or the USP "xcram -r"
Left click on the "Source" label in the popup and an "angle iron" will appear denoting the location of the upper left corner of the source process box. Left clicking in the draw area will "place" the process box. A source has two outputs: the solid outgoing arrow for the standard output (data stream), and a dashed arrow for the standard error (stderr). Then left click the interior of the box and the following menu panel will appear:
In this case the "Command" run is an xcram -r which will read data from a tape device and send the output to the "Source" box output (stdout). We will discuss these popup menu panel entries later in the section on process menus.
Sink: this runs any UNIX or USP process that consumes a data stream.
Selecting "Sink" from the popup again will produce an "angle iron" and left clicking in the draw area places the Sink box:
the Sink process has one input - the solid ingoing arrow for the data stream (stdin) and again one output - the dashed arrow for stderr (error messages: all process boxes will have this dashed stderr output). Left clicking in the interior of the Sink process box will produce:
The "Command" example shown here is another xcram, this time reading data from the upstream flow and writing to a tape device.
Filter: this runs any UNIX or USP process that reads a data stream, does something to it, and writes the modified data steam. Going through the select and draw procedure puts the box in the draw area:
The filter process box has an input (solid ingoing arrow) for the data stream - stdin - and an output (solid outgoing arrow) for the data stream - stdout. Again the dashed arrow is stderr. Left clicking in the interior of the box produces:
The "command" example shown here is a USP process that does time domain filtering of seismic traces: the program name - filt - followed by its command line arguments, a low cut frequency of 5Hz and a high cut of 50Hz.
Tee: this is a special native ikp process that reads a data stream, splits it into two identical streams, and send those streams to two outputs.
Connector 0 (ingoing solid arrow) reads the data stream. The identical flows are sent to output connectors 3 and 4. The popup menu for tee:
is its own command so there is no entry for "Command". However there are system resources used to do this operation the main one being buffering for the output. This is either done in memory or on disk. If done on disk then a file directory must be supplied. Generally, for seismic data tee is not very efficient and special USP processes under "Library List" "Trace Editing" called Y, merge, splitr, gather should be used.
Custom: this is another special native ikp process that allows a user to build a custom i/o box to supply data connections to some unique custom program. This is rarely used so we'll defer boring explanations.
Script: this is basically just like a filter except the input and outputs are arranged on the top and bottom of the process box.
Left clicking inside this box results in a menu panel:
Just like for the Filter process the Command entry is the name of a script. It either must have the full path or be included in your paths. To be absolutely sure we recommend including the full path when naming script commands. Also make sure the script is marked as executable and readable by the world.