Operations panel

The functions performed in the operations panel differ from the edit panel in that the SEGY file, or files, are not affected by the operations. The files are simply displayed in various ways, or data is exported to output files. The original file(s) are untouched.

Display Operations

Functions to display various attributes of SEGY files. Some displays will honour the start and end traces from the edit panel.
Most displays are non-modal, that is they do not have to be closed before returning to the main window.

2D Trace Display

This function presents the current file in a format of the users choice:

- Wiggle trace variable area (black)
- Variable area only
- Wiggle trace variable density with user defined colours
- Variable density only
- Wiggle trace only

The user can control the display parameters through the Trace Display Parameters menu.
The user can chose the behaviour of the trace display when a new SEGY file is selected and a trace display window is open.
1.) The current display window will be updated to display the new SEGY file using the current display parameters. This is the default behaviour.
2.) When a new SEGY is selected by the user the new SEGY is displayed in a new trace display window, leaving the current display visible. Up to four SEGYs can be displayed at one time.
When the multiple display option is selected the display parameters can be set independently for each display. To set the parameters for a single display launch the trace display parameters dialog from the trace display window, not the main SegyTool window.
To change parameters for all current trace displays launch the display parameters dialog from the main SegyTool window on the display tab.
The display is modeless, that is, the main window remains active while the display window is visible.
There are 3 lines of annotation above the display. The top two can be controlled by the user. The bottom is the trace number. Annotation appears for every tenth trace and is always visible.
A vertical line is drawn up through each annotated trace for ease of identification. Timing lines are drawn every 100 ms. The timing lines are annotated on the left side of the display and are always visible.
The vertical and horizontal scroll bars are used to move through the display in time and space.
The boxes at the bottom of the window display, respectively, the top, middle, and bottom annotation, and the time in milliseconds and amplitude of the sample pointed at by the mouse.
The toolbar buttons at the top of the display window function as follows.
The button dismisses the display.
The button brings up the display parameters dialog.
The button refreshes the display to show any changes made to the SEGY file.
The button creates a scaled display in TIFF, BMP, or JPEG format. See Scaled trace display to file
The button will display a histogram of the file. The histogram can be used to determine plotting and scaling parameters
The button will create a new trace display window with single gated scaling applied. See Amplitude Scaling for an explanation of the options.
The button will create a new trace display window with AGC scaling applied. As above no output is created. See AGC Scaling for an explanation of AGC scaling.

3D Trace Display

This functions displays a 3D volume with the same display format options as the 2D display. A single inline or crossline can be displayed at a time.
The toolbar buttons at the top of the display window function the same as the 2D display. AGC and gated scaling can be applied to the entire 3D volume or to only the displayed traces
The user can move between inlines or crosslines by means of a slider at the top of the display.
When the 3D display button is pushed a dialog box will pop up informing the user of the byte location and format of the inline and xline numbers in the trace headers. These values must be set correctly for the display to work. If you are not sure click "No" and click on the "Trace Display Parameters" button to set the values.

Trace Display Parameters

This dialog is used to set the trace display parameters for 2D and 3D displays. It can be accessed from the main window or the trace display window. Changes made here appear in the trace display when the "Apply" button is pressed.
The display parameters that can be set are:

- Set display behaviour when new SEGY is selected by user.
(Default behaviour) Replace current display with new SEGY trace display.
Display new SEGY in separate trace display window leaving current display window visible. Up to four concurrent displays are allowed.
- Traces per inch: The horizontal scale. Note that this value may not be accurate on your screen. Given the comparitively low resolution of monitors, about 96 dots per inch, achieving an exact scale of, for instance, 12 traces per inch, is sometimes impossible. The scales are as accurate as possible. The smaller the scale, ie larger value entered, the less detail will be visible. 12 traces per inch is a common value.
- Inches per second: The vertical scale. The same limitations apply as for horizontal scale. A common value is 7.5 inches per second.
- Plot every n traces: The trace display decimation. The default is to plot every trace. Enter a 2 to plot every second trace. The annotation will be correct regardless of the decimation
- Max excursion: The maximum deflection of a trace. For each file displayed the maximum amplitude is determined over a defined window or set by the user. This amplitude is given a deflection of n traces. If n=3 the maximum deflection or excursion for a trace is 3 trace intervals. All other amplitudes will have deflections relative to the maximum value. the higher the value the "hotter" the data will appear.
- There are two methods to set the maximum excursion amplitude. The first finds the peak amplitude within a given window. The second uses a constant value for the maximum amplitude. The second method works best when comparing displays of scaled and unscaled data.
- Select the display mode: Wiggle trace variable area (black), variable area only, wiggle trace variable density with user selected colour bars, variable density only, wiggle trace only.
- When variable density displays are selected the user can click on the "VD Colour Bars" button to bring up the Variable Density Colour Chooser dialog.
- Set the timing lines to be drawn on the display.

- Peak sample value in window: The window to search for the maximum amplitude value. The default is the entire trace length. This can be changed if the display appears to be very weak. Many times the first few hundred milliseconds of a trace are much higher amplitude than the rest of the trace and consequently the entire trace display appears to be very low amplitude. By changing the wndow to, for instance, 500 to 2000 ms., the display will appear better balanced. This window can also be used to avoid large spikes in the data that will make the rest of the display appear to be dead. This display method is the same as used by SeisX so it is possible to predetermine a scale window for data before loading into SeisX.
- Constant value: The maximum excursion will be set to this value. When comparing scaled and unscaled displays this method will show the relative amplitude differences more effectively than the peak sample method
- Clip data to constant value: When using the constant value method any amplitudes greater than the constant value can be clipped to the constant value.
- Top Annotation: The byte location and format of the top annotation. the default is byte 17 and 32 bit integer format.
- Second Annotation: The second annotation byte and format, the default is byte 21 and 32 bit integer.
- 3D Inline: Byte location and format for 3D inline numbers
- 3D Xline: Byte location and format of 3D Xline numbers.
- Normal polarity: Leave checked to display a positive amplitude value as a peak.
- Plot left to right: Leave checked to plot trace 1 on the right side of the screen. Uncheck to plot trace 1 on the left.
- Plot 3D inlines / xlines: Determines what orientation to plot for a 3D.
- If this dialog is launched from the main SegyTool display tab any selections made in this dialog will be applied to all current trace display windows.
- If this dialog is launched from a trace display window any selections made will only be applied to the parent trace display window.

Variable Density Displays

The user can choose from one of seven default colour bars. These bars are generated automatically and saved to a file in the users home directory called "SegyTool-Variable-Density.colours". If this file is corrupted or deleted SegyTool will automatically recreate it with the seven default colours.
To select a colour bar click on the bar itself or its radio button.Then click "Close" to return to the Display Parameters dialog. Click "Apply" to assign the new colour bar to the existing or subsequent displays.
The user can choose to create new colour bars or edit or delete existing colour bars.
To edit a colour bar select the bar and click "Edit selected". To create a new colour bar click on "Add new". Both selections will pop up the Variable Density colour bar editor.

Select colours from the main colour palette or the "Recent" palette. Assign the selected colour to one of the thirty five colour swatches in the colour bar by double clicking on the swatch. A colour can only be assigned to one swatch at a time.
Colours can be interpolated over a range of swatches. Assign colours to the first and last colour swatches in the range to be interpolated. To select a range of swatches select the first swatch in the range by clicking on it, then select the last swatch by shift / clicking it.
Click the "Interpolate" button to interpolate from the first to last colour in the range. Any colours in the middle of the range will be recalculated.
Individual swatches or ranges of swatches can be reset to their original colours by selecting the swatch(es) and clicking the "Reset Selected" button.
To exit and save any changes to the colour bar click on "Add Colour Bar" button. Users will be given a choice to save the changes to the SegyTool_Variable_Density.colours file. If the user opts to save the changes the Colour Chooser dialog will be updated and the new colours saved to the file. If the user chooses not to save the changes they will be discarded and the previously selected colour bar will be re-selected.
To exit and discard all changes click the "Cancel" button.

Map 2D parameters

The pop-up dialog is used to set the byte location, format, and scalar for the shotpoint, X and Y trace header locations.
The Line name and Sp annotation can be turned on or off. The shotpoints will be annotated according to the increment after removing the bias. For the example above every tenth shotpoint would be annotated but one would be subtracted from each shotpoint before testing for inclusion. In this way rather than annotating shotpoints 100, 110, 120 we would annotate the more common range of 101, 111, 121.
Files with shotpoints or XYs in different byte locations or formats can be displayed on the same map. Use the Working Set dialog to select groups of lines to map that have the same format.
The colour for the selected lines can be set prior to the map being displayed.

Map 2D SEGYs

The qdmap (Quality Display map / Quick and Dirty map) is a very simple mapping routine that displays a stick map of all selected SEGY files as well as grid and culture and polygon files and seismic lines from survey files.
Boxes at the bottom of the map show the X, Y coordinates, line name and shotpoint number of the nearest point to the mouse.
The colour of seismic lines can be individually set.
The map display is modeless, that is, the main window remains active while the map is visible

The toolbar buttons from left to right are:

- Exit Button: Closes the map.
- Clone Button: Displays a clone of this map with limited functionality. Lines or 3D volumes can be hidden, have their colour or annotation changed independently of the parent map. Useful for comparing different versions of 3Ds.
- Hide / View Button: Makes layers visible or invisible on the map. Each SEGY file is a layer. Each SEGP-1 line and each grid and culture file is also a layer. This option doesn't delete layers.
- Colour Button (not shown above): Pops up a dialog with a list of displayed lines. One or more lines can be selected and be assigned a colour.
- Set line annotation font.
- Set shotpoint annotation font.
- Delete Layers Button: This button will actually delete the layer but not the underlying file.
- Annotation Button: Sets annotation increments and bias for shot annotation. Annotation can be turned off also.
- Survey File Import Button: This will pop up a dialog that allows the user to define an input survey file in SEGP-1 or other format. All or some of the seismic lines contained in the survey file can be posted on the map with each line a separate layer.
- Import Culture File Button: Import a grid or culture layer from an ASCII file in either Landmark Metafile or Photon ASCII format. Each imported file is a layer.
- Draw polygon around live map data. User can set a whitespace buffer and opt to display corner coordinates of polygon
- Draw Polygon Button: A pop-up dialog alows the user to define a polygon layer name and colour. The polygon is drawn using the mouse buttons and keyboard. The left mouse button adds a point, the right mouse button closes the polygon. The escape, delete, or backspace key removes previously entered points. The polygon can be used to export subsets of 2D and 3D data or for generating reports of data falling within the polygon.
- Import Polygon Button: Import a polygon from an ASCII file with X,Y pairs separated by commas with as many points as needed to define the polygon. The polygon does not need to be closed, it will be closed automatically by the program. A pop-up dialog allows the user to name the polygon layer and define its colour.
- Export Polygon Button: Saves a polygon to a comma separated ASCII file. The file can be imported back into QdMap at a later time.
- Save current map display to a file in PDF format
- Zoom Button: Zoom in on any portion of the map. Multiple zooms are possible.
- UnZoom Button: Reset map back to original size.

Map 3D parameters

The pop-up dialog is used to set the byte location and format of the inline, xline. X and Y trace header locations. The colour of the 3D volume can also be set here.

Map 3D SEGYs

The 3D qdmap can quickly map a 3D volume.
It simply draws a line from the first to last trace of each inline. Thus irregular (non padded) 3Ds can be plotted.
3D outlines can also be plotted, either of the entire 3D, just the live trace outline, or both
The zoom and unzoom buttons,status boxes, and polygon functions work as in the 2D display.

This function only maps the current file. To add a 3D to the map select from the working set and click the 3D map button. There is no limit to the number of 3Ds that can be displayed on a map.
To add 2D data to the same map select a 2D line from the working set and unselect the 3D(s) that are already plotted. Then click on the 2D mapping button. The selected 2D lines will be added to the same map.
The user can select one of three different 3D displays. The default is to show the inlines as above
The second simply draws an outline around the 3D.

The third plots each inline with live and dead bins colour coded.The trace flags must be set in bytes 29-30 of the trace header for this option to be selected. The flags are 1 for a live trace, 2 for a dead trace.

Show headers in floating window

This operation displays the headers of a SEGY file in a separate floating window allowing comparison to the file displayed in the main window.
When this function is invoked the current file is displayed in a separate floating window. The window has a trace slider and buttons to select the various headers and formats as in the main window. When a new file is loaded into the main window the floating window contents are unchanged. This allows for comparing header values between files..
There is no limit to the number of floating windows that can be displayed.

Report on all data within polygon

This operation creates a summary of all the SEGY data falling within a user selected polygon.
QdMap must be visible with at least one polygon visible. The polygon can be hand drawn or imported from a text file.

- The report summarizes for each 2D SEGY file falling within the selected polygon

- File name
- First and last shot falling within polygon
- First and last trace falling within polygon
- Number of traces falling within polygon
- Length of line in metres falling within polygon

- For 3D SEGY volumes falling within polygon

- File name
- First and last inline falling within polygon
- Minimum and maximum xline falling within polygon
- Number of traces falling within polygon

- For lines from survey files falling within polygon

- Line name
- First and last shotpoint falling within polygon
- Length of line in metres falling within polygon

The report can be saved to a text file.

Min / Max values

This operation displays the minimum and maximum values and their respective trace numbers from the edit byte in the current format from the start to end trace.

Multi-file Min/Max values

This operation displays the minimum and maximum values from the one or more user defined byte locations in the current format from multiple SEGY files.
Select the byte locations by double-clicking on the location in the main window, or enter the starting byte location in the Edit Byte text field on the main window. Click "Add Byte Loc" to add each byte location to the list. When all byte locations have been selected click "Continue" to bring up the results dialog.

This dialog displays all the selected files and the user defined byte locations. If necessary de-select individual files and / or alter the trace ranges for files before clicking the "Min/Max" button. Once the button has been clicked the minimum and maximum values for each byte location in each file will be determined and listed in the dialog. This operation is multi-threaded and the results will appear in random order. In other words, the first results returned may not be for the first file in the list.

Search trace headers

This operation allows the user to search all trace headers for one or two values. Useful for finding an inline / xline pair.
Enter the first search value along with its byte location and format. If desired, click the Secondary Search value checkbox and enter a second value. When searching for two values both values must be present in the header. The search starts at one trace past the current trace.

Graph values

The Graph operation displays the current edit byte from start to end trace in a 2D graphical format.
The display is modeless and is updated when a new SEGY file is selected.
The edit byte and format can be set on the graph display. The start and end trace can also be changed to zoom in on a smaller area.
There is a thin line to indicate the current trace. The trace can be set with the trace slider or trace box.

Table view

Display the current byte location as a spreadsheet column in a separate dialog.

Draw Histogram

This operation displays histograms of the sample values, or graphs of the peak, average, or RMS amplitudes.
The trace range and time windows can be set by the user as well as clip values. The clip value can be entered in E notation as in "10.50E03".
When this function starts it shows a histogram display. To create an alternate display, select the display type desired and click the "Display" button.
The display is modeless and will refresh itself when a new SEGY file is selected in the main window.
The peak, RMS, and average amplitudes for the file are displayed. Clicking on the "Show" button will show the peak amplitude sample in the main SegyTool window.
The amplitude at the mouse pointer is displayed as well as the percentage of samples in the file whose amplitude is less than, or equal to, the amplitude at the pointer.
The samples can be read as either IBM float or IEEE float. this option is useful in determining whether a file has an incorrect format code.

Diagnostic Dashboard

The pop-up dialog is used to set the byte locations and formats of the values to be displayed.
The defaults are the shotpoint (byte 17), X (byte 81), Y (byte 85), and peak amplitude. For larger files a trace range can be specified.

The diagnostic dashboard can display several attributes for a SEGY file on a single display.
The default is to graph the shotpoint range, X, Y, and peak sample amplitude from each trace.
Also displayed are a histogram of the data samples, a wiggle trace display of a subset of data, and the EBCDIC header.
If there is a problem in the shotpoint range, eg. a negative shot increment where the shotpoint numbers have been ascending, or a zero shot increment, a warning dialog will appear.
The "Open in SegyTool " button is used by SegyTracker to transfer the SEGY file into SegyTool. It is not necessary when dhe dashboard is created in SegyTool.
This dialog can take a long time to generate on large files. it is recommended that it be used only for 2D data.

Shotpoint Check

This function scans the shotpoint range in bytes 17-20 to ascertain the normal shotpoint increment for the file.
Any trace to trace shotpoint increments that differ from the norm are listed. Double clicking on an increment in the list will show that trace in the main SegyTool window.

Standard SEGY Check

This functions displays the binary header and current trace header in a table view with an explanation of each each byte location according to the Encana / Devon SEGY standard. This standard closely follows the SeisX SEGY standard with some extra fields in the binary header.
The fields are colour coded according to whether they are essential, recommended, or optional.
The trace header view is live and will change as the current trace changes. There is a trace slider at the bottom of the display.
This display is read only, no editing is possible.

Export Operations

Functions to export data from SEGY headers to text files and export SEGY data in various formats and subsets.

Export XYs to file

This operation will export the XY coordinates from the trace headers to an text file in a variety of formats. Coordinates can be exported from all or some selected files.
All selected SEGY files are listed in a table with a checkbox to select or deselect individual files and a line name that is made up of the file name up to the ".sgy".
The line name can be edited, for SEGP-1 format the maximum is 19 characters. Avoid blanks or special characters. Legal characters are A-Z, 0-9, &, $, -, and _.
Set the format, byte location, and divisor for the shotpoint. These values indicate how the shotpoint is written in the current trace header, not how it will appear in the output file.
If the shotpoint in the headers is scaled by 1000 enter 1000 in the divisor box. Each shotpoint in the headers will be divided by this value before being exported. Only whole shotpoint numbers are exported, traces containing fractional numbers are ignored.
Enter the format, byte locations, and divisor for the XY coordinates. The divisor will be applied to each X and Y coordinate before export. If the XYs in the headers are in decimetres and they are to be exported as meters enter a 10 here.
Note that when exporting to SEGP-1 format all XYs will be multiplied by 10 to convert them to decimetres automatically regardless of the XY divisor entered.
Select a central meridian for the output file. This value is used to create latitude and longitude values from the header X Y coordinates. Note that this is only necessary for SEGP-1 and UKOA format. Select a valid ellipsoid for the UTM to lat-long conversion. Clarke 1866 is used for NAD 27 coordinates, GRS 1980 for NAD 83.
The X and Y coordinates are exported directly from the trace headers so the central meridian, even if it is wrong, will have no affect on the accuracy of the coordinates, only the lats and longs will be incorrect.
Select the output format:

- Standard SEGP-1 with a 20 line header and lats and longs computed from the XYS
- Standard UKOA with lat longs and XYs.
- Space delimited Line shot X Y with one shotpoint per line and blanks between values
- Comma delimited Line,shot,X,Y with one shotpoint per line and commas between values
- Space delimited Line Trace shot X Y with one trace per line and blanks between values

- For SEGP-1 format select whether 20 line header appears once or for each line in the export file
Clicking the "Export" button will bring up a file browser for designating an output file. If an existing file is selected the user is given the choice to append to the file or overwrite it.

Export XYs to PI/90 format

This function exports XY coordinate data in a PI/90 format which is used extensively in Europe.
The Pi / 90 file format features a user defined header section which contains information about the seismic line being exported.
Users can add this information one line at a time by clicking on the "Add " and entering the relevant information on the dialog box.
An easier approach is to import an existing PI/ 90 file and make any necessary edits. Lines in the existing header can be edited, deleted, and moved up or down.
The user sets the byte locations and formats for the shotpoint, XYs, depth if present, and the day and time in the trace headers. The UTM zone and ellipsoid can also be set.
This function exports from all selected files. The line name which will be exported to the text file can be defaulted to the file name, up to the dot, or set by the user.

Export header values

Multiple header values in any format can be exported to a text file from the current or all selected SEGYs.
The values could be a Linename, shotpoint, elevation, CDP, static shift or XY coordinates. The user has control over the values exported and the order they appear in the output file.
The "Add Field" button brings up a dialog that allows you to add fields (byte locations) to export.
Fields can be removed from the list if you change your mind. The order of the output fields can be changed by using the "Move Up" and "Move Down" buttons.
Fields in the output file can be separated by any character delimiter or white space.
When exporting values from multiple files the line name should be one of the exported fields
Clicking the "Export" button will bring up a file browser to select the output file.

Export 3D bins XYs

The bin coordinates from a 3D file can be exported to an ASCII file in the same formats as 2D data.
The inline and xline numbers and X Y coordinates must present be in each trace header.
3Ds need not be perfectly rectangular, missing traces are not a problem.
Enter the byte location and formats for the inline and xline numbers. Set the format, byte location, and divisor for the X and Y coordinates in the headers. The divisor should only be used if the XYs in the headers are not scaled the same as desired for the output file..
As in the 2D XY export select a central meridian and ellipsoid if the output format is SEGP-1 or UKOA.
The available export formats are:

- SEGP-1
- UKOOA
- Line-Tr-X-Y
- Landmark Metafile
- Photon ASCII
- ESRI Shapefile
- Devon Trango
- Seisspace XY
- Seisspace inline xline

If the output format is SEGP-1 and the 3D is rectangular with no missing traces the 4 corner coordinates, along with their coresponding inline and xline numbers, can be listed in the header lines of the file.
If 3D outline is selected for output the file is exported with only the points necessary to define the outline of the 3D. Alternatively an outline of the live traces in the 3D can also be created. This file can then be imported into mapping software such as AccuMap.

NOTE: The live 3D outline option creates a polygon that encompasses the first and last live trace for each inline.
If, as in the example above, there are dead traces in the middle of an inline the live outline will not show them. This is not, strictly speaking, a bug but the live outline function may be changed in future to allow for dead trace "notches" such as this

Export EBCDIC header to text file

The EBCDIC header for all or some selected files can be exported to an ASCII text file with one output file per SEGY file.
The name of the file defaults to the SEGY file name with the ".sgy" replaced with ".txt".
The output file name can be edited and the files can be saved in a different directory from the input SEGY files.

Export SEGY file

This function exports the current file to a SEGY format file.
The output file can be an exact copy of the current file, a subset of the file in terms of output traces or record length, or a reformated file with a different sample format or byte order.
The output files can be created in any file system or directory that is visible to the user.
The first parameter to set in the dialog is the trace range to export. The default is all the traces in the input file.
The trace range is entered as a string where an export of a file of 200 traces would be entered as 1-200 or 1-END. ("END" or "end" can be substituted for the last trace in the SEGY file.)
To export only the first half of the file enter 1-100.
To export the file in reverse order enter 200-1 or END-1.
To export every second trace enter 1-199*2.
To export trace 1 ten times enter 1R10.
Complex ranges can be entered such as 1,3,5,7-28*3,30,31,32-40*2. Remember that the string represents the traces to be exported from the input file.
Press the "Range Help" button for examples of export trace ranges
Enter the start and end time to export. The number of samples in the exported binary header will be set accordingly. Note that if appending to an existing file the number of samples exported must match the existing file.
The byte order on export can be changed if desired although this is rarely necessary.
The input sample format defaults to the format indicated by the format code in the binary header. If the code is "1" and the SeisX flag is not set a format of IBM float is assumed. If the SeisX flag is set the format is assumed to be IEEE float. For a code of 3 the format is assumed to be 16 bit integer. The assumed input format can be overridden by the user.
The output sample format defaults to the input format although the output format can be set by the user.
If the export sample format is 16 or 8 bit integer and the input is IBM or IEEE float the user is given the option to scale the samples to the export dynamic range.
As indicated earlier the range of values that can be represented by a 16 bit integer is -32767 to 32767. For 8 bit integer the range is -127 to 127.
If the data to be exported has values that fall outside the export range the data can be scaled up or down to avoid clipping. The exported sample values will appear to be relatively the same although some detail can be lost if the scaling factor is too great.
If preserving original amplitudes is important the export sample format should be left as either IBM or IEEE float.
If exporting samples in IEEE floating point or 8 bit integer format the format code in bytes 25-26 of the binary header is set according to the value in the SegyTool defaults. For IEEE float the code is 6 in Canada and 5 in the U.S. For 8 bit data the code is 5 in Canada and 8 in the U.S.
The polarity of the data can be changed on export with all sample values multiplied by -1.
The data samples can be clipped on export to a user defined value.
The option to not swap bytes 181-222 applies to Aram field data in SEGY format. It should normally not be checked.
Clicking the "Write File" button brings up a file browser for selecting the output file. The file name need not end in .sgy although that is normally the case.
The output file can be a new file or existing one. If the output file exists the user is given the option to overwrite or append to it. If a SEGY file is to be appended onto an existing file the EBCDIC and binary headers from the current file are dropped and the first output trace is appended to the end of the existing file. Note that the data being exported must exactly match the existing file in the following:

- Number of samples (bytes 21-22, 23-24 binary header)
- Sample rate (bytes 17-18, 19-20 binary header)
- Format code (bytes 25-26 binary header)
- Byte order
If any of these values are different the append will be unuseable. All of the above values with the exception of the sample rate, can be changed in the export to match the existing file. The sample rate can be changed prior to export by using the Resample function.

Bulk export of SEGY files

This operation can export SEGY files from all selected files in the working set.
This is useful if you have a group of files that need to have a common format change such as record length, byte order, sample format, or polarity. The files are by default saved with the same name as the input file in a different directory. Unless otherwise specified the files will be saved in a new directory created below the current one called "Export".
The trace range for each output file can be changed from the input in the file table at the top of the dialog.

Merge SEGY files into one

This operation will merge multiple SEGY files into a single file with one EBCDIC and binary header.
Obviously the files to be merged must share a common sample format, record length, and sample interval.
The trace headers will not be changed in this operation. Some renumbering may be necessary after merging.
All selected files in the current working set will be merged. The dialog will show the files to be merged in a list. Individual files can be moved up or down to change the order of the files on output. Files can also be removed from the list.
Clicking the "Merge" button will bring up a file browser to select the ouput file.

Export SEGY data within polygon

This operation can export traces from all 2D and or 3D SEGY files that fall inside or outside a user defined polygon currently displayed on the QdMap The polygon can be imported into QdMap or hand-drawn by the user.
The default is to only export the traces that actually fall within the polygon but there is an option to output all the traces of a line if any part of the line is in the polygon. The traces falling outside the polygon would have their data samples zeroed.
A third option is to only output live traces that fall outside the polygon and zero the samples of the traces that fall inside the polygon.
Output files have the same name as the input and cannot be changed. The output files must be saved in a separate directory from the input files. The default is in a directory called PolygonExport which wil be created just below the input data.

Export variable length traces to a constant length

On the rare occasion where the number of samples per trace in a SEGY file is variable this function will create a new SEGY file with a constant number of samples per trace
Note that the number of samples for each trace, i.e. the variable number, must be encoded in bytes 115-116 of each trace header. If this value is missing the function cannot work.
Enter the number of samples for the exported file and each input trace will be either truncated or padded to that length.
The output file defaults to the same name as the input so must be either renamed or written to a different directory.

Export SeisX file(s)

This option will create a SeisX / SeisWare format SEGY file for each selected SEGY file in the working set.
The output files can simply be attached in SeisX bypassing the data loading routine. This option is for 2D lines only, see the 3D tab for SeisX 3D export.
The first dialog box sets up export parameters common to all the selected files. The byte location, format, and divisor of the shotpoints and XYs must be defined.
The shotpoints and XY coordinates must be present for each trace header in all selected files in a consistent location and format. No interpolation is done during the export.
Select the input floating point format, either IBM or IEEE. Normally if the format code is 1 the format is IBM float. This can be overridden in the rare case where data samples are in IEEE floating point. If the input sample data is 16 bit integer the output wil be the same.
Select the SeisX format either 3.xx or 4.0. Version 4.0 should only be used if you have that version of SeisX.
The scale window is the window of data on each file that is scanned for the peak, average, and RMS sample values. These values are written in the header for each trace and the average values for the entire file are encoded in the binary header. The values are used by SeisX to scale the data for on-screen trace displays. The SegyTool trace display operation described earlier uses the same plotting method and can be used to determine this window. With data that has been properly scaled by the processor the default of zero to record length works well.
The clip value is the maximum sample value that will be exported. Sample values greater than the clip value will be set to the clip. this feature is used to get rid of large spikes that can affect the display scales. The default is no clipping.
The process type and version are elements of the output SeisX file name. These values can be overridden for each individual output file in the next dialog.
The SeisX description is a string of 80 characters or less that is written in the EBCDIC header.
The output files, by default, will be created in the same directory as the input files. To export to a different directory click the browse button and select, or create, a different directory.
Click the "OK" button to bring up the SeisX Export Files dialog.

This dialog lists the input file, the output base file name, process type, version, and line name for each selected exported file. Individual files can be un-selected if they are not to be exported.
The output file name is made up of the base file name, process, and version followed by ".sgy".
For the first file in the example above the output file name would be SGY-001.MIG.0.sgy. The line name written to the binary header would be SGY-001.
The base file name, process, version and line name can be over-written for each exported file.

SeisX to CSEG

This option will convert a SeisX formatted SEGY file or files back to a CSEG standard SEGY file.
The shopoint numbers that are written in IEEE float in SeisX are converted to 32 bit integer and scaled by 1000. The XYs are also changed to 32 bit integer.
The sample values, if IEEE float, are converted to IBM float.
All the SeisX specific header information such as the peak, average, and RMS ampltitude values are cleared.
The result is a standard SEGY file that can be imported into any software package that cannot import SeisX formatted files.
The dialog box lists all selected files from the working set. Obviously all files should be SeisX format, if not, a warning message appears and the file is ignored.
The output file name defaults to the input name minus the process and version. The output name can be changed by the user. The exported files can be written to a different directory by clicking on the "Browse" button.

Export blank striped SEGY

This operation will export a SEGY file for each selected input file. The output file is identical to the input except for diagonal blank stripes through the data (see below). This allows potential buyers to inspect the data for quality purposes but makes interpretation very difficult if not impossible.
The default is to name the output file the same as the input and save the output files in a directory called Striped which will be created under the current directory. The user can opt to rename each output file, or to save the output in some other directory.
The length of the blank stripe and the trace to trace step can be set by the user. The default is a 300 ms. stripe which steps down 30 ms. for every trace.

Export data samples to text file

Use this function to export a range of data samples to a text file. Samples for one or more SEGY files can be exported to a single text file. Users can define the trace range and time range to export for each SEGY.
Users can also select the fields to be exported along with the data samples such as shotpoint, CDP, and XY coordinates. The formats and byte location for each field can be defined. These values must be the same for all selected SEGY files.
The time of each sample is an optional field. This value is calculated by dividing the sample number by the sample rate. The sample rate is read from the SEGY binary header and divided by a scalar which defaults to 1000, the normal sample rate scalar.
The number of decimal places for the sample values and the sample increment can also be set.
The resulting text file can be character delimited, default is a comma, or in columnar format.
Click the "Export" to export the data samples.

Scaled trace display to file

This function creates a scaled wiggle trace display with an optional title block and saves it to a standard graphics format. The file can then be viewed using standard graphics software or hard-copy plotted.
The user is given the option to plot the current file or all selected files.
The display parameters are set by the user the same as for the on-screen trace display.
Select gray-scale or black and white display. Gray scale plots the variable area in gray which some users prefer.

Set the annotation parameters on the Annotation tab.

On the Display Options tab select whether to include the title block on the display. If plotting the title block the format of the EBCDIC header must be specified as it will be used for the title block.
The display can also be created with diagonal blank stripes as described above.

Set the display type and range. Note that the inline and xline display ranges are set with inline or xline numbers not trace numbers. Likewise the Shotpoint range should be defined as shotpoint numbers from the trace headers.
Optionally the leading and trailing dead traces on inlines or xlines can be left off the display.
Set the plot resolution in pixels per inch. This value can be selected from the list or entered directly. For the most accurate trace spacing make the resolution a multiple of the trace spacing. For instance, if you are plotting at 12 traces per inch set the resolution at 144 rather than 150 ppi.
The output graphics file format can be:

- Tiff compressed Very good quality plot in a small file
- Tiff uncompressed Theoretically better quality plot in a much larger file
- PDF Portable document format
- JPEG Good quality, small file.
- BMP OK quality, Small file.
- PNG Good quality, small file.

For 3D inline or xline displays the only formats available are multi-page TIFF or PDF. These displays plot each inline or xline on a separate page reusing the internal graphics buffer each time. This avoids out of memory errors and allows many more inlines or xlines to be exported to the same file.
Any of the above gives a good quality plot since the display is fairly simple. Check which format your graphics plotting software works with best.
The size of the graphics file is proportional to the resolution. 144 ppi usually gives the best results.
If displaying only the current file use the file browser to select an output file. If plotting all selected the file browser is used to select an output directory for the graphics files.

The title block lists the file name and plot parameters as well as the contents of the EBCDIC header. The top ITS logo can be replaced with your own company logo. Contact ITS.

3D Operations

Functions to work with 3D SEGY data data in various formats and subsets. The 3D trace display and 3D map display buttons are duplicated on this tab.

Create Time Slices

Use this function to create time slices from a 3D SEGY. Slices can be created using all or a subset of the traces in the 3D. The byte locations and formats of the inline and xline numbers must be entered as well as the inline and xline spacing. If these are unknown use the 3D Export Subset dialog to compute the spacings.
Set the annotation increment and the colour scheme desired.
The default scaling method is to scale all samples relative to the maximum amplitude in the time slice range. The maximum value can be scaled to make the time slice display more intense. The default value if 75 percent. A value of 100 percent will use the maximum amplitude unchanged.
Optionally users can enter an amplitude value and all samples will be scaled to that value.
Take care in setting the time range for the time slices. The larger the range the more RAM will be used which could lead to out of memory errors.

Use the "Next", "Previous", "First", and "Last" buttons to navigate through the time slice range. The annotation, scaling type, and colour scheme can be changed without re-reading the sample values.
The display can also be zoomed in for closer inspection.

The time slices can be exported out to a multi-page TIFF or PDF file, one slice to a page. Set the size in inches or centimetres.

Scan 3D file

This function scans a 3D volume and reports any errors found in the inline, xline, X, and Y values.
The user can set the number of errors to report before terminating the scan. When the scan is finished or terminated the minimum and maximum values are reported for the scanned fields.
Traces containing zero or negative values will be reported. Inline or xline increments other than defined on the dialog will also be reported.
A clean report will look like the following:

Export 3D

This option will export all or part of a 3D volume or volumes in SEGY format.
This option can be used to write a 3D file with a different sample format, byte order, or record length. It can also export a portion of a larger volume.
For this option to work there must be inline and xline numbers in the trace headers. If these values are missing they can be inserted using the Insert Inlines / Xlines option on the edit panel.
Not all traces need to be present, files with dead traces dropped are exported properly and, in fact, dropped traces can be added to the output file if desired.
NOTE: The inline and xline values must be in the same byte locations and formats for all the input 3D volumes. The number of inlines or xlines can vary for the input volumes but the number of lines exported will be the same for all input volumes.
Enter the output file names in the upper table under "Output File". In the export dialog set the start and end inline and xline numbers to be exported along with their increments. These values can define all or part of the input file.
Define the byte locations and formats for the inline and xline numbers.
A 3D can be re-oriented. For example a 3D with inlines running north to south could be reoriented to have the inlines running east west by swapping the inlines and xlines. For example suppose you have a 3D with 75 inlines and 65 xlines with the inline numbers in bytes 17-20 and xline numbers in bytes 21-24. Set the inline and xline byte locations as they are NOW, that is inline bytes of 17-20 and xline bytes to 21-24. Set the inline and xline ranges as they are now, inlines of 1-75 and xlines 1-65. Be sure to click on the "Re-orient 3D" option and the 3D will be exported with 65 inlines and 75 xlines with the inline numbers of 1-65 in bytes 17-20 and the xline numbers of 1-75 in bytes 21-24.
Set the format for the data samples. This will default to the format indicated by the binary header format code but can be overridden. Set the sample format, start and end time for the output file. These values do not need to be the same as the input file. The output byte order and polarity can also vary from the input.
The "Pad missing traces" will add dead traces to the output file if they are missing from the input file. To save disk space on large 3Ds some processors drop dead traces from SEGY files. The pad option will add the dead traces back in. This option can make the output file much larger than the input file so use with caution. Note that most interpretation software does not require dead traces to be present.
Alternatively the dead traces in a padded 3D can be dropped on export
To calculate the X Y coordinates for the padded traces three corner points must be entered. These points must form an "L" shape so that the last xline of the first inline is the same as the last xline of the last inline.
The three points need not be enclosed by the start and end output range. For instance if you are exporting a portion of a large 3D you can just enter the corner points of the full volume and SegyTool will correnctly calculate the X Y cordinates for the padded traces.
The inline, xline, and XY values for the three corner points can be entered manually or pasted from another file, ("cntl c" to copy. "cntl v" to paste.
A better option is to use the "Auto-fill" buttons. Ensure the byte locations and format are correctly defined for the XY coordinates. Using the trace slider in the main window go to the first trace to be defined and click the "Auto-fill" button. The inline, xline, X and Y will be read from the trace header and entered in the appropriate boxes. Do the same for the other two points. Click on "Check" to fill in the fourth point in the square and calculate the inline and xline spacing.
If no traces are being padded the corner points are not necessary and the lower portion of the dialog will be disabled.
On clicking the "Browse" button a file browser will pop up to select the directory for the output files.
As with all export functions be sure there is sufficient disk space available. To calculate the space required use the formula
(Number of output traces * (( number of samples per trace * bytes per sample ) + 240 )) + 3600
Where bytes per sample is 1 for 8 bit integer, 2 for 16 bit integer, and 4 for floating point or 32 bit integer. 240 is the size of each trace header and 3600 is the number of bytes used for the EBCDIC and binary headers.

Export 3D to SeisX

This option will create a SeisX format SEGY file and index file from a 3D volume. The output can be simply attached to a SeisX project without data loading.
As in the 3D export this option works with only the current file.
In the export dialog set the start and end inlines and xlines as well as the increments. These values need not represent the entire input file.
Set the byte location and format of the inline and xline numbers, which must be present in the trace headers.
Select the input and output data sample format, for IBM float on input the default output format is IEEE float. For 16 bit integer input the output is also 16 bit. There is no benefit to exporting 16 bit integer samples as floating point. Twice as much disk space is consumed and 2.00000 is no different than 2.
Remember that in SeisX version 3.xxx a format code of 1 represents IEEE float not IBM.
The byte order and record length can be changed from the input although there is rarely any need to change byte order, SeisX can read either with no loss of performance.
The description field is optional and if present will be written in the EBCDIC header. The 3D survey name is mandatory and must be 20 characters or less. This is the name that SeisX uses to refer to the 3D.
The SeisX horizon time file will be named according to the survey name so take care if other 3Ds exist in the project. The survey name is case sensitive that is, "ABC" is not the same as "abc".
The scale window start and end times define the window used to find the peak, average, and RMS amplitudes for each trace and the file as a whole. Thes values are used for setting the trace display parameters. Use the Trace Display function to determine the optimum window.
The clip value is the maximum sample value to be exported. Values larger than the clip value will be truncated to the clip value.
As in SeisX three points are needed to define the XY coordinates for all traces in the 3D. In a "square" 3D, that is one with no dropped traces and XY coordinates in every trace header the normal practice is to enter the XYs for the first xline, or trace, of the first inline. (usually trace 1), the last xline of the first inline, and the last xline of the last inline (usually the last trace in the file).
If these traces are not present in the file or the coordinates are not in all trace headers other traces can be used so long as they define an "L" shape. So, for instance, in a 3D with nominally 85 xlines and 112 inlines, an "L" could be defined by inline 4, xline14, inline 4, xline 75, inline 110 xline75.
The corner points can also be outside of the area being loaded. Suppose you are exporting inlines 45 to 90 and xlines 51 to 100 of a large 3D. The corner coordinates are not present in the headers but the coordinates for the entire 3D, say inlines 1 to 300 and xlines 1-350, are listed on the tape label or in the EBCDIC header. Those points can be used and SegyTool will correctly calculate the coordinates for each output trace.
The inline, xline, and XY values can be entered manually or pasted from another file, ("cntl c" to copy. "cntl v" to paste.
A better option is to use the "Auto-fill" buttons. Ensure the byte locations and format are correctly defined for the XY coordinates. Using the trace slider in the main window go to the first trace to be defined and click the "Auto-fill" button. The inline, xline, X and Y will be read from the trace header and entered in the appropriate boxes. Do the same for the other two points. Click on "Check" to fill in the fourth point in the square and calculate the inline and xline spacing. If the spacing appears to be correct click on "Export" to create the Seisx files.
On clicking "Export" a file browser will pop up to select the output file name. This name will also be used for the index file name, so if, for instance, the output file name is Big3D.MIG.0.sgy the index filename would be Big3D.MIG.0.indx.

Bulk Export 3D to SeisX

This function allows the user to export multiple 3D SEGYs to SeisX format in one operation.
In order for this function to export properly all input files must have the inline, xline, and XY coordinates in the same byte locations and format. The number of traces can vary from one file to another as can the record length, sample rate and data sample format.
At the top of the dialog is a table showing the input file name, the output base file name, the version number, process type, and 3D survey name.
The defaults for the base file names are the input file names up to the first or last dot as selected by the user. The 3D survey name is made up of the input file name up to the first dot.
All of the fields in the table can be changed except for the input filenames. The output file names are made up of "Base file name.Process.Version.sgy". The process name can be changed for all files by pressing the "Reset" button.
Set the byte locations and formats for the inline, xline, X, and Y fields, as well as the XY scalar.
The scale windows default to zero and the record length of the input file unless changed by the user.
The output data sample format can be fixed for all files or allowed to default to the same format as the input file. The SeisX version type can also be set.
Click the "Browse" button to select an export directory for the SeisX SEGY files along with their index files

Define Landmark Master Grid Corners

This function can define the corners of a 3D volume. The corners can be used when loading a 3D into Landmark's OpenWorks application.
For this function to work the 3D volume must be displayed on a Qdmap display.
Enter the first and last inlines and xlines or leave them blank and the values will be determined from the SEGY file.
Enter three control points, similar to creating a exp3D_seisx as described above in Export 3D to SeisX.
Clicking the "Calculate" button will calculate the upper and lower corners of the 3D and display it on the map.

The user can rotate the corners on the map clockwise or counter-clockwise. The grid corners can then be saved to a file like the following.

Create enclosing polygons around 3D map display

For this function to work the 3D volume must be displayed on a Qdmap display.
This function draws an enclosing rectangular polygon around a 3D volume. The polygon will enclose the extremities of the volume based on the first and last inlines and xlines as defined in the text boxes in the upper left of the dialog. The polygon will have the inline, xline, X, and Y values posted at each corner.
Optionally, in addition to the polygon around the 3D volume, an outer polygon can be drawn which is user defined. This polygon could, for instance, define the area of a larger subset of the mapped 3D volume. Enter three control points, similar to creating a SeisX 3D export as described above in Export 3D to SeisX.
If the "Draw outer polygon using above points" is selected the outer polygon will be drawn, in blue, based on the four user entered corners. The main polygon around the 3D volume, coloured red, will be drawn regardless of whether the outer polygon is drawn. The four corner points, whether user entered or read from the 3D volume, when no outer polygon is to be drawn, are used to calculate the XY coordinates of the main polygon.
Click the "Set Font" button to set the font for the corner annotation.
Click the "Get 3D Corners" button to draw the polygon(s).

Clicking the "PDF Report" button will create a PDF format report that will contain the QdMap display with the polygon(s) as well as the four corner inlines, xlines, X, and Y for the corners of each polygon. Optionally choose to also export the contents of the EBCDIC header and the maximum positive and negative amplitudes for the 3D volume. Note that the latter can take a long time on very large 3Ds.
The following is an example of an PDF report.

Export subset of 3D gathers

This function will export a subset of a 3D gather file. The subset is defined by the user entered inline and xline range. Define the byte locations and format for the inlines and xlines which must be present in each trace header. The input sample format and output record length can be changed from the defaults. There are options to change the byte order or the polarity of the output file. There is also an option to only output live traces. Clicking the "Browse" will bring up a file browser. Select a new or existing file to export the subset to and click the "Export" button to export the subset.

Scan 3D gather file

This function scans a 3D gather volume and reports any errors found in the inline, xline, X, and Y values.
Optionally a fold display map can be created and saved
Set the byte location and format of the inline, xline, X, and Y values. Set the inline and xline increments. If a fold map is desired the Plot CDP fold map checkbox must be selected before the "Scan" button is pressed.
The user can set the number of errors to report before terminating the scan. When the scan is finished or terminated the minimum and maximum values are reported for the scanned fields.
Traces containing zero or negative values will be reported. Inline or xline increments other than defined on the dialog will also be reported.
A clean report will look like the following:

If the fold map option was selected press the "Plot" button which will bring up the fold map parameter dialog.

Set thee inline / xline annotation start, end, and increments. Choose whether to display grid lines on the map at the selected increment.
Select a colour bar from the pop up dialog and press "Draw". A map display similar to the following will be created.

The annotation and colours can be changed and the map can be zoomed in and out. The map can also be exported to a PDF or TIFF file. As the mouse is moved over the display the inline, xline, X, Y, and fold are tracked.

Trace Operations

Gated amplitude scaling

This function performs single gated amplitude scaling.
The user has control over the method of determining the scalar(s) to apply to the data samples. The scalar can be a user defined constant value, calculated from a percentage of sample values in a histogram, or calculated from the peak, RMS, or average amplitude values within a defined window.
Users can choose to scale only the current file or all selected files.
For each input file the function writes a new SEGY file to a user defined directory with a default name of ScaledSegys.
Set the start and end window times for computing the scalar. Regardless of the window all samples in each trace are scaled.
Select the method for determining the scalar.

- Scale each sample by a constant value. Enter a floating point scalar into the box. All samples in all SEGY files will be scaled by this value.
- Scale each sample by a scalar derived from dividing a constant value by a value that represents the maximum value for a percentage of all data samples. The constant numerator defaults to 31744, (1024 * 31, a value used by Landmark for data loading). The percentage of amplitudes defaults to 99%. As an example a value of 99% would result in a denominator that was greater than or equal to 99% of the data samples for the file. The desired percentage value can be determined by clicking on the Histogram button and moving the mouse over the histogram plot. ( See histogram display below )
- Scale each sample by a scalar derived from dividing a constant value by the peak, RMS, or average amplitude, possibly scaled by a constant. The peak, RMS, or average can be derived from the current trace, the current file or all the selected files. The value is computed over the scaling window defined above. The peak, RMS, and average amplitude for the current file are displayed on the histogram plot.

See the Display parameters section for tips on displaying scaled SEGYs.
This function as well as the AGC function can also be applied to a Trace Display window without creating an output file.

AGC scaling

This function applies a sliding gate scale to the current or all selected files.
As in single gate scaling all output is written to a user defined directory with the original file name.
The default gate length is 500 ms. the default scale factor is 2048.
Starting at time zero the gate moves down the trace one sample at a time. At each sample the RMS value over the window is computed and divided into the scale factor. The resulting scalar is applied to the sample at the mid point of the sliding gate.
This scale function is very effective for data with extremely high amplitude first break energy such as field records.
Click the Histogram button to inspect the RMS value for the current file.

Resampling

This function resamples SEGY data to a coarser or finer sample rate. It is based on " C " code from the Colorado School of Mines.
Resampling is applied to the current or all selected files.
Enter the ouput sample rate and define the export directory. All resampled files will have the original file names.
An anti-aliasing filter is applied before resampling. Resampling is performed by an eight coefficient sinc-interpolation algorithm.

Bandpass filter

This function applies a Butterworth bandpass filter to the current or all selected files. It is adapted from " C " code from the Colorado School of Mines.
Enter the low cut, low pass, high pass, high cut values and define an output directory.
All frequencies between the low pass and high pass are passed unchanged by the filter. Frequencies greater than the high cut and less than the low cut are attenuated. The filter is tapered between the cut and pass frequencies.

Apply static shifts

This function will static shift traces in the current or all selected files. The static shifts can be in samples or milliseconds and are read as start times from the trace headers or from a text file.

Select the type of start times, sample number or milliseconds. Note that they are start times, not absolute shifts. Set the byte location and format of the start times in the headers.
Set the start and end times of the output traces. The traces will be shifted the difference between the fixed start time and the start times read from the trace headers. The end time will be fixed to the user supplied time.
Set the output directory, the output files will be named identical to the input files so they must be saved to a different directory.

The start times can also be read from a text file in comma separated format or columnar. The values in the file are start times in milliseconds or sample numbers.
As in the trace header shift option the output traces are shifted the difference between the user entered start time and the time read from the text file.
Optionally any missing traces in the text file start times can be interpolated.
Again, the output files are named the same as the input files so a new output directory must be specified.

Mute selected traces

This function will zero the samples for a trace over a specified time range. The mutes can be applied to specified traces in the current or all selected files.

The output file names will default to the same as the input file which means that either the files must be saved to a different directory than the input or the output files must be renamed either manually by editing the names or by appending to the existing name by clicking the "Append" button which will add the entered string to the end of the file name before the final dot. Click the "Undo Append" button to reset the filenames back to the same as the input files.
Assign the trace range to be muted, which will apply to all selected files. An end trace of zero means all traces in the file(s) are to be muted.
Assign the time range to be muted. The default start time is zero but can be any time within the trace range.
Click the "Browse" button to assign a directory to save the output files to. If the selected directory is the same as where the input files reside the output files must be renamed before applying the mutes.
Click "Apply Mutes" button to apply the mutes to the selected files. Click the "Cancel" button to dismiss the dialog without applying mutes.

Other, rarely used, Operations

Fix variable samples per trace

This operation is for the very rare occurrence where the number of samples per trace varies throughout a file.
The number of samples per trace and sample rate are written in the binary header. This is where SegyTool and most other programs read these values. The assumption is that the number of samples per trace is constant for all traces so that navigating through a SEGY file is a matter of moving the file pointer a fixed number of bytes per trace. If the number of bytes is not constant then moving from trace to trace is impossible.
This problem can manifest itself in two ways.
In the days of tape storage the number of samples per trace could vary since programs looked for inter-record gaps between traces.
The true number of samples per trace was written in the trace header but this value is not used by most software. A file read from tape this way must have the number of samples per trace fixed before the file can be read properly from disk. At present Segytool cannot deal with this type of error although it will be added to a future release.
The other type of error is where the number of samples per trace written in each trace header is correct but there are more or less samples per trace than is indicated.
This can happen if there are parity errors reading the tape. SegyTool can fix this problem by exporting a SEGY file with a fixed number of samples per trace. the number of samples is the one indicated in the binary header.
As indicated above this problem is thankfully very rare.

>