next up previous contents
Next: Time gating Up: SUWIND - window traces Previous: SUWIND - window traces   Contents

Windowing by trace header field

In its simplist usage, ``suwind'' permits the user to set min and max values of a specific header field
       key=tracl       Key header word to window on (see segy.h)       
       min=LONG_MIN    min value of key header word to pass            
       max=LONG_MAX    max value of key header word to pass

For example, windowing suplane data by trace number yields

% suplane  | suwind key=tracl  min=5 max=10 | sugethw key=tracl | more

 tracl=5

 tracl=6

 tracl=7

 tracl=8

 tracl=9

 tracl=10
On a large dataset, the ``count'' parameter should be used, instead of setting the max value. If you set an explicit ``max'' value, suwind will have to go through the entire dataset to capture all possible traces with values between the min and max value, because the program assumes that multiple occurrences of trace labeling are possible. For example, compare
% suplane ntr=100000 | suwind key=tracl min=5 max=10 | sugethw tracl | more
(it's ok to type ``control-c'' after a few minutes) with
%suplane ntr=100000 | suwind key=tracl min=5 count=5 | sugethw tracl | more                                                               
where suplane has been set to create 100000 traces in each case.

More sophisticated windowing, (decimating data, for example)

       j=1             Pass every j-th trace ...                       
       s=0             ... based at s  (if ((key - s)%j) == 0)         
can be illustrated with suplane data by showing every 2nd trace
% suplane  | suwind key=tracl j=2 | sugethw key=tracl | more

 tracl=2

 tracl=4

 tracl=6

 tracl=8

 tracl=10
...
or by every 2nd trace, based at 1
% suplane  | suwind key=tracl j=2 s=1 | sugethw key=tracl | more

 tracl=1

 tracl=3

 tracl=5

 tracl=7

 tracl=9         

...

Accepting and rejecting traces is also possible with ``suwind.''

...
       reject=none     Skip traces with specified key values           
...    accept=none     Pass traces with specified key values(see notes)
The reject parameter is a straightforward rejecting of numbered traces. For example
suplane | suwind key=tracl reject=3,8,9 | sugethw key=tracl | more
 tracl=1

 tracl=2

 tracl=4

 tracl=5

 tracl=6

 tracl=7

 tracl=10

 tracl=11

 tracl=12
traces 3, 8, and 9 are rejected.

The accept option is a bit strange-it does not mean accept only the traces on the accept list! It means accept these traces, even if they would otherwise be rejected. For example:

suplane | suwind key=tracl reject=3,8,9 accept=8 | sugethw key=tracl
| more
 tracl=1

 tracl=2

 tracl=4

 tracl=5

 tracl=6

 tracl=7

 tracl=8

 tracl=10

 tracl=11   
....

If you want to accept only the traces listed, then you need to set ``max=0''

% suplane | suwind key=tracl accept=8 max=0 | sugethw key=tracl | more
 tracl=8
Only trace 8 is passed in this example.

The count parameter overrides the accept parameter, so you can't specify count if you want true unconditional acceptance.

See the demos in $CWPROOT/src/demos/Selecting_Traces for specific examples.


next up previous contents
Next: Time gating Up: SUWIND - window traces Previous: SUWIND - window traces   Contents
John Stockwell 2007-04-10