Lamont 4D Software Module Descriptions

3d axis
draw a 3-D coordinate axis system for the top object of the current geometry viewer

This module draws a 3-D coordinate axis system over the current object within the geometry viewer. Axes X, Y and Z are represented by cylinders. The radius of the cylinder can be defined. The arrows at the end of the each axis are represented by the cone. The module first picks the min and max x, y and z extents of the current top object in the current geometry viewer. The axis range is constrained by [minx, maxx], [miny, maxy], and [minz, maxz]. The annotation font is given by the font number parameter. Two font sizes can be defined, one is the font size for character "X", "Y", and "Z" to mark each axis. Another is the font size for the ticks.

skeleton 3D
extract skeletons of 3D objects

This module applies the algorithm developed by Y. F. Tsao and K. S. Fu in "A parallel thinning algorithm for 3-D pictures". The input is an 3D AVS field any data, any coordinate 1-vector The input field contains 3D objects superimposed on the background. Input data is preprocessed into binary data, i.e. any nonzero data will be 1 otherwise will be zero. Skeletonization is performed in 3x3x3 windows, the output will be a series scatter points which can be connected together in spheres or a line representation.

4D orthogonal slicer
extract inline, cross line or time slice from a volume

This module replaces the AVS orthogonal slicer module to do slicing of a 3D seismic volume. Generally, the seismic volume is a cube of inline or cross lines. Thus the slice is done by referring inline number, cross line number or time slice as desired. Thus this module lets the user to select inline, cross line or time slice to output. The module requires two inputs, one is the 3D volume and another is project information for that volume. The project is used to convert between index number of the volume and inline, cross line and time slice number. Also it will provide the orientation of inline, cross line and which direction that inline is shot.

ARMA spec estimate
spectrum estimate by using autoregressive and the moving average approach

This module computes spectrum of 1D/2D/3D field data which 1-vector any data except double. When input is 1D, it is assumed to be a time series, when it is 2D, spectrum is computed along i direction, each signal is extracted for each j (for j=1, dim[1]), when it is 3D, time series is assumed to be extracted for each i (i=1, dim[0]*dim[1]) along K direction.

Impedance_Trend
compute low-frequency trend from sonic and density logs exported from module export_logs

This module computes the low-frequency trend from sonic and density logs exported from the module export_logs.

Invert_3D_ED
Nonlinear Inversion of Post-stack 3-D seismic data using an even-determined approach.

Nonlinear Inversion of Post-stack 3-D seismic data using an even-determined approach. Inversion of 4-D seismic datasets can be realized by using same reference and initial impedance model derived from acoustic logs.

Invert_3D_OD
Nonlinear Inversion of Post-stack 3-D seismic data using an over-determined approach.

Nonlinear Inversion of Post-stack 3-D seismic data using an over-determined approach. Inversion of 4-D seismic datasets can be realized by using the same reference and initial impedance model derived from acoustic logs.

Phase_Match
matching two 3-D seismic volumes using an exhaustive search of possible phase angles which minimizes the absolute difference between seismic traces between the two volumes.

This modules matchs two 3-D seismic volumes using an exhaustive search of possible phase angles which minimizes the absolute difference between seismic traces between the two volumes.

Phase_Match2
Matching two seismic volumes by changing phase rotation angle of seismic traces in one volume to match the other. The algorithm is implemented in a trace by trace matching fashion, local operators are used instead of using a global phase matching operator.

This module does constant phase matching between traces within two oriented seismic waveform volumes. User is asked to specify a trapzoidal frequency window defined by four frequencies, whether zero- or minimin-phase wavelet should be used, and a phase rotation range with phase interval specified. Then this module will generate two wavelets for each seismic grid location, one with zero-phase, which will be used to filter the trace to be matched to (or destination), and the other with specified phase angle, which is used to filter the trace (or source) to match the destination trace at that location. The module computes the difference trace and an averaged absolute L-1 distance for each trace at each phase rotation angle. Once the phase range is completed, the module will determine the phase angle with respect to the minimal distance at that location, and then use the determined phase angle to match the two traces.

switch axis
switch axis i.e. field rotation

This module switches between two axes, such as from X-Y-Z oriented dataset to X-Z-Y oriented dataset, in this case Y become Z and Z becomes X after switching.

Vector Label
create labels/characters that are really geometries

This module produces labels that are geometries. They can be scaled, rotated, and translated. Other geometric operators work as well, such as color, perspective, and material properties.

add scalar data
add data value to each (x, y, z) point

This module adds a constant data value to each data points. This module is useful when some module needs data values to colorize vertices such as field to mesh, but input data has no values -- only geometry information there e.g. seismic horizons.

amplitude matcher
amplitude normalization of two seismic inputs

This module corrects the seismic amplitude of two seismic volume according to their histograms. The implementation of the normalization is by using bandpass filtering, shifting and scaling. All operations must be consistently applied to the whole volume not a partial volume. Right now all parameters are controlled by the user. An optimization process is not yet implemented. For each operation except the bandpass you have specify which volume is going to be applied to. The shifting and scaling operation are accumulative, but the bandpass is not. If you specify new bandpass range, all operations applied before will be lost, it will start from the beginning.

anot axis
put ticks and annotation on bounding box

This module puts ticks and annotation on the bounding box. When it is used together with draw bound module, the module picks the geometry range of the current top object. Ticks range default are picked x, y, and z range, but they can be changed when real annotation is different display range.

arrow draw
draw an arrow between two picked positions

This module draws an arrow between 2 picked position. To make this module work, at least a valid object must appear on the screen, otherwise it will do nothing. The arrow can be at either ends or both. Width parameter will control how thick it will be, and red, green and blue mixing will give color of the arrow. The pick toggle is important here, when it is turned on, picking is enabled, turning off disable picking, when an arrow is drawn on the screen, a new object is created in AVS geometry viewer's object list window, maximum arrows are 512. So after you have a new arrow drawn, turning off picking, changing all other parameters to make it look like what you want then proceed to next picking.

arrow maker
draw a arrow maker on map view, i.e. X-Y plane

This module draws a arrow from position (x0, y0, 0.0) to (x1, y1, 0.0). Arrow can be drawn at both ends when left and right arrow toggle are turned on. Line width is changeable. Also label can be put at the both ends.

background color
change background of the current scene

This module is a control module which can change background of the current scene. The background color is determined by triple float , R is red color component, G is green component and B is blue component.

bound pick
pick boundary of regions for a 2-D data field

This module picks the boundary of all closed regions and draws it. This module takes a 2-D irregular field, checks out points whose z has a bad z value. Complete polygon logic is used to find the closed region, then pick out the boundaries. The boundary will be drawn as lines -- line color can be chosen. The color can be either a single color defined by (r, g, b) or a colormap which will colorize the line segment by data values at the points on the line. This module is very useful to pick the boundary of reservoirs.

brick visualizer
visualize 3D seismic in the form of brick excavation

This module is a replacement of the AVS module "excavate brick" which does texture mapping and thus does not fully using hardware rendering. "brick visualizer" will do almost same thing like "excavate brick" module, but it does real rendering in geometry viewer. Thus, it is much faster. But if the input dataset is very large, it will end up like "excavate brick" module because more polygons involved in representing data points on the all outermost surfaces of the excavated brick from the volume. Thus for very big dataset, it is advised to downsize input by some factor in order to get performance.

bubble maker
render a series of scatter points into bubbles

This module render a series scatter points (x, y, z, data) into bubble spheres. The input data is 1D 3 space irregular 1-vector field. data field will used to scale radius and colorize it. Colormap is optional, red, green and blue will (R, G, B) of single to colorize every bubbles. The radius parameter is used to scale radius, the largest data value has radius this value, every point has data value <= largest will be scaled by (data/MAX)*radius.

contour plot
contouring a surface

This module does contouring of an input surface, the input surface is a 2D AVS field which can be UNIFORM, RECTILINEAR, and irregular n-space n-vector field. When the input is 2D n-space uniform n-vector field, x and y coordinates will be index of data points, and at least one data component must be present. This data component will be z component for the contouring. For a 2D n-space rectilinear n-vector field, the x and y coordinates will be constructed from the x and y component of the input point array, and the z component will be constructed from the first data component of the input -- thus one data component must be present for contouring. If the input field is 2D n-space irregular n-vector field, i.e. 2D data in 2-space, then x and y will be constructed from the point array of the input field and the z component will be constructed from the first data component of the input field -- thus at least one data component must be present in the input field. When the input field is 2D 3-space irregular n-vector field, then the x, y and z components will all be constructed from the input point array of the field. Thus contouring will be applied to the Z coordinate of the surface. In summary, this module is used to contour a real surface or a slice.

coord operation
operation on coordinates of an irregular field

This module performs math operations on coordinates of an irregular field. For now, only 4 basic operation are implemented. They are: adding a constant to the coordinates, subtract a number from the coords, multiplying the coords by a factor, or the coords are divided by a constant.

coord transformer
convert from one coordinate system to another coordinate system

This module transforms one coordinate system to another coordinate system such as from real world coordinates to index coordinates, index to real world coordinates, index to internal coordinates, and internal coordinates to index. Index coordinates are the index of data -- base of index coordinate is 0. Index coordinates are mostly used for uniform fields, such as a 3D seismic dataset. Internal coordinates here are internal inline, cross line and time of seismic data. Real world coordinates are the real world coordinates of the survey grid of a 3D seismic data set. This module takes two inputs. One is a field 3-space irregular AVS field. This field contains (x, y, z) coordinates for each data points -- data can be included or not. The other input is the project which is used to do transformation because all the transformation matrices are contained in this input.

copy horizons
copy horizons from one UNIX database to another one

This module copies interpreted horizons outputed by "horizon dump" module from one UNIX database to another database. UNIX command cp will not work on UNIX DBM generated file. Thus to move horizons from one file system to another this module must be used.

create tdc well data
create a tdc well data for module such as read tdc well. (this is a stand alone module)

This module combines Landmark dumped well direction file and conversion file (depth to time) into a tdc well file which can be read in by the module read tdc well.

create well data
combine well position, time-depth conversion table and well log data into another formatted file

This module combines well position file which contains (dx, dy, md) information of many wells, time-depth table which contains time-depth pairs for many wells and well log file into one formatted file which will have well position, TDT and well log together. The output file will be used by several 4D modules such as "seis view", "well handler", etc.

crop 4D field
crop a 3D volume

This module does cropping of a 3D volume like the AVS crop module, but it is not like AVS crop because it will update project information for this volume as well. Thus, this module takes two inputs, one is the AVS 3D field, another one is the project information for the input volume. After cropping, the project information will be updated and outputed. So the module generates two outputs, one is cropped volume and the other is the updated project information.

cross correlation
cross correlation between two field datasets

This module calculates the cross correlation between 2 AVS field datasets and output shifted dataset. The input field 1 (rightmost port) will be standard dataset. The input field 2 (leftmost port) will be dataset going to be changed according to result of cross-correlation. The cross-correlation will give optimized shift amount so that 2 datasets will be mostly matched. Shift direction can be changed by the shift direction parameter, for 1D data, only I is available, for 2D I and J are available, for 3D, I, J and K are available. Choosing K means shifting will along K direction. max shift parameter will apply some constraint on amount of shift this value is default max shift possible along specified direction. Say shift direction is K, then max_shift = dim[2] / 2. because cross correlation on 3D volume will be pretty time consuming, also if data has very good signal / noise ration, then a portion of data can be used to do cross correlation analysis. This is controlled by start from which defines start cross correlation from which samples and window length which is a window to select data for analysis. The default start from is zero. The default window length is the length of the dimension selected.

cube maker
draws a 3D cube

This module draws a 3D cube. The cube size is defined by (minx, miny, minz) and (max, maxy, maxz). These pairs (x, y, z) specifies two diagonal corner coordinates.

cube reduce
down size the input 3D uniform field

This module downsizes the input 3D uniform field. It will create a rectilinear field.

cube slicer
extract a slice from a seismic cube in real world coordinates

This module reads in a uniform seismic cube data field, extracts a slice specified by the slicer level parameter. The slice direction is specified by the toggles slice I, slice J, or slice K. The real world coordinate (x, y, z) is connected to each output data points. Thus lower left, lower right, and upper right corner real world coordinates must be defined in order to calculate real world coordinates of output data points.

curve slicer real world
mapping seismic attributes such as amplitude, reflection strength, density, pressure to a fault or any horizon surfaces

This module maps seismic attributes to a fault plane or any seismic horizon such as amplitude, reflection strength, impedence, velocity, pressure, porosity, density, gravity, thermal properties, etc. The module take 2 field input, the first one (left most input port) takes a seismic cube which define seismic attributes. It is a 3D uniform field data, data type must be byte. Second field input (right most input port) is a geometry which defines surface of the fault plane or any seismic horizon. For uniform input seismic cube, lower left, lower right and upper right corner (x, y) coordinates must be specified to calculate real world coordinates of each grid point inside the cube. point interpolation is used to pick data points and put it to corresponding point on the surface. The output from this module is a 2D irregular mesh which can be visulaized by field to mesh module or if there is any physically unmeaningful data points on the surface, the point 2 surface module can be used to render this surface without including any null data points.

curve slicer
slicing a cube field by an arbitrary surface such as seismic horizon, fault plane in index coordinate system

This module extracts seismic data, reflection strength, or any geophysical data from a data cube according to a known horizon slicing through the cube. Horizons are such things as seismic horizons, fault planes, or any interesting surfaces such as temperature pressures, etc. Because the cube data is generally uniform field data, each data point is indexed by the (i, j, k), but the horizons are commonly defined in the real world coordinate system (x, y, z). If the cube data and the horizon data are not in the same coordinate space, the conversion is necessary to make them consistent. real world to index module can be used to convert real world coordinates (x, y, z) to corresponding index (i, j, k) (refer real world to index module).

curve slicer real
slicing a cube field by an arbitrary surface such as seismic horizon, fault plane in real world coordinate system. The output is in real world coordinates or in index coordinate of the volume.

This module maps seismic attributes to a fault plane or any seismic horizon such as amplitude, reflection strength, impedance, velocity, pressure, porosity, density, gravity, thermal properties, etc. The module take 2 field input, the first one (left most input port) takes a seismic cube which define seismic attributes. It is a 3D uniform field any data type. Second field input (right most input port) is a geometry which defines surface of the fault plane or any seismic horizon. In order to find out whether points on the surface are in the volume or not. The project description file of the input volume must be provided.

data clip
clips data to a range

Clips input data to the range [lower, upper] inclusive. Any data less than lower is clipped to zero, any data larger than upper is set to zero.

data cutout
cut out a time-window segment of data along a surface

This module extracts data from a volume according to the input horizon and specified window length. The output data will be sandwiched between two surfaces -- the top surface is the input surface moved up half the window length, and the bottom surface is the input surface moved down half the window length. The input data has time or depth in dimension 3, if it is not, you have to make it that way by using the "switch axis" module. The output has the same dimensions of the input, and has the same data type. All data points outside of those two surfaces will be set to be zeros. If the surface is not complete, i.e it contains holes (defined by z values of the input surface, for example -999.0, usually less than zero), then the whole trace at that position will be zeroed out. This module will not consider any z coordinate of the input surface when its value is less than 0 and larger than dim[2] - 1 of the input volume.

data histogram
calculate data value histogram of an input

This module calculates the data value histogram of the input field. The output is 1D uniform integer field which can be displayed as a histogram by the graph drawing module.

data loader
a generic seismic data loader

This is a very generic module to load seismic data into AVS for future analysis. Input data can be following data format, SEGY, SEGD, AVS field, Landmark CD format (which is called Spread Sheet format by us), AVS field, and in-house 4D data format (which is AVS field but have some information embedded in field comment area). Right now except SEGD, all of other format are supported.

data paste
combine two fields into one big field

This module pastes field 2 to the end of field 1.

threshold data
clip data between low and high thresholds

This module thresholds a dataset by applying low and high thresholds on it. Any data value less than low threshold is zero, any data value greater than high threshold is clipped to high threshold.

digital filter
perform various digital filtering to the data

This module performs various digital filtering such as low pass, high pass, band pass and notch. Input field can be 1D/2D/3D any type, scalar. Sampling direction can be selected. Say for 3D, I, J or K can be the filtering direction. Sampling interval must be provided to calculate maximum frequency of signal.

dialate
dilating boundary of geometry objects

This module implements a dilation algorithm. Two rules are used in this program, majority or anneal. In case majority, when number of neighbor of the cell exceeds (half size of box - 1), then this cell will be alive, otherwise it will be dead. In case of anneal, when number of neighbors is half size of the box, the cell will be dead otherwise if number of neighbor > halfsize of the box - 1, then the cell will be alive. If # of neighbor < halfsize of the box - 1, the cell will be dead.

downsize 4D field
downsize a 3D volume

This module does downsizing of a 3D volume like the AVS downsize module, but it does several things differently. First downsizing can be different on each direction. Also downsizing can be point sampling or averaging. For 3D seismic data, it is usually desirable to not downsize on the time direction. This module will also update the project for the input volume.

draw all well path
draw all well paths in the geometry viewer

This module draws all well paths in polylines. Well path geometries are passed over by the read all well path module. A mark can be put at the well position of the well at the surface. Well name can be labeled at the well position as well if label size is not zero.

draw block line
rendering seismic survey blocks in lines and block numbers as labels.

This module renders seismic survey block lines and block numbers as lines and labels. The block lines and numbers are meta files generated by Landmark.

draw bound
draw a volume bound for the top object of the current geometry viewer

this module draws the volume bound for the top object the current geometry viewer. The bound geometry range is picked by the module, i.e. min and max x extents, y extents, and z extents. The bound can be colorized X-Y, X-Z, Y-Z planes can be meshed.

draw survey grid
draw seismic survey grid, i.e a rectangle

This module draws a seismic survey grid, generally a rectangle. (x, y) coords of the 4 corners of the grid are provided by the grid file which is 2 column ASCII text file.

edge detect
detect edges of a 3D dataset

This module detects edges of a 3D dataset. 3 choices are provided -- detecting all edges, horizontal, or vertical edges.

export logs
export logs from the well file for a specified well name and time-depth conversion table

This module export multiple logs from the input well file which is formatted by the module . When the well file name is provided, the module will initialize the well name list by all well names in the input file, then when the well name is selected, the log list and and TDT list will be updated.

extract data along well
extract data along a well path

This module extracts data along a wellpath, well path is defined in the input "well path", which is a 1D 3-space irregular float, 3 spaces are coordinates x, y and z of measured points. This input can be from the output of the "read tdc well" module which can read one well from an input file, another input is "input data" which is usually 3D uniform any data 1-vector field, it can be seismic volume, impedance volume, etc. This module will find first all intersected points of well path with the volume, then data at intersected points will be extracted and outputed. This module requires another file which is "project description file" which is used by many 4D modules. That file can be generated by several modules such "data loader" module, "project description" module, and "subproject desc create" module. Because the well path is usually defined in real world coordinates (UTM) but the volume is usually volume which is defined in index world coordinates that is simply (i, j, k) (integer indices). So transformation between real world coordinates and index coordinates must be done before data extraction.

extract horizon
extract horizon from a landmark dumped horizon files

This module extracts horizon (x, y, z) from a field input. read field will read a landmark dumped horizon file or horizons file outputed from "read horizons" module and feed into this module. Input to the module can be 2D 3-space or 2-space irregular n-vector field float format. When it is 3-space, AVS field will look like x y z v1 v2 v3 v4 v55 ....

extract slicer
extract a slice from a 3-D seismic cube

Extract a slice from a 3-D seismic data cube, the output is an AVS 2D irregular field. (x, y, z) will be corresponding indices of each data point. This module is coded for the point_2_surface module or any module that needs coordinate information in order to put in right position in space.

extract trace
extract a seismic trace from a 3-D seismic cube

Extract a seismic trace from a 3-D seismic data cube. The data cube is an AVS 3-D 3-space uniform data. X-Y plane is the time slice.

field crop
field data crop

Field data cropping. Field can be any dimension (1-3), any data and any coordinate.

field math op
math operation between 2 fields

This module performs some operation between two fields or on field 1. It contains most operations of AVS field math module but implementation is a lot different.

field to uniform
convert any AVS field to the uniform field

This module converts any AVS field into the uniform field. The output has the same dimensions of the input field, and same data type. The only difference is that the output is uniform. This is written for some modules which require the uniform AVS field.

fluid migration
simulated fluid migration of oil and gas

This modules simulates oil and gas migration inside a 3-D seismic data cube. The input data file is connectivity of possible pathway of migration. This can be obtained by applying a group of modules to the original reflection strength data, such as neighbor average, median filter, and region grow. This module will automatically identify all connected objects inside the cube, and seed fluid from a initial position. The particle (small sphere) is traveling by searching neighborhood points then, an arbitrary position is chosen to be next move. "buoyance flag", if set, will release particle which couldn't find next position until it meets another object.

fourier spectrum
calculate power spectrum of an AVS field

This module computes power spectrum of an input AVS field. The input field can be 1-D, 2-D or 3-D field. When it is 1-D field, it is assumed to be a series, and its power spectrum is calculated. If it is 2-D field, power spectrum is computed for each i (i=1...dim[0]) which constructs a series s[j] (j=1...dim[1]). If it is 3-D, the power spectrum is computed for each i (i=1...dim[0]*dim[1]) a series s[k] (k=0...dim[2]) is constructed, then the power spectrum is computed based on this constructed series. The output is corresponding 1-D/2-D/3-D 1-vector float uniform field.

geostructure visualizer
stratigraphic visualization

This module does stratigraphic visualization, the input is a set of horizons for a 3D seismic dataset. The horizons are usually autotracked by the "horizon tracker" module. Then identified by the "horizon identifier" module, each horizons will be displayed in unique color. Also horizons can be output from the "horizon dumper" module.

grow region
region growing around seed points

This module performs region growing around the seed points. Input data must be 2D or 3D uniform scalar any data field. search low and search high parameter will define dynamic data range to search a seed point, once this seed is picked, a box is surrounded this points, each points inside this box will be checked against the dynamic data range defied by grow low and grow high, if data point is inside range, this point will be treated as a new seed point and growing on top of it, this will continue until all data points are searched.

histo match
histogram matching

This module implements histogram matching between two input fields. The histogram of field 1 which is right most port will be the desired histogram, and the histogram of the field 2 will be matched to it. The matching is exact.

histogram equalizer
histogram equalizer

This module performs histogram equalizer of 2/3D data, input data can be any data (byte, short, int, float, double), output field is 2/3D scalar byte field. Input field can be uniform, rectilinear, or irregular. The purpose of this module is to enhance contrast between objects.

horizon dump
horizon interpretation of 3D seismic data

This is a module to do horizon interpretation of 3D seismic data, this module internally building a network when it is dragged to the work space. The network includes read field, colormap, horizon dump, graph viewer and image viewer 4 modules. All ports are properly connected, so don't disconnected port connection.

horizon identifier
identifies each individual horizons from autotracked volume and saves them to the horizon database

This module searches each possible individual horizon from the autotracked volume which is produced by the "horizons tracker" module. The identified horizons will be saved to the UNIX database. In order to save the horizons into the database for other modules such as "read horizons", "horizon dumper", etc to access, the correct project description file, and tracking mode of the autotracking must be given.

horizon_marker
draw a line on the displayed images

This module is a utility module which draws lines on displayed images. The line can have different thickness which is set up by the parameter "Width", the line color is set by combination of "Red", "Green" and "Blue". The drawing can be removed by pushing "clear". Before drawing, "set pick mode" must be pushed. The combination of shift key and button 1 of the mouse will terminate current drawing. After termination drawing, you can start another drawing from anywhere.

horizon_picker
pick on the displayed image and output picks

This module is a utility module which can pick on the image and connect all picks into a line. The all picks will be output into an AVS field 2-D 2-space 0-vector irregular integer. This field contains (x, y) pairs of all picks.

horizons tracker
automated horizon tracking of a 2D seismic section or 3D volume

This module provides capability of automated horizon tracking. Input is 2-D or 3-D field uniform 1-vector any data. The output is corresponding field 2/3D 1-vector uniform byte. In the output field, if the data at (i, j) or (i, j, k) is 255, that indicates a picking at that position, otherwise no.

imp_trend_operation
add or subtract low-frequency trend from a 4D field

This module adds or subtracts the low-frequency trend from a 4D field.

import horizons
save horizons in an AVS field into the database

This modules imports horizons in an AVS field file into the database for other 4D modules especially "horizon dump" module to use. The input AVS field has special requirements, it must be AVS field 2D 2-space n-vector any data format. The point array of the input field contains real world [x y] of all points for horizons. These horizons are supposed to be picked from the same volume, thus they have same dimensions. The data array contains all times of horizons in microseconds, thus first component of the data vector is horizon number 1, and etc. Also the project for the volume from which these horizons were interpreted must be provided because the project information about the volume is saved together with the horizon itself.

index 2 world
convert index (i, j, k) to real world coordinate (x, y, z)

This module converts index coordinates (i, j, k) to real world coordinate (x, y, z). For example, the "extract slicer" module can extract slice from a cube, which outputs a slice with index coordinate (i, j, k) information associated with each data point extracted. If well data such well path, well log data needs to be displayed in the real coordinates with seismic data together, then index coordinates of seismic data must be converted before displaying.

intersect
to do intersection of two volumes

This module does intersection of two volumes and generate two new volumes. For 4D seismic analysis, it is usually desirable to compare two volume that has the same grid, and same number of dimensions. But for multiple 3D seismic data, it is often that one volume contains a lot of zero traces or bad traces, but another volume has those traces present. When to do amplitude normalization, statistic analysis will be biased because of number of nonzero data points are different, thus we need to make the two volumes has same number of zero data points in order to compare them. So this module will check against each for these zero points -- if zeros appear in one volume, then corresponding position in the another volume will be zeroed too.

label well
mark a well position by its well name

This module labels a drilling well by its well name which is label of the input well path geom. well path geom can be obtained by read tdc well. This module is mainly used in conjunction with the well extrusion module.

line maker
draw a segment of line

Draws a line segment which is defined by (x0, y0, z0) and (x1, y1, z1). The line color is given by combination of red green and blue.

local statistics
calculate local statistics using upto a 9x9x9 cube.

This module will compute a local statistics of the users choice for locality cube of upto 9x9x9. Available calculations are variance, mean, and a correlation number based on a generalized coherence concept, hence has a range of 0-1. Also included is a variogram-like number for the cells in the cube.

log on seismic
extract seismic section by well path and mapping log data on it

This module extracts data along a well path, data is extracted either in I or J direction, extracted data will be whole section not just data along the well path, if you want to only extract data along a well path, the module "extract data along well path" will do it. Extracted data will be displayed with well log together. Thus this module is useful to compare data with the well log. Because the well path can be arbitrary not necessarily up and down, so the picked data will be arbitrary section not orthogonal section.

make label
put a text label at any position (x, y, z)

The module make label puts a label at any position of the real world (x, y, z). Title toggle specifies if the label is a title, if it is, it will put in absolute position within range -1 =< x <= 1, -1 =< y <= 1, and -1 =< z <= 1. If it is not a label, the x, y and z coordinates can be any float. If background is turned on, both foreground text and the background rectangle that encloses the text are drawn. If drop is turned on, then a one-pixel drop-shadow highlight is added to the text. This makes the text stands out against a background of similar color.

mark all wells
mark all wells at specified position

This module marks all wells at the specified depth position. Two inputs for this module are generated by read all well path module. The mark is a colorized sphere whose radius is user defined. Well name can appear too if label size is not zero. Color for the mark and label can be user defined too by choosing red, green and blue components. Font size for the well label is available to choose.

marking
put a spheric mark at the picked position

This module puts a spherical mark at the user picked position Picked coordinate is either in model space or closet vertex coord from the picked point. Pick choice will turn on either one. When you want mark attached to the geometry, you better use by vertex which is the default. Sphere radius and color can be chosen. The toggle pick will turn on or off picking -- when you finished picking, better turn off picking, otherwise, every time when push left mouse button, picking will be enabled by AVS kernel because AVS assume left mouse is for picking object.

multi curve slicer real
multi slicing a cube by a defined geometry surface

This module performs multi slicing of a data cube. The slicing plane is an arbitrary, thus it can be any plane defined by a mesh, but this mesh (x, y, z) can be inside or outside of the cube. Because the data cube is generally uniform 3-D field data, i.e. it is index by node index (i, j, k). But the surface is commonly defined in real world coord (x, y, z). In this module, each node point crossing with slicing surface is converted to real real world coordinate. This requires project description file be provided for conversion between real world coordinates and index coordinates.

median filter
median filtering on 2D or 3D data

This module performs median filtering (a kind of blurring) on 2D or 3D data. Input data can be char, short, int, real, double. It can be uniform, rectilinear, or irregular. In the 3D case, filtering is performed slice by slice. The "filter size" parameter is an integer which defines size*size adjacent points which will be sorted together. The "average size" parameter will decide how many points to average. For example, if the filter size is 3, then the averaging box size is median point index is 4, and there are 4 points on both sides of this median point. If average size is 2, then point 2, 3, 4, 5, 6 will be averaged to be output for point 4.

modify extent
modify special extents of the input field

Reset special extents of the input field. The module first reads original extents and displays them, then user is free to change them.

morph
morph one volume to another volume

This module generates intermediate volumes when morphing one volume to another volume. The output will be files, all files have the same base file name and affixed by the frame number. The number of frames can be specified.

multi curve slicer
multiple curve slicing

This module does multiple slicing by using a surface. The number of slices and slice interval are controlled by first slice z, last slice z, slicer increment and delta z. But the function of this module can be also be accomplished by the "curve slicer" module, "coord op" and the "point to surface" module -- by translating z coordinate in "coord op" module and rendering by the "point to surface" module. However the object name in "point to surface" module needs to be changed for each translation. This module just provides a convenient way to do multiple slicing in index coordinates.

multi slicer
generate multiple slices of uniform cube data

This module generates multiple slices from cube data. The input is AVS 3D 3-space 1-vector data. Slicing is orthogonally performed on the dataset. Slicing can be performed on index I, J or K. The start slicer parameter specifies the first index number which the slice plane is cuts through. The slicer increment parameter specifies that slicing is performed every increment index starting from the start slicer index number.

neighbor average
downsizing data by averaging

This module downsizes the input data by averaging all data points in the selected window. For example if the input data is 3D, and the factor is 4, then every 64 points will generate a output point.

north arrow mark
draw a north arrow mark on map view, i.e. X-Y plane

This module draws a north arrow on the map view plane, i.e. X-Y plane. The arrow is defined by (x0, y0) and (x1, y1) which are the start and end coordinates of the arrow, the length of the arrow is determined by the distance between point (x0, y0, z) and point (x1, y1, z). Also this module will draw the east-west bar with N-S together. It will be a cross but only north has the arrow attached to it. The cross is assumed to be only on the XY plane, so the z coordinate for two end points will be the same.

orient seismic
orient a source 3D seismic cube to a destination grid the orientated seismic field is output in form of avs field. At the same time, a new destination field is output, this one only contains overlapping area.

A subroutine named orient_seismic has been used to take two non-coincident 3-D seismic fields and interpolates one of the fields to coincide with the other spatially and in terms of voxel resolution. Alignment in the z (depth) axis simply involves cropping of data sets. The z values are measured in milliseconds and each data set was sampled at 4 ms intervals, thus resolution in the z direction is ensured. The subroutine uses nearest neighbor techniques for interpolation that ensures the spatial error is at maximum (2/sqrt (2)) * axial resolution.

peer
Extract skeletons of a 3D volume data

This module extracts a skeleton of a region-grown 3D volume. The skeleton will be rendered as a series of small spheres which can be colorized by the data value itself. Also all spheres can colorized by single color defined by the R, G and B parameters.

picking
connect picked points by a line

This module will connect all picked points into a line. When the pick toggle is turned on, picking is enabled. All points before turning off the pick toggle will be connected into a line. Picking is realized by pushing down left mouse button which is the defined picking button for AVS. This module can generate multiple line objects depending on how many times pick is turned on and off. The line can be an ideal line in which the width parameter must be zero or has some thickness when width is not zero. The thick line is simulated by a cylinder. The line color can be selectable which is a mixing of red, green and blue.

point to surface
convert 2D irregular points into a surface

This module converts a 2D irregular field into a surface. The surface can have holes inside. A bad z value, defined by the parameters invalid Z1, and invalid Z2, will define points which have z coordinates of this number. If any point has z value in the range defined by invalid Z1 and invalid Z2 parameter, it will not be visualized -- for example, holes can be defined by a series of points with z value in this range. Each cell of the irregular grid is rendered to be a polygon if the four points defining this polygon are not bad points. Four corner points z coordinates will be checked against this invalid range. If one of z coordinates of 4 corners has a bad z value, then this cell will not be rendered (i.e. it is not added to the polyhedron object). The red, green and yellow color components will be used to shade the surface.

print project
print content of the project for a 3D volume

This module will display all information about a project description of a 3D volume. When this module is initialized, it will pop up a window. Project information will be printed on the window such as survey four corner specification, the various matrices to do transformation, etc.

project builder
create a new project description file based on a template project description file

This module creates a new project description file based on a template project description file. The template project file is input by selecting a project description file which has suffix ".prj". The user must enter new line, trace and time range values. The module will recalculate the four-corner real world coordinates (x, y) of the new grid.

project description
create a project description file

This module creates a project description file for future manipulation of the dataset of this project. Simply, the project here is a single 3D seismic dataset. The project description file will record information such as how many seismic lines, how many seismic traces per line, and how many samples per trace. If it is a cropped cube of the original 3D seismic cube, then the cropping information will be recorded inside. Cropping will be represented by 3 parameters: xoffset, yoffset and zoffset. These numbers are in terms of the index numbers of the cube.

read 4D field
read a 3D volume which is in Lamont 4D format

This module loads a 3D volume into AVS. The 3D volume is formatted like an AVS field, but it contains all information about this 3D volume, such as inline, cross line and time range, various transformation matrices, north arrow information, and four corner specification. The output is one AVS 3D 3-space 1-vector field uniform any data. Another one is the project information about this field.

read all well path
read well path data

This module reads all well path geometries, i.e. (x, y, z)'s of wells in a text file.

read horizons
read horizons from the output of "horizon dump" module and output all horizons selected to an AVS field formated file.

This module is a utility module which reads horizons from the horizon database output from the "horizon dump" module. The horizons from the "horizon dump" module are saved to a UNIX database. They are keyed by the horizon names which are unique. Input to most of 4D software modules such as "point to surface" module, etc. are AVS field format. This module provides a way to extract horizons from the database and output to a field file.

read project
read a project description file

This module reads in a project description for a 3D volume. The output is the AVS user data structure for the project -- this output can be used by many modules which require the project information.

read ss
read a spreadsheet data file

This modules reads in a spreadsheet file which generally contains seismic data. Data is in form of one trace followed by another trace. It is very similar to SEGY formatted data, but no 3200 bytes EBCDIC, 400 bytes binary header and trace header header for each trace. Data is read in, and it is transformed into avs field data format. The dimension one for avs field is always trace #, dimension 2 for avs field is line #, and dimension 3 is sample number. The input data type can be one of unsigned char, char, int short, float, and double. But signed char is not supported by avs. Thus if the input data is signed char, and output is chosen to be unsigned char, a constant 128 is added to each sample in order keep range of the input data.

read tdc well
read well path data

This module reads well path data. A well path can be defined by measured depth (MD) by two way travel time (Time), or by vertical depth (TVD stand for time converted vertical depth).

read well log
read well log data

This module reads in well log data such as sonic velocity, resistivity, porosity, etc. The input well file must have the following format:

region erosion
erode a single layer of pixels from the region around picked points

This module implements the erosion algorithm which will erode a single layer of pixels from the region around selected points. In the program, the input field data is treated as binary data, i.e. any data value != 0 is treated as 1, and zero data points are zeros. This process will be used to smooth boundary of geometry objects. Generally speaking, the input data field is clipped field data, i.e. data has zeros inside.

res builder
convert solid reservoirs into surface or mesh

This module is used to convert solid reservoir volumes into a surface. Superficially it is like isosurface, but it is very different in approach. This module takes input from the grow region or region erosion/dilating modules. The grow region module will use high seismic amplitude data points to be seed points, then grow from them so a connected solid volume is identified. The module first checks how many independent (separate) geometric objects are in the cube, and placed on a list, then the surface points are checked out by using complete polygon case logic. Once all the surface points are identified, closed edge loops will be searched and smoothed for each z plane. Smoothing window length can be user specified. Lastly a irregular coordinate array is built up for surface rendering.

scat 2 surface
convert scatter points into surface by doing triangulation

This module converts a series of scatter points into a triangular surface. These points belong to converted polygon and no holes on the surface. The module will triangulate those points and render as a surface.

scatter to ribbon
make a series of scatter points into a ribbon in 3-space

This module draws a series of scatter points in the form of a ribbon in 3D space. All points are represented as (x, y, z, v1, v2, ..., vn). The input field can be with or without values. If it has no values, then a thick line will be simply drawn. Otherwise the value will be added to x or y coordinate of corresponding point by scaling and gaining. The ribbon can be reside along XZ or YZ plane, depending on the view direction.

segy look
SEGY tape or disk file preview

This AVS coroutine module scans the SEGY formatted tape or disk file and displays information from the EBCDIC header, binary header and trace header. This module is a stand-alone module. When it is loaded in, it will pop up two windows, one is the input file browser, another one contains 3 string-block browser windows. The first string browser called EBCDIC will display the 3200 EBCDIC header. The second one is Binary Header which will display information from the 400 bytes of binary header. The third one is the Trace Header window which will display information from the trace header -- only information from bytes position 1-4 (trace sequence number within line), 5-8 (trace sequence number within reel), 9-12 (original field record number), 13-16 (trace number within the original field record), 21-24 (CDP ensemble number), 25-28 (trace number within the CDP ensemble), 115-116 (number of samples in this trace), and 117-118 (sample interval in microseconds for this trace). You can choose every N trace to display its trace header, the default is 1.

seis attr analyzer
seismic attributes analyzer

Currently this module only takes input amplitude, frequency and phase, cut part of it according to the picked horizon input data which will be center of the window to cut the data. The outputs are cut amplitude frequency and phase.

seismic attributes
seismic attribute analysis

This module performs seismic attribute analysis on input 1D, 2D or 3D 1-vector uniform, byte/short/int/float field data. Analysis proceeds trace by trace in case of 2D and 3D. For the algorithms used for attribute analysis, please refer "complex seismic trace analysis" Geophysics, v44, p1041-1063 by Taner, M. T.

seis view
view 3D seismic data

This module is for the viewing of 3D seismic data. The module has two geometry viewer windows. The first window displays all survey information of 3D seismic input such as the survey grid. The survey grid is usually displayed as a rectangle in the window. All objects in this window will be in real world coordinates. In the window, the north direction, the scale bar of the survey, and the inline direction are displayed. The survey grid is labeled by the line and trace numbers. In the rectangle, there are 8 inlines drawn as lines. All lines in this display are in red.

seismic viewer
convert a 2D 1-vector field to a 2D 4-vector AVS image format

This module converts a 2D uniform 1-vector any data field into a 2D 4-vector uniform byte AVS image format which can be sent to the image viewer for display. If the colormap is provided, then colorization is done according to the range of the data and min and max for colormap. A data value < min value of the color map will be set to the min of the color map a data value > max value of color map will be set to the max value of the color map as well. If no color map is provided, a gray scale is automatically used. If the dynamic range of the data is less than the colormap range, then the data are stretched to this range. This module is written to colorize 2D seismic sections -- use this module to colorize seismic data instead of providing a color map directly to the image viewer.

semblence
semblence analysis of a 3D seismic data

This module converts a 3D seismic volume into the semblence volume. The semblence is useful to identify fault even the falut plane reflection is not recorded also stratigraphical change can be detected by the semblence.

set invalid z
invalidate the z coordinate, i.e. set it to be special value such as -999.0

This module sets z coordinate of some data points to be special value such as -999.0. Coordinate range is defined by min x, y, z and max x, y, and z coordinate of point array in the input field, if coordinate (x, y, z) of the input data is in the range of the specified, then the z coordinate will be set to be "invalid z value". For example, excluding some points in same depth range on the interpreted horizon before rendering it.

show color
show color of a (R, G, B) combination

This module displays the color of a (R, G, B) combination. The only parameter is color choice which contains all the color names in the color name database of X11, i.e. the color names in the file $OPENWINHOME/lib/rgb.txt.

skeleton
extract a skeleton of the 2D image

This module implements the Zhang-Suen algorithm to extract a skeleton of a 2D image. For example, the skeleton of a circle will be a point and the skeleton of a rectangle will be a line.

space_2_to_3
convert a 2-space field to a 3 space field

This module converts a 2D 2 space field into a 2D 3 space field. The input field must be 2D 2 space, uniform/rectilinear, byte/short/int/float scalar data. The output field will be a 2D 3 space, irregular, byte/short/int/float scalar field. The z coordinate will be the data column, i.e. the 2D 2 space data can be displayed in 3D space -- data value will give a topographic look.

spectrum by entropy
power spectrum estimation

This module does power spectrum estimation by using the algorithm presented in the "Numerical Recipes", section 13.7. The linear predication algorithm on page 566 through 569 is used to obtain coefficients for the later spectrum estimate. The number of coefficients must be chosen by experimenting with the data. A default of 10 is given.

spectrum match
frequency match between two fields

This module matches two fields in the frequency domain, i.e the same band-pass filter applied to both fields. The band width of the filter is defined by low cut 1 and 2 and high cut 1 and 2.

sphere maker
draw a sphere

This module draws a sphere with a radius defined by the radius parameter. The center is defined by the center x, center y and center z parameters. The color red, color green and color blue parameters will give the color of the sphere.

static correction
apply static correction (shift) to each trace of the input data

This module statically corrects each trace of the input data field. The input data are either a 1D, 2D, or 3D AVS field, any data 1-vector. Correction is implemented in terms of shifting the trace, i.e. pasting zeros to the front of the end of the trace depending on the shift direction. When the input is a 1D trace (1 trace only) the shift is either up or down.

statistic report
statistical analysis of field data

Statistical analysis of the input field data -- input field can be any data, any coordinate, any vector length.

surface smooth
down size points of a surface geometry by an averaging neighborhood

This module does smoothing of a 2D input mesh, which is usually a horizon. Because the horizon is picked from the seismic volume which is a regular volume, the horizon is a regular mesh. Thus smoothing is only applied to the z coordinate, ie time. Smoothing is simply performed by averaging all z coordinates in the specified window which is is defined by X and Y numbers. The number for X and Y will be only odd numbers, such as 3, 5, 7, 9, 11, 13. The maximum smoothing factor for this module is 15.

text write
put a text string at the picked position

This module puts a text string at the picked position. To make this module work, you need a valid object appearing on a geometry window, otherwise it will do nothing. The picked (x, y, z) could be nearest vertex (x, y, z), (x, y, z) in model space, (x, y, z) in screen space or (x, y, z) in world space. The text color and height can be chosen. The text is either aligned right, left, or middle. Font type can also be specified.

trans null verts
put transparency to user specified data point which has depth value defined by user.

This module puts transparency on some vertices of a mesh object. The null depth parameter specifies which data points become transparent that have this given value. The purpose of this module is to make some vertices disappear by making them transparent. For example, a 2D mesh object may has some holes inside, these holes are defined by the data points that have the given depth null value. Seismic horizons often have holes on their surfaces.

tvd to time
convert the vertical depth to two way travel time

This module converts the vertical depth of the well to the corresponding two travel time according to the depth-time conversion table. This is useful when seismic data (in time) is displayed with well log data together. Generally seismic data is in time on Z, but the well log data is in depth (feet) on Z, thus conversion is needed to make them consistent.

uniform_2_scatter
extract scatter points which have the same data value and generating a irregular 1D 3 space field from them

uniform_2_scatter reads in a uniform 3D scatter field data, extracts data points that have values larger than the threshold defined by the threshold level. The coordinate (x, y, z) for each extracted data point (i, j, k) of this data is outputed as 1D irregular 3 space field data. This module is coded specially for 3D seismic datasets which are seismic amplitude or reflection strength. Because the 3D seismic dataset is commonly in a form of uniform field the data points are index by i, i, k indices. The output scattered data field can be visualized by the bubble module.

variogram
spatial statistics of 3D seismic volume

This module does spatial statistics on the input 3D volume. Currently, correlelograms, and variograms are implemented. The means and variances of the head and tails as well are the number of points are provided as outputs for graphing, etc. This module is based on the GSLIB methodology.

volume interpolater
volume interpolation of a 3D survey

This module does interpolation in inline or cross line direction or both for a 3D survey by changing line and trace interval. The volume can be desampled by increasing dx or dy or added traces between traces.

volume merger
merge two 3D volumes into a single volume

This module does merging of two separate volumes into a big volume. The volume 1 and 2 are 4D fields. There are 4 inputs for this modules, data volume 1 and 2, project for volume 1, and project for volume 2. The module will use those two projects to find out range of survey grid for the new volume and calculate number of lines and traces and samples for the new volume. The line and trace interval will be checked against each other for the two input volumes -- they must be the same and line and trace direction must be the same too. If the two input volumes are separated too far away causing too many empty lines and traces between volumes, the module will warn stating the dimensions of the output volume are unreasonably huge. In this case, you have to tell the module to go head or stop.

well extrude
render a well path into a cylinder representation

This module renders a well path into a cylinder representation. The purpose of this module is to map teleview data to the well wall and thus display this data within the seismic data that the well path is drawn in.

well path draw
draw a well path in the geometry viewer

This module renders a well path by a polyline -- i.e point n and n+1 is connected by a linear line. A sphere will be drawn at the surface location of the well. Thus a radius parameter is provided to specify sphere size.

well viewer
viewing of well data such as well paths, or logs

This module is for the viewing and exporting of well data from the input well data file. Also this module will visualize the well bore, well log, and mapping data on the well bore, extract data along the well path, and slice along the well path. The module can take three inputs, volume data, project for that volume and colormap -- all inputs are optional. The outputs from this module are well data which are extracted well log data and extracted slice. Extracted data are the extracted data along the current well path, slice is the extracted slice data along the current well path.

wiggle plot
wiggle plot of 2D data

This module generates a wiggle plot, i.e. curve plot. The wiggle is plotted along the y direction -- that is dimension 1 of the input field. If this is not case, the switch axis module is needed to switch before plotting.

write 4D field
write out a 3D volume into a file

This module writes a 3D volume into a file which is formatted like an AVS field, but the output file contains information about this volume, such as inline, cross line and time range for this volume, survey grid definition of this volume and various transformation matrices for coordinate transformation.

write_gif_image
writes an image in the gif format

This module writes an image in the gif format from an AVS Network.

write multi columns
output a multi-column ascii file

This module takes a 1-D any coordinate and any data AVS field and writes out a multi-column ascii file since the multi-column ascii file is acceptable to many scientific time-series analysis software packages. Thus, this module is a convenient way to dump a file for other software.

write project
write project information to a file

write spreadsheet
output a multi-column spreadsheet ASCII file

This module extracts partial data from a volume and writes to a output file in a multi-column spreadsheet ASCII file. This module is written for output data to other software which requires the spreadsheet ASCII formatted data.

write ss
write a field input to a spreadsheet file

write ss reads in a field input, then writes out it into a speadsheet file. The input data filed must be 2D or 3D scalar any data. User must specify dimension for trace and sample in case of 2D data. For 3D data, dimension for Line, Trace and sample must be specified. For 3D data input, traces are written out sequentially for each line. All traces of first line are written out first, then second line, so on and so forth. The output data format can be one of unsigned char, short, integer or float. You must be cautious to select output data type which has size larger than input data type to avoid losing information.

write surface
write a 2D irregular AVS field into an ASCII file

This module outputs a 2D 1-vector 2-space or 3-space irregular any data into an ASCII file. The output will have formatted x y data for 2-space input and x y z data for 3-space input. The dimension 0 is changing fastest in the output file.

write_tiff_image
write an image in the tiff format from an AVS Network

This module writes an image in the tiff format from an AVS Network.