亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲国产人成综合网站| 色悠悠久久综合| 9191精品国产综合久久久久久 | 91麻豆精品秘密| 国产精品白丝在线| 91麻豆免费观看| 色综合天天做天天爱| 奇米影视一区二区三区小说| 欧美成人午夜电影| av激情亚洲男人天堂| 午夜视频在线观看一区二区 | 国产麻豆成人精品| 亚洲嫩草精品久久| 欧美一二三区精品| 91成人免费在线| 极品瑜伽女神91| 亚洲成人一区在线| 自拍偷拍亚洲综合| 久久久久久久久久久99999| 欧美在线啊v一区| 国产精品77777竹菊影视小说| 亚洲777理论| 狠狠狠色丁香婷婷综合激情| 五月开心婷婷久久| 老司机免费视频一区二区三区| 亚洲欧美色一区| 日韩国产精品久久久久久亚洲| 亚洲精品国产品国语在线app| 精品国产电影一区二区| 51精品久久久久久久蜜臀| 欧美va在线播放| 亚洲日本va午夜在线电影| 亚洲一区在线观看网站| 亚洲特黄一级片| 日本中文一区二区三区| 国产精品系列在线观看| 日本高清无吗v一区| 欧美不卡一区二区三区| 自拍偷在线精品自拍偷无码专区| 天天综合天天综合色| 国产91精品免费| 国产精品一区二区果冻传媒| 一本到一区二区三区| 欧美成人官网二区| 亚洲图片自拍偷拍| 黄页视频在线91| 欧美日韩一级片网站| 91黄色激情网站| 久久先锋影音av鲁色资源网| 国产亚洲欧美色| 国产精品无圣光一区二区| 久久综合久久综合九色| 亚洲综合区在线| 成人黄色小视频在线观看| 不卡av在线网| 2欧美一区二区三区在线观看视频| 又紧又大又爽精品一区二区| 国产高清不卡一区| 91一区二区三区在线播放| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲成av人综合在线观看| 99在线精品一区二区三区| 精品国产精品网麻豆系列| 日韩精品一二三| 国产精品资源在线看| 欧美一区二区三区四区久久| 久久精品人人爽人人爽| 久久精品国产精品亚洲综合| 欧美日韩激情在线| 久久久久久夜精品精品免费| 日本色综合中文字幕| 欧美精品日韩一本| 日本一区二区三区国色天香| 一个色在线综合| 韩国视频一区二区| 精品欧美一区二区在线观看| 捆绑变态av一区二区三区| 日韩一区二区在线免费观看| 亚洲bdsm女犯bdsm网站| 91麻豆精品国产91久久久久久久久 | caoporn国产精品| 国产精品免费丝袜| 不卡av免费在线观看| 专区另类欧美日韩| 色婷婷精品大在线视频| 亚洲一区免费视频| 91精品国产综合久久福利| 国产精品18久久久| 国产亚洲午夜高清国产拍精品| 精品一二三四在线| 国产精品另类一区| 91影院在线免费观看| 亚洲午夜影视影院在线观看| 欧美精品黑人性xxxx| 69堂精品视频| 久久精品日产第一区二区三区高清版| 狠狠色丁香婷婷综合久久片| 久久婷婷一区二区三区| 97精品久久久久中文字幕 | 中文字幕第一区| 日本成人中文字幕在线视频| 精品久久久三级丝袜| 成人一级视频在线观看| 日韩欧美一区二区久久婷婷| 玉米视频成人免费看| 欧美三级在线视频| 国产一区二三区好的| 中文av一区二区| 欧美色中文字幕| 亚洲裸体xxx| 91精品国产一区二区三区香蕉| 国产一区二区三区| 亚洲另类在线制服丝袜| 日韩欧美123| 色老汉av一区二区三区| 精品一区二区三区免费| 一区二区三区欧美久久| 欧美精品一区二区高清在线观看 | 欧美一区二区视频在线观看 | 成人一区二区三区视频在线观看| 亚洲成a人v欧美综合天堂| 国产欧美一区二区精品久导航 | 欧美不卡视频一区| 在线免费观看视频一区| 国产一区二区三区久久悠悠色av| 亚洲中国最大av网站| 国产精品久久毛片| 日韩你懂的在线播放| 欧美三级蜜桃2在线观看| www.一区二区| 国产久卡久卡久卡久卡视频精品| 亚洲午夜久久久久| 亚洲蜜桃精久久久久久久| 久久久亚洲国产美女国产盗摄| 精品婷婷伊人一区三区三| 99久久久久久| 国产精品18久久久久久久久| 日韩电影在线免费看| 一区二区三区精品| 亚洲欧洲在线观看av| 色婷婷综合激情| www.日韩大片| 国产成人亚洲综合a∨婷婷图片| 美腿丝袜一区二区三区| 日本一区二区高清| 久久精品亚洲乱码伦伦中文| 日韩欧美国产系列| 日韩三级中文字幕| 日韩一级欧美一级| 日韩美女在线视频| 日韩精品一区二区三区视频| 在线电影院国产精品| 欧美视频你懂的| 精品视频999| 欧美日韩国产a| 制服丝袜成人动漫| 91精品久久久久久久99蜜桃 | 日韩免费看的电影| 日韩欧美一级精品久久| 日韩视频一区二区| xf在线a精品一区二区视频网站| 精品国免费一区二区三区| 精品欧美久久久| 久久亚洲捆绑美女| 欧美国产日本视频| 亚洲欧美另类在线| 亚洲综合丁香婷婷六月香| 午夜免费久久看| 美女视频黄a大片欧美| 国产一区二区三区国产| 国产suv精品一区二区三区| 国产91精品久久久久久久网曝门| 成人国产精品免费网站| 在线亚洲高清视频| 91精品久久久久久蜜臀| 久久久久久99精品| 国产精品成人在线观看| 亚洲第一会所有码转帖| 麻豆国产精品777777在线| 成人中文字幕合集| 欧洲一区在线电影| 精品国产电影一区二区| 日韩美女精品在线| 日韩电影免费一区| 国产91丝袜在线18| 欧美日韩视频在线观看一区二区三区| 日韩视频一区二区三区在线播放| 久久久久成人黄色影片| 悠悠色在线精品| 久久99久久99小草精品免视看| 波多野结衣欧美| 欧美成人激情免费网| 亚洲天堂网中文字| 麻豆成人综合网| 91在线国产观看| 欧美电视剧免费全集观看| 自拍偷在线精品自拍偷无码专区| 麻豆极品一区二区三区| 色天使色偷偷av一区二区| xnxx国产精品|