亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? segy_documentation.tex

?? 地震解釋處理matlab工具箱
?? TEX
?? 第 1 頁 / 共 2 頁
字號:
% $Id: SEGY_Documentation.tex,v 1.1 2004/06/21 21:23:36 cmhogan Exp $
\documentclass[10pt]{article}
\usepackage{xspace}
\title{SEGY manipulation libraries documentation}
\author{Chad M. Hogan}
\date{June 18 2004}

\newcommand{\segy}{{\scriptsize SEGY}\xspace}
\newcommand{\crewes}{{\scriptsize CREWES}\xspace}
\newcommand{\ascii}{{\scriptsize ASCII}\xspace}
\newcommand{\ebcdic}{{\scriptsize EBCDIC}\xspace}
\newcommand{\cdp}{{\scriptsize CDP}\xspace}


\begin{document}
\maketitle

\noindent
This article documents the \segy manipulation libraries found in the
\crewes software collection. Specifically documented are the functions:
\begin{itemize}
\item {\tt SEGY\_GetBinaryHeader}
\item {\tt SEGY\_GetTextHeader}
\item {\tt SEGY\_GetTrace}
\item {\tt SEGY\_ReadBinaryHeader}
\item {\tt SEGY\_ReadTextHeader}
\item {\tt SEGY\_ReadTrace}
\item {\tt SEGY\_WriteBinaryHeader}
\item {\tt SEGY\_WriteGathers}
\item {\tt SEGY\_WriteStack}
\item {\tt SEGY\_WriteTextHeader}
\item {\tt SEGY\_WriteTrace}
\end{itemize}
This set of functions is designed to generate standards-compliant
\segy rev. 1 (May, 2002) files. It includes a full \ebcdic (or \ascii,
if you must) text header, a binary header, and traces with trace
headers and data written in big-endian (or little-endian, if you must)
format.

\subsection*{Warning}
I am not 100\% comfortable with my geometry calculations within the
sample functions {\tt SEGY\_WriteGathers} and {\tt SEGY\_WriteStack}. I
think they're correct, but it is difficult for me to test them
exhaustively. If you are writing \segy and you are confident in your
setting but you think that the produced \segy file is in error with
respect to geometry, it's entirely possible that you are correct.
Please contact me and we'll discuss it.

\section{A Short Introduction to SEGY}

The \segy data format was first defined a long, long time ago. It
arranges things for the convenience of punch-card users, it defaults
to \ebcdic text format, and big-endian data. The intent of this
library is to write a relatively easy-to-use library of \segy writing
utilities. These are meant to be used as tools incorporated into
larger programs, so they are not optimized for use directly from the
command line in order to save a random amount of seismic data to a
file. 

The \segy data format consists of three main parts. The first 3200
bytes in a file is defined as a text header. This text header,
usually in \ebcdic, describes various notes and details that may be
interesting to processing and interpreting staff. Although conventions
are defined, this block is fairly free-form and cannot be reliably
used to automate processing (for example). It is meant to be read by
humans, not computers. This is more of a job for the next part of the
\segy file.

Following the 3200-byte text header is the binary header. The binary
header is 400 bytes of strictly ordered numbers, usually in big-endian
format. These numbers define parameters about the entire data set
contained in the file. The line number, the sampling interval, the
number of samples per trace, the sorting of the traces, and many other
parameters are set in this binary header. These elements are designed
to allow computers to quickly understand the data within the file so
that they can reliably read and process the traces.

The final part of the \segy file contains the traces themselves. Each
trace has two parts: a trace header and the trace data. The trace
header contains information specific to each trace in binary
format. This will contain information such as the trace number, the
source location for the trace, the receiver group location, the time
sample interval, and many others. Following this trace header is the
actual trace series consisting of all the samples one after
another as a string of binary numbers. There is no ``end of trace''
marker, which is why it is important to ensure that the number of
samples is correctly specified in the binary and trace headers.

For a thorough explanation of the \segy data format, please see the
{\scriptsize SEG} website at {\tt http://www.seg.org}.

\section{Quick Start and Examples}
So, you want to just get on with it and write some \segy already?  Ok.
This is your section. The first thing to do is to generate your data.
You'll want it arranged in one of the following ways:
\begin{itemize}
\item In gathers (\cdp or shot). 
\item In a stack.
\end{itemize}

In the case of gathers, then you will have the entire set of gathers
stored in a cell array, with one cell for each gather. Within each
gather, the traces will be arranged in an $N \times M$ array, where
$N$ is the number of samples in each trace, and $M$ is the number of
traces in the gather. For example, we'll imagine that you have all of
your gathers stored in a cell array called {\tt gathers}. The third
gather in this set is:

\begin{verbatim}
thirdgather = gathers{3};
\end{verbatim}

The second trace within this gather is referenced like this:

\begin{verbatim}
secondtrace = thirdgather(:, 2);
\end{verbatim}

\subsection{SEGY\_WriteGathers}

This function is written mostly as an example for you to follow if you
are interested in generating \segy in your own programs. However, it
is directly useful if you are willing to manipulate your data into the
format required by this function.

If you can put your data into that format, then you are entirely set
for writing \segy data. You simply use the {\tt SEGY\_WriteGathers}
function as follows:

\begin{verbatim}
SEGY_WriteGathers(filename, gathers, dt, type, g1, g2, text, num);
\end{verbatim}
Where {\tt filename} is a string containing the full path to the
filename that you want to write, {\tt gathers} is your cell array of
gathers as previously described, {\tt dt} is the sampling interval in
second, {\tt type} is a string containing either 'cdp' or 'shot' to
describe the type of gather, {\tt g1} and {\tt g2} are geometry
parameters that will be described shortly, {\tt text} is the text
header format -- either 'ebcdic' or 'ascii', and {\tt num} is the
number format -- either 'b' for big-endian or 'l' for little endian.

The two geometry parameters {\tt g1} and {\tt g2} require a bit of
explanation. They mean different things for the different kinds of
gathers.
\subsubsection{Writing \cdp gathers}
To write a \cdp gather, you need two elements for the geometry. The
first parameter, {\tt g1}, represents the horizontal distance between
the depth points within a given gather. If your \cdp gathers are each
separated by 100 meters, then {\tt g1} will be 100.

The second parameter, {\tt g2}, represents the offset interval from
the shot point to the receivers within the gathers. So, if the offsets
in a particular \cdp gather are something like: 0, 100, 200, 300,
\ldots; then your interval is 100. Note that this particular function
assumes you have a zero offset shot. Since I imagine that this library
will primarily be used for writing synthetic data, this isn't a bad
thing.

From this, geometry will be calculated. It is assumed that the first
trace in the gather is the zero-offset gather, and the last trace is
the longest-offset gather. Obviously this is going to be
a very limited sort of geometry. If you have more complicated data and
geometry, then you will have to create your own writing function using
the more lower level functions described later.

\subsubsection{Writing shot gathers}
To write a shot gather, you need two elements for the geometry that
are slightly different from the \cdp case. The first parameter, {\tt
  g1}, represents the distance between each shot point. If your shots
are separated by 50 meters, then {\tt g1} will be 50. 

The second parameter, {\tt g2}, represents the offset interval between
receivers. So if you have receivers placed every 100 meters, then {\tt
  g2} will be 100. 

Once again, this functionality is limited. It is assumed that there
will be an odd number of traces in this gather. The first and last
trace are the longest offset traces (on either side of the shot) and
the middle trace is a zero-offset trace. If this does not fit your
needs, then you will have to create your own custom writing routine
using the lower level functions described in the rest of this
document.

\subsubsection{Example}
This function call will generate a \segy file in {\tt /tmp/test.segy}
using the gathers in {\tt cdpgathers}. The gathers are sampled every 2
milliseconds, and they are sorted into \cdp gathers. Each gather's
\cdp is separated by 50 meters, and the shot-to-receiver interval is
100 meters.
\begin{verbatim}
    SEGY_WriteGathers('/tmp/test.segy', cdpgathers, 0.002, ...
                      'cdp', 50, 100, 'ebcdic', 'b');
\end{verbatim}

\subsection{SEGY\_WriteStack}
This is another example function that you may use if it is
convenient. It is much more likely that this will be useful to you for

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品1024| www亚洲一区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美精品日韩一本| 国产精品视频yy9299一区| 日韩和欧美一区二区| 91小视频在线免费看| 欧美精品一区二区在线播放 | 国产亚洲午夜高清国产拍精品| 亚洲aaa精品| 91香蕉视频黄| 亚洲国产精品t66y| 激情五月婷婷综合| 欧美日韩免费视频| 亚洲一区二区3| 日本福利一区二区| 国产精品久久久久影视| 国产精品一卡二| 欧美精品一区二区三| 日本伊人午夜精品| 精品污污网站免费看| 亚洲黄色av一区| 99riav一区二区三区| 中文字幕色av一区二区三区| 国产成人综合在线观看| 精品成人一区二区三区| 日韩av中文在线观看| 精品视频一区二区三区免费| 亚洲资源在线观看| 欧美手机在线视频| 一区二区三区国产豹纹内裤在线| 99精品视频在线观看| 一区在线观看免费| 91亚洲国产成人精品一区二三| 国产精品卡一卡二| 91亚洲精品乱码久久久久久蜜桃| 自拍偷自拍亚洲精品播放| 91网址在线看| 亚洲最大成人综合| 欧美福利电影网| 另类小说综合欧美亚洲| 久久婷婷国产综合精品青草 | 91精品国产一区二区三区蜜臀 | 亚洲人成网站色在线观看| jvid福利写真一区二区三区| 中文字幕一区二区三区在线播放| 91免费国产视频网站| 亚洲一区二区三区小说| 欧美日韩大陆在线| 激情综合亚洲精品| 日韩毛片视频在线看| 欧美日韩一级二级| 国内精品第一页| 中文字幕在线不卡国产视频| 欧美日韩一级片网站| 精品亚洲国内自在自线福利| 亚洲午夜精品网| 制服丝袜在线91| 国产高清精品久久久久| 一区二区三区在线免费观看| 欧美一区二区三区视频| 国产69精品久久99不卡| 亚洲一区二区三区在线看| 欧美本精品男人aⅴ天堂| av一区二区不卡| 琪琪久久久久日韩精品| 中文字幕一区二区视频| 67194成人在线观看| 成人午夜av在线| 日韩不卡一区二区三区| 中文字幕视频一区二区三区久| 91精品国产欧美一区二区18 | 91在线小视频| 蜜桃av噜噜一区| 亚洲乱码国产乱码精品精小说| 91精品国产综合久久福利| a级精品国产片在线观看| 日本vs亚洲vs韩国一区三区| 国产精品久久三| 精品久久久久一区| 欧美在线视频日韩| 成人永久免费视频| 美日韩黄色大片| 亚洲在线观看免费| 国产精品麻豆久久久| 日韩精品中文字幕一区二区三区| 一本久道中文字幕精品亚洲嫩| 久久99久久精品欧美| 天堂午夜影视日韩欧美一区二区| 国产精品国产三级国产| 久久久久青草大香线综合精品| 欧美色综合网站| 91免费版在线看| 成人精品视频一区二区三区尤物| 免费在线观看成人| 午夜精品福利一区二区蜜股av| 亚洲视频一区二区在线| 国产亚洲精品久| 精品国产99国产精品| 日韩一区二区三区在线| 欧美性感一区二区三区| 91免费在线视频观看| 成人一级片在线观看| 国产麻豆一精品一av一免费| 日本伊人色综合网| 日韩二区在线观看| 日本少妇一区二区| 日韩精品91亚洲二区在线观看 | 日韩黄色免费网站| 婷婷综合另类小说色区| 亚洲超丰满肉感bbw| 亚洲一区影音先锋| 亚洲小说欧美激情另类| 亚洲综合一区在线| 亚洲国产综合色| 亚洲国产成人高清精品| 亚洲国产一区在线观看| 国产白丝网站精品污在线入口| 麻豆精品一区二区三区| 久久国产精品色| 久久99精品久久久久婷婷| 久久超级碰视频| 国产高清无密码一区二区三区| 国产乱淫av一区二区三区 | 国产视频一区二区在线| 欧美韩日一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 国产精品久久久久天堂| 亚洲免费av网站| 天天色天天爱天天射综合| 久久精品999| 成人一区在线观看| 欧美在线视频不卡| 欧美一区二区三区视频| 久久久久国产精品人| 国产精品国产自产拍在线| 一区二区三区四区国产精品| 亚洲国产成人av网| 狠狠色丁香婷综合久久| 不卡电影一区二区三区| 欧美性受极品xxxx喷水| 欧美一区日韩一区| 国产精品免费看片| 五月综合激情网| 国产精品中文字幕日韩精品| 一本大道久久精品懂色aⅴ| 欧美一区二区私人影院日本| 久久精品日韩一区二区三区| 一区二区三区四区乱视频| 久久99久久久久| 93久久精品日日躁夜夜躁欧美| 69p69国产精品| 国产精品久久久久一区二区三区 | 久久不见久久见中文字幕免费| 成人一级视频在线观看| 欧美精品亚洲一区二区在线播放| 精品国产乱码久久久久久图片| 亚洲图片欧美激情| 久久精品国产亚洲5555| 色综合天天天天做夜夜夜夜做| 欧美精品丝袜中出| 亚洲欧洲日产国产综合网| 日本sm残虐另类| 色婷婷av久久久久久久| 久久网站热最新地址| 午夜精品aaa| 日韩一级片在线观看| 亚洲精品欧美激情| 成人性生交大片免费看中文网站| 91精品国产一区二区三区| ...xxx性欧美| 丰满放荡岳乱妇91ww| 日韩精品专区在线| 亚洲v中文字幕| 色女孩综合影院| 亚洲国产精品精华液2区45| 精品在线免费视频| 在线播放中文字幕一区| 一区在线中文字幕| 成人免费看的视频| 久久精品视频免费| 麻豆传媒一区二区三区| 欧美二区在线观看| 亚洲国产精品久久久男人的天堂| av中文字幕不卡| 欧美激情在线一区二区| 国产一区二区三区四区五区美女| 777xxx欧美| 亚洲bdsm女犯bdsm网站| 欧美日韩在线播放三区四区| 亚洲美女精品一区| 99久久久无码国产精品| 国产女同互慰高潮91漫画| 国产伦精品一区二区三区免费| 日韩你懂的在线观看| 日本一不卡视频| 欧美电影免费观看高清完整版在| 日韩电影在线一区二区三区| 欧美日韩国产综合久久| 日韩黄色片在线观看|