一、简介

SU是基于类Unix平台的开源地震处理软件,不仅具有强大的数据处理能力,还能画出美观的地震剖面图。
这里介绍一个重要的画图函数supsimage。
supsimage是一个二维绘图函数,类似matlab的imagesc,是基于linux系统的画图函数psimage再开发的。

二、supsimage函数的参数介绍

我们先看一下supsimage函数的参数。

$ supsimage SUPSIMAGE - PostScript IMAGE plot of a segy data set         supsimage <stdin [optional parameters] | ...             Optional parameters:                            n2=tr.ntr or number of traces in the data set (ntr is an alias for n2)d1=tr.d1 or tr.dt/10^6  sampling interval in the fast dimension =.004 for seismic      (if not set)                =1.0 for nonseismic        (if not set)                d2=tr.d2           sampling interval in the slow dimension =1.0           (if not set)                f1=tr.f1 or tr.delrt/10^3 or 0.0  first sample in the fast dimension   f2=tr.f2 or tr.tracr or tr.tracl  first sample in the slow dimension   =1.0 for seismic           (if not set)            =d2 for nonseismic         (if not set)            verbose=0              =1 to print some useful 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()  Note that for seismic time domain data, the "fast dimension" is   time and the "slow dimension" is usually trace number or range.   Also note that "foreign" data tapes may have something unexpected in the d2,f2 fields, use segyclean to clear these if you can afford the processing time or use d2= f2= to override the header values if   not.                                    See the psimage selfdoc for the remaining parameters.           On NeXT:    supsimage < infile [optional parameters]  | open Trace header fields accessed: ns, ntr, tracr, tracl, delrt, trid,     dt, d1, d2, f1, f2

各个参数的含义:
n1:时间序列的采样个数,n1=tr.ns,ns是n1的别称
n2:横向道数,n2=tr.ntr,ntr是n2的别称
d1:时间采样间隔,单位:sec,也可以修改为meter
d2:横向采样间隔,单位自定义,可以为cmp,可以为distance
f1:时间轴的起始坐标,从上方开始
f2:空间轴的起始坐标

三、psimage函数的参数介绍

由于supsimage是基于psimage再开发的,所以更多的参数设置需要参考psimage。


PSIMAGE - PostScript IMAGE plot of a uniformly-sampled function f(x1,x2)psimage n1= [optional parameters] <binaryfile >postscriptfile        Required Parameters:                            n1           number of samples in 1st (fast) dimension  Optional Parameters:                            d1=1.0      sampling interval in 1st dimension     f1=0.0      first sample in 1st dimension          n2=all      number of samples in 2nd (slow) dimension  d2=1.0      sampling interval in 2nd dimension     f2=0.0      first sample in 2nd dimension          perc=100.0      percentile used to determine clip      clip=(perc percentile) clip used to determine bclip and wclip      bperc=perc      percentile for determining black clip value    wperc=100.0-perc    percentile for determining white clip value    bclip=clip      data values outside of [bclip,wclip] are clippedwclip=-clip        data values outside of [bclip,wclip] are clippedbclip and wclip will be set to be inside       [lbeg,lend] if lbeg and/or lend are supplied   threecolor=1         supply 3 color values instead of only two, using not only black and white, but f.e. red,   green and blue                  brgb=0.0,0.0,0.0    red, green, blue values corresponding to black grgb=1.0,1.0,1.0    red, green, blue values corresponding to grey  wrgb=1.0,1.0,1.0    red, green, blue values corresponding to white bhls=0.0,0.0,0.0    hue, lightness, saturation corresponding to blackghls=0.0,1.0,0.0  hue, lightness, saturation corresponding to greywhls=0.0,1.0,0.0   hue, lightness, saturation corresponding to whitebps=12        bits per sample for color plots, either 12 or 24d1s=1.0        factor by which to scale d1 before imaging d2s=1.0         factor by which to scale d2 before imaging verbose=1       =1 for info printed on stderr (0 for no info) xbox=1.5        offset in inches of left side of axes box  ybox=1.5        offset in inches of bottom side of axes box    width=6.0       width in inches of axes box            height=8.0      height in inches of axes box           x1beg=x1min         value at which axis 1 begins           x1end=x1max         value at which axis 1 ends         d1num=0.0       numbered tic interval on axis 1 (0.0 for automatic)f1num=x1min         first numbered tic on axis 1 (used if d1num not 0.0)n1tic=1        number of tics per numbered tic on axis 1  grid1=none      grid lines on axis 1 - none, dot, dash, or solidlabel1=        label on axis 1                x2beg=x2min         value at which axis 2 begins           x2end=x2max         value at which axis 2 ends         d2num=0.0       numbered tic interval on axis 2 (0.0 for automatic)f2num=x2min         first numbered tic on axis 2 (used if d2num not 0.0)n2tic=1        number of tics per numbered tic on axis 2  grid2=none      grid lines on axis 2 - none, dot, dash, or solidlabel2=        label on axis 2                labelfont=Helvetica     font name for axes labels          labelsize=18        font size for axes labels          title=      title of plot                  titlefont=Helvetica-Bold font name for title               titlesize=24         font size for title               titlecolor=black    color of title                 axescolor=black     color of axes                  gridcolor=black     color of grid                  axeswidth=1            width (in points) of axes                      ticwidth=axeswidth     width (in points) of tic marks           gridwidth=axeswidth    width (in points) of grid lines     style=seismic       normal (axis 1 horizontal, axis 2 vertical) or seismic (axis 1 vertical, axis 2 horizontal)    legend=0            =1 display the color scale            lnice=0                =1 nice legend arrangement                     (overrides ybox,lx,width,height parameters)    lstyle=vertleft     Vertical, axis label on left side           =vertright (Vertical, axis label on right side)=horibottom (Horizontal, axis label on bottom) units=      unit label for legend              legendfont=times_roman10    font name for title            following are defaults for lstyle=0. They are changed for other lstyleslwidth=1.2      colorscale (legend) width in inches        lheight=height/3        colorscale (legend) height in inches       lx=1.0      colorscale (legend) x-position in inches   ly=(height-lheight)/2+xybox    colorscale (legend) y-position in pixelslbeg= lmin or wclip-5*perc    value at which legend axis begins   lend= lmax or bclip+5*perc    value at which legend axis ends         ldnum=0.0   numbered tic interval on legend axis (0.0 for automatic)lfnum=lmin     first numbered tic on legend axis (used if d1num not 0.0)lntic=1   number of tics per numbered tic on legend axis lgrid=none  grid lines on legend axis - none, dot, dash, or solidcurve=curve1,curve2,...  file(s) containing points to draw curve(s)   npair=n1,n2,n2,...            number(s) of pairs in each file         curvecolor=black,..     color of curve(s)              curvewidth=axeswidth    width (in points) of curve(s)          curvedash=0            solid curve(s), dash indices 1,...,11 produce  curve(s) with various dash styles
#                                   NOTES:                              The curve file is an ascii file with the points specified as x1 x2  pairs, one pair to a line.  A "vector" of curve files and curve   colors may be specified as curvefile=file1,file2,etc.          and curvecolor=color1,color2,etc, and the number of pairs of values   in each file as npair=npair1,npair2,... .               You may eliminate the blocky appearance of psimages by adjusting the  d1s= and d2s= parameters, so that psimages appear similar to ximages.   All color specifications may also be made in X Window style Hex formatexample:   axescolor=#255
# 色标                                    Some example colormap settings:                 red white blue: wrgb=1.0,0,0 grgb=1.0,1.0,1.0 brgb=0,0,1.0       white red blue: wrgb=1.0,1.0,1.0 grgb=1.0,0.0,0.0 brgb=0,0,1.0   blue red white: wrgb=0.0,0.0,1.0 grgb=1.0,0.0,0.0 brgb=1.0,1.0,1.0   red green blue: wrgb=1.0,0,0 grgb=0,1.0,0 brgb=0,0,1.0       orange light-blue green: wrgb=1.0,.5,0 grgb=0,.7,1.0 brgb=0,1.0,0    red light-blue dark blue: wrgb=0.0,0,1.0 grgb=0,1.0,1.0 brgb=0,0,1.0     # 字体 Legal font names are:                          AvantGarde-Book AvantGarde-BookOblique AvantGarde-Demi AvantGarde-DemiOblique Bookman-Demi Bookman-DemiItalic Bookman-Light Bookman-LightItalic Courier Courier-Bold Courier-BoldOblique Courier-Oblique Helvetica Helvetica-Bold Helvetica-BoldOblique Helvetica-Oblique Helvetica-Narrow Helvetica-Narrow-Bold Helvetica-Narrow-BoldOblique Helvetica-Narrow-Oblique NewCentrySchlbk-Bold NewCenturySchlbk-BoldItalic NewCenturySchlbk-Roman Palatino-Bold  Palatino-BoldItalic Palatino-Italics Palatino-Roman SanSerif-Bold SanSerif-BoldItalic SanSerif-Roman Symbol Times-Bold Times-BoldItalic Times-Roman Times-Italic ZapfChancery-MediumItalic

各个参数的含义:

1.轴设置

n1:时间序列的采样个数,n1=tr.ns,ns是n1的别称
n2:横向道数,n2=tr.ntr,ntr是n2的别称
d1:时间采样间隔,单位:sec,也可以修改为meter
d2:横向采样间隔,单位自定义,可以为cmp,可以为distance
f1:时间轴的起始坐标,从上方开始
f2:空间轴的起始坐标,从左侧开始

axescolor=black:轴颜色
gridcolor=black:网格颜色

axeswidth=1 :轴宽度(像素点)
ticwidth=axeswidth :刻度宽度(像素点)
gridwidth=axeswidth :网格线宽度(像素点)
style=seismic:轴1垂直、轴2水平;=normal :轴1水平、轴2垂直

width=6.0: 轴框宽度(英寸)
height=8.0:轴框高度(英寸)

x1beg=x1min:垂直轴起始值
x1end=x1max:垂直轴结束值

x2beg=x2min:水平轴起始值
x2end=x2max:水平轴结束值

d1num=0.0:垂直轴上的编号间隔
d2num=0.0:水平轴上的编号间隔

f1num=x1min:轴1上第一个编号的tic(如果d1num不是0.0,则使用)
f2num=x2min:轴2上第一个编号的tic(如果d2num不是0.0,则使用)

n1tic=1: 轴1上每个编号的tic的tic数
n2tic=1: 轴2上每个编号的tic的tic数

label1= :轴1的标签
label2= :轴2的标签

说明:n1和n2一般不用定义,函数会根据输入数据自动识别

2.显示截断设置

perc=100 :用于确定数据值截断的百分比
clip=(perc percentile) :用来确定bclip和wclip的值
bclip=clip:色标范围最小值(b表示black,最小值)
wclip=-clip:色标范围最大值(b表示white,最大值),也可以在[lbeg, lend]中设置[bclip,wclip]

3.颜色设置

threecolor=1:使用三色定义色标而不是双色(黑白),即rgb色彩模式
brgb=0.0,0.0,0.0 :和黑色相关的rgb值
grgb=1.0,1.0,1.0 :和灰色相关的rgb值
wrgb=1.0,1.0,1.0 :和白色相关的rgb值

此外还有hls色彩模式,即hsv色彩模式,这里不展开说。

bps=12:颜色图的每个采样数,12或24

d1s=1.0:成像前缩放d1的因子
d2s=1.0:成像前缩放d2的因子

xbox=1.5 :轴框左侧的偏移量(英寸)
ybox=1.5 :轴框下侧的偏移量(英寸)

labelfont=Helvetica:轴字体
labelsize=18:轴字号

4.网格设置

grid1=none:轴1的网格线: - none, dot, dash, or solid
grid2=none:轴2的网格线: - none, dot, dash, or solid

5.标题设置

title= :绘图标题
titlefont=Helvetica-Bold:标题字体
titlesize=24:标题字号
titlecolor=black:标题颜色

6.色标设置

legend=0:=1 显示色标,=0 不显示
lnice=0:=1 nice legend arrangement ,即一个比较好看的色标设置

lstyle=vertleft :色标则左侧垂直;=vertright (右侧垂直); =horibottom (底部水平)
units= :色标单位
legendfont=times_roman10:色标单位字体

lwidth=1.2:色标宽度(英寸)
lheight=height/3:色标高度(英寸)

lx=1.0:色标x方向位置(英寸)
ly=(height-lheight)/2+xybox:色标x方向位置(像素点)

lbeg= lmin or wclip-5perc:色标起始值
lend= lmax or bclip+5
perc:色标结束值

ldnum=0.0:色标轴刻度数
lfnum=lmin:色标轴起始刻度 (used if d1num not 0.0)
lntic=1:色标轴每个大刻度的小刻度数
lgrid=none:色标轴网格线型: - none, dot, dash, or solid

7.图像输出

可输出为eps图像:
supsimage <stdin [optional parameters] >filename.eps

7.绘制曲线

curve=curve1,curve2,… :包含待绘制曲线的点的文件
npair=n1,n2,n2,… 每个文件的点数
curvecolor=black,… :曲线的颜色
curvewidth=axeswidth:线宽
curvedash=0 :线型 :=0是实线,=1,2,3,…,11是不同类型的虚线

8.色标例子

red white blue: wrgb=1.0,0,0 grgb=1.0,1.0,1.0 brgb=0,0,1.0
white red blue: wrgb=1.0,1.0,1.0 grgb=1.0,0.0,0.0 brgb=0,0,1.0
blue red white: wrgb=0.0,0.0,1.0 grgb=1.0,0.0,0.0 brgb=1.0,1.0,1.0
red green blue: wrgb=1.0,0,0 grgb=0,1.0,0 brgb=0,0,1.0
orange light-blue green: wrgb=1.0,.5,0 grgb=0,.7,1.0 brgb=0,1.0,0
red light-blue dark blue: wrgb=0.0,0,1.0 grgb=0,1.0,1.0 brgb=0,0,1.0

9.可选字体

Legal font names are:
AvantGarde-Book AvantGarde-BookOblique AvantGarde-Demi AvantGarde-DemiOblique Bookman-Demi Bookman-DemiItalic Bookman-Light Bookman-LightItalic
Courier Courier-Bold Courier-BoldOblique Courier-Oblique
Helvetica Helvetica-Bold Helvetica-BoldOblique Helvetica-Oblique
Helvetica-Narrow Helvetica-Narrow-Bold Helvetica-Narrow-BoldOblique
Helvetica-Narrow-Oblique NewCentrySchlbk-Bold NewCenturySchlbk-BoldItalic NewCenturySchlbk-Roman Palatino-Bold
Palatino-BoldItalic Palatino-Italics Palatino-Roman
SanSerif-Bold SanSerif-BoldItalic SanSerif-Roman
Symbol Times-Bold Times-BoldItalic
Times-Roman Times-Italic ZapfChancery-MediumItalic

10.注意

曲线文件是ascii文件,包含x1,x2这样的坐标对,一对是一个线。
曲线文件和曲线颜色也要匹配:
curvefile=file1,file2,etc.
curvecolor=color1,color2,etc
每个文件中数据应该以npair=npair1,npair2,… 的形式排列。
可以通过调整d1s=和d2s=参数来消除图像的块状外观,使图像看起来类似于ximages。

所有颜色规格也可以在X窗口样式十六进制格式
示例:axescolor=#255

四、ximage介绍

上面的supsimage和psimage都是基于ximage的。三者有很多基础的参数设置是类似甚至完全相同的,这里不再赘述。仅仅补充关于色标种类的选择。
说明如下:

cmap=hsv'n' or rgb'm'   'n' is a number from 0 to 13      'm' is a number from 0 to 11      cmap=rgb0 is equal to cmap=gray       cmap=hsv1 is equal to cmap=hue        (compatibility to older versions)

可以在命令后加hsv色系或者rgb色系。二者后面加一个序号代表各个色系的第几种色标,其中0表示灰色。hsv色系有0-13共14个色标类型;rgb色系共有0-11共12个色标类型。和绘图后用键盘的’R’或者‘H’键一样的效果。
例如:

cmap=hsv0  #灰色
cmap=hsv1
cmap=rgb0  #灰色
cmap=rgb1

五、可参考

如何用Seismic Unix画出漂亮的地震剖面图

SU(Seismic Unix)画图函数supsimage使用方法相关推荐

  1. Ubuntu下SU(seismic unix)安装教程

    记录程序人生 环境:linux 我用的是 ubuntu 16.04 具体步骤: 1 . 下载Seismic unix安装包 // Download the seismic unix 链接: https ...

  2. seismic unix地震数据处理流程

    GEPH316 Seismic Data Processing https://pages.mtu.edu/~ctyoung/Robinson/Default.htm添加链接描述 Data proce ...

  3. python cmp函数未定义_python用plt画图时,cmp设置方法

    在python,有时候是需要画图的,比如把一个矩阵用图像的形式显示,之前用的好好的,每次用plt.imshow(),都是彩色图,不知为啥,突然全是黑白图了,于是需要设置cmap的值,如下: plt.i ...

  4. Ubuntu16.04上安装SU(Seismic Unix)的基本步骤

    Seismic Unix(SU)是科罗拉多矿业学院的波场研究中心(CWP)开发的一款开源地震数据处理软件,当前很多学者在Linux下用SU做地震数据的处理与编程.我本人是研究FWI的,也在Linux下 ...

  5. python画图-python画图的两种方法

    python如何画图?这里给大家介绍两款python绘图的库:turtle和Matplotlib. 1 安装turtle Python2安装命令:pip install turtule Python3 ...

  6. plot画分段函数_python画图函数大全

    很多时候,我们需要用python画图,这样就可以更加直观的看到数据的走势,而不是干巴巴的数字. 今天,我们就给大家整理了一下python画图的常用函数,由于篇幅限制.无法将这些函数的使用方法全部表现出 ...

  7. 几何画板中几种作函数图像的方法

    随着社会的发展,现代教学很多的地方都有了多媒体教学,这就需要一些教学软件的辅助了,几何画板就是其中之一.一些老师在使用几何画板的过程中,常常涉及到函数图象的绘制.因此,很多用户对这方面教程是非常的感兴 ...

  8. 【转载】 Matlab中的画图函数(可视化编程)

    之前在进行Matlab编程时,画图总是非常重要的一部分,在这里整理一下常用的绘图函数,以作备用. 一.二维曲线和图形 MATLAB提供了多种二维图形的绘制命令 命令名 含义和功能 area 面域图:主 ...

  9. python画图颜色填充_python画图的两种方法

    python如何画图?这里给大家介绍两款python绘图的库:turtle和Matplotlib. 相关推荐:<python视频> 1 安装turtle Python2安装命令:pip i ...

最新文章

  1. java实现窗口透明_java实现窗口透明
  2. 谈谈ogre中级教程中例子与appwizard冲突
  3. Python字符串讲解举例—工资字符串
  4. python iocp_记对协程增加IOCP支持时候踩过的一些坑
  5. Python 数据库备份脚本(邮件通知+日志记录)
  6. mysql 列换行 表设计 设计_今天来讲一下怎么利用MySql进行库表设计
  7. 试试给对象这样赋值吧
  8. 基于android预约功能,基于Android的银行业务预约系统的设计与实现
  9. 计算机网络滑动窗口机制编程,计算机网络之滑动窗口机制
  10. 理解VMware资源池
  11. Maven实战 PDF 许晓斌
  12. TimesTen In-Memory Database
  13. Vscode Element-ui 提示插件
  14. 读书记:认知觉醒(三)元认知、自控力
  15. 学习制作横版游戏——2
  16. python中fetch_python 异步 fetch demo
  17. 性能之殇:从冯·诺依曼瓶颈谈起
  18. Mac 安装 TeamViewer 打开应用闪退
  19. 安卓APP证书Android签名证书.keystore文件制作生成
  20. 用PHP实现虎牙压豆稳赚不赔的方法,RNG和LGD比赛竞猜结算出错被骂骗豆平台,虎牙道歉又送5000Q币...

热门文章

  1. 利用OpenStreetMap决定GPS点所在的道路类型
  2. windows的远程桌面连接
  3. angular:带验证功能的formControlName的select下拉框数据充填
  4. UE4_光照基础概念和效果_05动态光照 - 室外
  5. Android 备忘录删除功能,安卓手机便签删除了怎么恢复?有可以快速找回删除内容的备忘录软件吗...
  6. Python-输入一串字符,判断是否为手机号码
  7. 利用微软的Office Online在线预览Office文档
  8. FineBI04:【案例】稍微复杂的案例:全球疫情分析--南丁格尔玫瑰图
  9. UIAutomator2 一个简单的练手demo,自动刷东方头条
  10. 什么是回归商业的本质