3.5. SETTING, EDITING, AND VIEWING TRACE HEADER FIELDS
39
The rest of the information (shot location, geophone location, etc...) will be supplied in the
form of observers’ logs.
For setting geometry, you may wish to dump a specific collection of header fields of interest
into a file, read the file into a text editor or spreadsheet program so that you can make changes.
For example, if you have some file “sudata” which has some header fields set incorrectly or
incompletely then the following command sequence illustrates a possible way of working with
such data. You begin by reading the selected header fields into a file “hdrfile”.
% sugethw < sudata output=geom key=key1,key2,... > hdrfile
Now edit the ASCII file hdrfile with any editor, setting the fields appropriately. Convert hdrfile
to a binary format via:
% a2b < hdrfile n1=nfields > binary_file
were “nfields” is the number of header fields in the “key=..” list above. Then load the new file
of header fields via:
% sushw < sudata infile=binary_file key=key1,key2,... > sudata.edited
Again, “key=key1,key2,...” here is the same list as in the sugethw statement above. The
finished product is the file sudata.edited.
If you are just beginning to set the header fields, you may build the ASCII header file
“hdrfile” any way you want. This could be with your favorite text editor, or with a spreadsheet
program. It is not important how the ascii file is created, as long as it is in multi-column ASCII
format for the sequence above.
Of course, if you have the header values in a file consisting of C-style floats, (which you can
make either from a C-program, or from Fortran data with ftnstrip) listed trace-by-trace, then
you already have the “binary
file” and need only execute the final sequence.
3.5.8 SUCHW - Change (or Compute) Header Words in SU Data
Some header fields such as “cdp” may be computed from existing header fields. The program
suchw provides this functionality.
From the selfdoc of suchw,
...
key1=cdp,... output key(s)
key2=cdp,... input key(s)
key3=cdp,... input key(s)
...
a=0,... overall shift(s)
b=1,... scale(s) on first input key(s)
c=0,... scale on second input key(s)
d=1,... overall scale(s)
we can see that this program uses the values of 2 header fields, key2 and key3, to compute a
third, key3, via the equation
...
val(key1) = (a + b * val(key2) + c * val(key3)) / d
..
Copy pages from pdf to another pdf - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete pages from pdf online; delete pages out of a pdf
Copy pages from pdf to another pdf - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
delete pages in pdf online; delete pages pdf preview
40
CHAPTER 3. CORE SEISMIC UNIX PROGRAMS
For example, to shift the values of the cdp header field by a constant amount, say −1
% suchw <data >outdata a=-1
or to add a constant amount, say 1000, to a header field, say “tracr,”
% suchw key1=tracr key2=tracr a=1000 <infile >outfile
Another possible example is that of setting the “gx” field by summing the offset and “sx”
(shot point) values using sushw and then computing the “cdp” field by averaging the “sx”
and “gx.” Here, we are using the actual cpp locations as the cdp numbers, instead of the
conventional 1, 2, 3, ... enumeration
% suchw <indata key1=gx key2=offset key3=sx b=1 c=1 |
% suchw key1=cdp key2=gx key3=sx b=1 c=1 d=2 >outdata
It is possible to perform both operations in one call via:
% suchw<indata key1=gx,cdp key2=offset,gx key3=sx,sx b=1,1 c=1,1 d=1,2 >outdata
3.5.9 SUEDIT and SUXEDIT - Edit the Header Words in SU Data
Finally, it may be that you wish to examine, and possibly change just few headers. For this
purpose, we have suedit and suxedit. the SU editing programs are executed via:
% suedit diskfile (open for possible header modification if writable)
% suedit <diskfile (open read only)
and permit the interactive viewing and editing of the header fields.
For example, making test data with suplane
% suplane > data.su
% suedit data.su
yields the following
32 traces in input file
tracl=32 tracr=32 offset=400 ns=64 dt=4000
>
<------- prompt for interactive use
The commands that may be used interactively in suedit and suxedit may be seen by
typing a question mark (?) at the prompt. For example
32 traces in input file
tracl=32 tracr=32 offset=400 ns=64 dt=4000
> ?
n
read in trace #n
<CR>
step
+
next trace;
step -> +1
-
prev trace;
step -> -1
dN
adv N traces; step -> N
%
percentiles
r
ranks
p [n1 [n2]]
tabplot
! key=val
modify field
?
print this file
q
quit
>
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
PDF Pages Using C#.NET. C# programming example below will show you how to copy pages from a PDF file and paste into another one.
delete pages of pdf online; delete page in pdf preview
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET: Copy and Paste PDF Pages. VB.NET programming example below will show you how to copy pages from a PDF file and paste into another one.
delete pages from a pdf in preview; delete page in pdf document
3.5. SETTING, EDITING, AND VIEWING TRACE HEADER FIELDS
41
This program allows the user to view traces as a tabplot of the data sample values or view or
change individual header values
The program suxedit is similar to suedit, with the addition of X-windows graphics for
plotting traces
% suxedit diskfile (open for possible header modification if writable)
% suxedit <diskfile (open read only)
% suxedit data.su
32 traces in input file
tracl=32 tracr=32 offset=400 delrt=5 ns=64 dt=4000
> ?
n
read in trace #n
<CR>
step
+
next trace;
step -> +1
-
prev trace;
step -> -1
dN
adv N traces; step -> N
%
percentiles
r
ranks
p [n1 [n2]]
tabplot
g [tr1 tr2] ["opts"]
wiggle plot
f
wig plot Fourier Transf
! key=val
modify field
?
print this file
q
quit
Again, the options of this program are largely self-explanatory. Please note that the selfdoc is
more informative than the help menu given by typing the question mark “?.”
C# PDF Page Replace Library: replace PDF pages in C#.net, ASP.NET
PDF Library - Replace PDF Pages in C#.NET. An Excellent PDF Control Allows C# Users to Replace the Original PDF Page with New PDF Page from Another PDF File in
add and remove pages from a pdf; delete pages pdf files
VB.NET PDF Page Replace Library: replace PDF pages in C#.net, ASP.
& pages edit, C#.NET PDF pages extract, copy, paste, C# to replace a PDF page with another PDF file page. Support to save multiple PDF pages to anther adobe PDF
cut pages from pdf; delete pdf pages reader
42
CHAPTER 3. CORE SEISMIC UNIX PROGRAMS
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
You can use specific APIs to copy and get a specific page of PDF file; you can also copy and paste pages from a PDF document into another PDF file.
delete pages from pdf acrobat; cut pages out of pdf file
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Combine multiple specified PDF pages in into single one file. Merge PDF without size limitation. Append one PDF file to the end of another one in VB.NET.
delete pages on pdf file; delete a page in a pdf file
Chapter 4
Viewing SU Data in X-Windows and
PostScript
The Seismic Unix package has a small collection of graphics utilities for plotting data, both in
general C-style float format, and in SU format, both in the X-windows environment, for screen
viewing and in the PostScript form for hard copy.
The types of plotting that are available in SU are
• contour plots,
• gray or colorscale image plots,
• wiggle trace plots,
• line or symbol graphs,
• movies,
• 3D cube plots (PostScript only).
These programs have lengthy selfdocs, reflecting the large number of options for selecting the
appearance and labeling of the plots. However, functionality such as windowing data, should be
done via the programs subset or suwind as a preprocessing step before the data are actually
sent to the plotting program. These plotting programs are purposely not designed to window
data, as raw seismic datasets are often huge.
Also, following the “small is beautiful” philosophy of Unix, we have seprate, but more or
less equivalent codes for generating PostScript output for hardcopy plotting.
4.1 X-Windows Plotting Programs
X-windows provides a unified environment for the creation of screen graphics routines, which
can be quite portable, provided that the code is written using only the items that can be
guaranteed to come with the general distributions of X.
Therefore, all of our X-windows codes are written using straight X calls, or with the X-
Toolkit. While coding in such widget sets as Motif is easier in many respects, the code that
results is not nearly as portable. There are often great differences between the implementation
of commercial widget sets on various platforms.
43
C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
Able to save to another PDF file after rotating PDF pages. Copy this demo code to your C# application to rotate C#.NET Demo Code to Rotate All PDF Pages in C#
delete page from pdf file online; delete blank pages in pdf
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Free online C#.NET source code for combining multiple PDF pages together in .NET framework. Append one PDF file to the end of another and save to a single
delete pages from a pdf; delete page in pdf
44
CHAPTER 4. VIEWING SU DATA IN X-WINDOWS AND POSTSCRIPT
4.1.1 Plotting General Floating Point Data
The programs that are used for viewing general floating point data (data without SU headers)
in the X-window environment are
• XCONTOUR - X CONTOUR Plot of f(x1,x2) via vector plot call,
• XIMAGE - X IMAGE plot of a uniformly-sampled function f(x1,x2),
• XWIGB - X WIGgle-trace plot of f(x1,x2) via Bitmap,
• XGRAPH - X GRAPHer Graphs n[i] pairs of (x,y) coordinates,
• XMOVIE - image one or more frames of a uniformly sampled function f(x1,x2).
Try the following. Make some binary data by stripping the headers off of some SU data.
For example
% suplane | sustrip > data.bin
n1=64 n2=32 d1=0.004000
nt=64 ntr=32 dt=0.004000
ns=64
The items which follow indicate that the dimensions of the data set are “n1=64” by “n2=32.” Now view
these data in each of the plotting programs listed above (except xgraph) via:
% xcontour < data.bin n1=64 n2=32 title="contour" &
% ximage < data.bin n1=64 n2=32 title="image" &
% xwigb < data.bin n1=64 n2=32 title="wiggle trace" &
% xmovie < data.bin n1=64 n2=32 title="movie" &
Please note that the ampersand “&” is a Unix command telling the working shell to run the program
in background.
To test xgraph, make an ASCII file containing a double column listing of pairs of data to be plotted
such as the following
1 1
2 1.5
3 3
4 8
10 7
Call this file “data.ascii” Then use a2b to convert the file to binary and then plot it with xgraph
% a2b < data.ascii n1=2 > data.bin
n=5
% xgraph < data.bin n=5
Note that the “n=5” that is echoed by a2b is the same as the input to xgraph.
When you are finished, and wish to get rid of the windows, you may click on the window and type
the letter “q,” for quit. On some systems, you may have to actually select the “destroy” option by
clicking and dragging on the square in the upper left hand side of the window frame.
Please note that all of these programs have a huge number of options, reflecting a fairly large
collection of functionalities. See the selfdoc of each of these programs by typing
% programname
or
% sudoc programname
C# PDF Text Extract Library: extract text content from PDF file in
Enable extracting PDF text to another PDF file, TXT and source PDF document file with a copy-and-paste C# example code for text extraction from all PDF pages.
delete page numbers in pdf; add and remove pages from pdf file online
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
PDF document images. Allow to copy an image from existing PDF file and paste it into another one. Guarantee high performance image
cut pages from pdf preview; pdf delete page
4.1. X-WINDOWS PLOTTING PROGRAMS
45
4.1.2 X-Windows Plotting of SU Data
To plot data that are in the SU format, a number of programs(many of which have parallel functionality
to those already discussed) have been created. These are
• SUXCONTOUR - X CONTOUR plot of Seismic UNIX tracefile via vector plot call,
• SUXIMAGE - X-windows IMAGE plot of an SU data set,
• SUXWIGB - X-windows Bit-mapped WIGgle plot of an SU data set,
• SUXGRAPH - X-windows GRAPH plot of an SU data set,
• SUXMOVIE - X MOVIE plot of an SU data set,
• SUXMAX - X-windows graph of the MAX, min, or absolute max value on each trace of an SU
data set.
Rather thanmaintain multiple codes, each ofthese programs actuallycalls one ormore of the X-windows
graphics programs listed in the previous subsection. Please note, that the selfdoc of the non-SU version
of a given graphics program also applies to the SU version, meaning that, these programs also have a
large functionality.
You may test each of these programs using suplane data via:
% suplane | suxcontour title="contour" &
% suplane | suximage title="image" &
% suplane | suxwigb title="wiggle trace" &
% suplane | suxgraph title="graph" &
% suplane | suxmovie title="movie" &
% suplane | suxmax
title="max" &
Again, note that the ampersand “&” is a Unix command telling the working shell to run the program in
background. When you are finished, and wish to get rid of the windows, you may click on the window
and type the letter “q,” for quit. On some systems, you may have to actually select the “destroy” option
by clicking and dragging on the square in the upper left hand side of the window frame.
4.1.3 Special Features of X-Windows Programs
To find out all of the many options of these programs, please see their selfdocs, by typing the names of
each of these programs on the commandline:
% suxcontour
% suxwigb
% suximage
% suxmovie
% suxmax
In addition, the names of the non-SU versions of some of these programs may be typed to yield
additional information
% xcontour
% xwigb
% ximage
% xmovie
However there are some properties that these programs have that can only be illustrated with
examples.
46
CHAPTER 4. VIEWING SU DATA IN X-WINDOWS AND POSTSCRIPT
Plotting wiggle traces in true offset with SUXWIGB
It is possible to plot wiggle traces in true offset, that is to say, to take the values for the horizontal
dimension of the wiggle plot from the values in the header. This is done with the “key=” parameter.
For example, lets make some test data with suplane and plot it using the “key=offset” via:
% suplane | suchw key1=offset key2=tracl a=0 b=100 | suxwigb key=offset
&
The result is a plot with the x2 axis labeled in the values of the offset header field (which count by
100’s).
Making a movie with SUXMOVIE
It is possible to make movies of seismic data with suxmovie. An example of this is to make several
synthetic data panels with suplane appending each successive panel with the double redirect sign “¿¿”
% suplane > junk1.su
% suplane | suaddnoise sn=20 >> junk1.su
% suplane | suaddnoise sn=15 >> junk1.su
% suplane | suaddnoise sn=10 >> junk1.su
% suplane | suaddnoise sn=5 >> junk1.su
% suplane | suaddnoise sn=3 >> junk1.su
% suplane | suaddnoise sn=2 >> junk1.su
% suplane | suaddnoise sn=1 >> junk1.su
% suxmovie < junk1.su n2=32 title="frame=%g" loop=1 &
The final command has “n2=32” set to show that there are 32 traces per frame of data. The usage
of “%q” permits the frame number to be listed as part of the title, and “loop=1” runs the movie in a
continuous loop.
To make the movie go faster or slower, simply enlarge or shrink the window byclicking and dragging
on the lower right corner of the plot. Clicking the far-rightmouse button once will freeze the frame, and
clicking it a second time will start the movie again.
4.1.4 PostScript Plotting Programs
To complement our collection of X-Windows plotting utilities are a collection of very similar PostScript
codes. The idea was to create PostScript plotting codes which would correspond to each of the X-
Windows codes listed above.
4.1.5 PostScript Plotting of General Floating Point Data
The programs that are used for PostScript plotting of general floating point data (data without SU
headers) are
• PSCONTOUR - PostScript CONTOURing of a two-dimensional function f(x1,x2),
• PSIMAGE - PostScript IMAGE plot of a uniformly-sampled function f(x1,x2),
• PSCUBE - PostScript image plot of a data CUBE,
• PSGRAPH - PostScript GRAPHer Graphs n[i] pairs of (x,y) coordinates,
• PSMOVIE - PostScript MOVIE plot of a uniformly-sampled function f(x1,x2,x3),
• PSWIGB - PostScript WIGgle-trace plot of f(x1,x2) via Bitmap,
• PSWIGP - PSWIGP - PostScript WIGgle-trace plot of f(x1,x2) via Polygons.
4.1. X-WINDOWS PLOTTING PROGRAMS
47
Again, you may create binary data to test these programs by stripping off the headers of some
suplane data.
% suplane | sustrip > data.bin
n1=64 n2=32 d1=0.004000
nt=64 ntr=32 dt=0.004000
ns=64
The dimensions of the data are n1=64 samples per trace by n2=32 traces.
% pscontour < data.bin n1=64 n2=32 title="contour" > data1.eps
% psimage < data.bin n1=64 n2=32 title="image" > data2.eps
% pscube < data.bin n1=64 n2=32 title="cube plot" > data4.eps
% pswigb < data.bin n1=64 n2=32 title="bitmap wiggle trace" > data3.eps
% pswigp < data.bin n1=64 n2=32 title="wiggle trace" > data4.eps
% psmovie < data.bin n1=64 n2=32 title="movie" > data5.eps
The output files contain Adobe Level 2 Encapsulated PostScript. You should be able to view these files
with any standard X-windows PostScript previewer (such as “ghostview”).
Please note, that the output from“psmovie” may notwork on yoursystem. This output works under
NeXTStep, but is multi-page Encapsulated PostScript, which is not generally supported by PostScript
devices.
To test psgraph, make an ascii file containing a double column listing of pairs of data to be plotted
such as the following
1 1
2 1.5
3 3
4 8
10 7
Call this file “data.ascii” Then use “a2b” to convert the file to binary and then plot it with psgraph
% a2b < data.ascii n1=2 > data.bin
n=5
% psgraph < data.bin n=5 > data6.eps
Note that the “n=5” that is echoed by a2b is the same as the input to psgraph. This permits the
following trick to be used
% a2b < data.ascii outpar=junk.par n1=2 > data.bin
% psgraph < data.bin par=junk.par > data6.eps
to yield the same output.
4.1.6 PostScript Plotting of SU Data
Just as there are X-Windows codes for plotting SU data, there are also codes for making PostScript
plots of these data. The programs for PostScript graphics are
• SUPSCONTOUR - PostScript CONTOUR plot of an SU data set
• SUPSIMAGE - PostScript IMAGE plot of an SU data set
• SUPSCUBE - PostScript CUBE plot of an SU data set
• SUPSGRAPH - PostScript GRAPH plot of an SU data set
48
CHAPTER 4. VIEWING SU DATA IN X-WINDOWS AND POSTSCRIPT
• SUPSWIGB - PostScript Bit-mapped WIGgle plot of an SU data set
• SUPSWIGP - PostScript Polygon-filled WIGgle plot of an SU data set
• SUPSMAX - PostScript of the MAX, min, or absolute max value on each trace of a SU data set
We can use suplane data to test each of these programs as we did with the X-Windows codes
% suplane > junk.su
% supscontour < junk.su title="contour" > data1.eps
% supsimage < junk.su title="image" label1="sec" label2="trace number" > data2.eps
% supscube < junk.su title="cube plot" > data4.eps
% supswigb < junk.su title="bitmap wiggle trace" > data3.eps
% supswigp < junk.su title="wiggle trace" > data4.eps
% supsmovie < junk.su title="movie" > data5.eps
% supsmax < junk.su title="max" > data5.eps
The output files contain Adobe Level 2 Encapsulated PostScript, and is compatible with TeX, LaTeX,
and many draw tools. You will need to use a PostScript previewer, such as GhostScript or Ghostview
to view these files on the screen.
Please note again, that programsfor which there is a non-SU version, have selfdoc informationwhich
applies to these codes, as well.
4.2 Additional PostScript Support
There are several additional tools for supporting PostScript operations in SU. These are
• PSBBOX - change BoundingBOX of existing PostScript file
• PSMERGE - MERGE PostScript files
• MERGE2 - MERGE2 PostScript figures onto one page
• MERGE4 - MERGE4 figures onto one page
• PSLABEL - output PostScript file consisting of a single TEXT string on a specified background.
(Use with psmerge to label plots.)
• PSMANAGER - printer MANAGER for HP 4MV and HP 5Si Mx Laserjet PostScript printing
• PSEPSI - add an EPSI formatted preview bitmap to an EPS file
The programs psbbox, pslabel, psmerge, merge2, and merge4 are designed to help in con-
structing figures made from SU-style graphics programs, and are not guaranteed to work with EPS files
generated by other means.
4.2.1 PSBBOX - Changing the BoundingBox
For example, create test PostScript data with suplane and supswigb via
% suplane | supswigb > junk1.eps
where the “.eps” extension is chosen as a reminder that this is encapsulated PostScript. Let’s say that
there is too much white-space surrounding this figure. To fix this problem, we want to change the size
of the BoundingBox at the top of the file. For example
% more junk1.eps
Documents you may be interested
Documents you may be interested