Processing Data from the Benthos C3D using Triton BathyPro, and Triton Isis

The guide takes the user through the steps required to process both the Bathymetry and Sidescan data from a Benthos C3D system and to overlay (drape) the resulting mosaic over the DTM in TritonMap. 

It refers to Triton Software version 7.3.445.44 3/27/2010 and later.

PLEASE NOTE:  BathyPro was primarily written to support the processing of Multibeam data in XTF format.  The Benthos C3D is not a conventional Multibeam sonar and although the processing of the data works exactly as it should there are one or two minor BathyPro features that are not available with this type of data - they are noted in the description.

Reviewing the data in Isis

Coverage Map

Processing the Bathymetry in BathyPro

Reset to Factory Settings

Adding the raw data files

The Map and Projection Dialog

The Vessel Geometry Dialog

The Log File

Set the Working Directory

Save the project

The Project Information File

Select processing settings

Creating the DTM

Displaying the result in TritonMap

Further Processing including Sound Velocity Profile (SVP) and Tide

Tide Corrections

Sound Velocity Corrections

Other Processing

Processing the Gridded Data

Fill Gaps Filter

Smooth Filter

Isocurve extraction

Soundings Chart and XYZ export

Creating a Mosaic and Processing the Beam Amplitude data

Beam Amplitude

Creating a Mosiac

Correction for Flat-Earth assumption

Pitch Correction

Sample Images

Available Exports from BathyPro and TritonMap

 

Reviewing the data in Triton Isis

Its is often very useful to review the data in Triton Isis first to become familiar with the characteristics of the survey (water depth, data quality, noise and possible motion problems) before starting the processing.

Typical Isis display of C3D data:

This example is from a towed system in deep water around 1600m.  Note the white square in the upper left window which shows the position of the fish above the seabed.  The depth of the towfish is read from the pressure sensor field in the XTF file and must be taken into account during the processing in BathyPro, the total water depth is the sum of the pressure sensor reading and the height of the towfish above the bottom.  In a pole mounted system this depth is replaced by the transducer Z offset.

Also note the range setting around 300m giving a total swath of about 600m (the actual swath coverage is somewhat less due to the altitude of the towfish above the seabed; see Coverage Map below)

Isis Parameter window:

Check for realistic values for navigation, speed and heading, any large variations in attitude (Pitch and Roll).  Note that with an altitude of 80 meters variations in pitch will produce large changes in the along track position of both the DTM and the Mosaic, these changes are automatically taken care of on the Bathy processing of the DTM,  They also affect the sidescan mosaic - there is a Pitch correction in the mosaicing process that will correct for these along track position shifts.

Towed C3D systems do not generally have a heave sensor, to view the heave in Isis click on Window>Status and Control>Sensors:

NOTE: All pole mounted C3D systems should have a heave sensor and the data from the sensor can be seen in this Window

There is a discrepancy here between the Ship's Gyro and the Heading, it can be useful to take a look at the coverage map to determine the true line direction before deciding which to use (in the case of a pole mounted system you would always use the Ship's Gyro of course)

Coverage Map

Coverage Map display showing sidescan coverage:

Show Multibeam

Note that the Multibeam display shows the true bottom coverage:

Turn off the coverage to see the trackline:

Click and drag with the mouse to find the line length and heading:

We have an average line heading of 168.1 degs which agrees quite well with the Heading shown in the Isis parameter window 167.55, on the other hand the Gyro data shows about 165 degs, we can choose to use either parameter when processing the mosaic in Isis or the DTM in BathyPro.  The choice may depend on the accuracy of the towfish heading sensor or on the results of a patch test (in a pole mounted system always use the Ship's gyro)

Processing the Bathymetry in BathyPro

Reset to Factory Settings

Launch BathyPro.  If this is a new project Reset To factory Settings:

This step is very important to clear all previous settings and make sure that BathyPro is correctly configured, click OK and allow BathyPro to restart.

Adding the raw data files.

Once the BathyPro main screen has returned Right-Click in the left panel and choose the Benthos C3D option:

You may choose multiple or single files in the usual way using Shift+ Click:

You may also choose to process only specific pings (scans) if only one file is chosen, the default is Process All

BathyPro scans all the selected files and reports Project Initialization successful - an error at this stage might point to a number of problems:

  1. An incorrect choice of data type.  You must choose the Benthos C3D option.
  2. Bad or missing navigation.  Playback the files in Isis and check for valid navigations.
  3. One or more corrupt files.  Try importing each XTF file separately.

The Map and Projection Dialog

Click on Settings > Map and Projection Settings

In the Map and Projection Settings dialog check that the detected navigation information is correct - if the E-W or N-S size is wrong or the North-West Origin is incorrect you need to investigate (use Isis once again to check each file)

If the coordinates in the XTF file are in Lat/Long degrees then BathyPro assumes that the datum is WGS84 and chooses the correct UTM grid zone.  If this is not the case use the Input Projection Change button to select a different datum or projection.  If you require the processed DTM coordinates to be in something other than UTMs then use the Output Projection Change button.

If the coordinates in the XTF file are in meters then BathyPro assumes UTM Zone 31 (0- 6deg East) - if this is not correct you will need to use the Change buttons to select the correct values both for the Input and Output Projection.

If the total water depth is greater than 2000m select the >2000m radio button.

You may also choose to process only a specific area - uncheck Set Default Limit and enter the E-W and N-S size and the coordinates of the NW corner.

Use Datum Height Offset to change the height of the whole DTM to reference your Local datum if needed.

Grid Resolution

Finally choose the resolution of the final grid in meters.  This is the size of each pixel in the final DTM image and the setting here depends on the distance between each beam footprint from the sonar.  Note that you may need to choose carefully here - if the resolution is set too high (small value) then the DTM may have many "holes" that need filling - it will also result in a larger file size. If the chosen resolution is too low (larger val;ue) then the DTM will lack small detail.  On the other hand there may be a resolution for the final result specified by the client.

The Benthos C3D has very good resolution in the across track direction but the along track resolution is dependent on the ping rate and the vessel speed - so there is trade-off to be made.

Choosing the default resolution of one meter will usually be a good place to start.

Click OK when all settings are complete.

The Vessel Geometry Dialog

Click on Settings>Sensor Geometry Settings:

The diagram at the lower right side of the dialog box shows the sign convention that should be used.

The user is allowed to accept the offsets that may already be stored in .XTF file, or enter different offsets.

IMPORTANT NOTE:  In order for any information entered this dialog to be used in the processing of the multibeam data .GEO file must be saved using the "Save As" button, you may also:

Description of the available options:

Set Default values (from XTF Header File):

When checked this causes BathyPro to read and use the offsets from the XTF file, you may also add corrections (for Example a Roll offset) and save a .GEO file.

Towfish or ROV System Configuration:

When checked this causes BathyPro to Add the value from the ROV or Towfish depth sensor to the computed water depth to give the total water depth.

Add Layback from XTF file -  Apply the layback stored in the XTF file to the computed position.

Add Fixed Layback - Applies a user-entered value of layback to the computed position.

Add Depth from XTF file - Add the depth in the XTF file (from the  towfish pressure sensor) to give total water depth.

Roll (*) - the angular offset in degrees (+ or -) between the multibeam sonar transducer and the Motion Sensor in the Roll Axis.

Pitch (*) - the angular offset in degrees (+ or -) between the multibeam sonar transducer and the Motion Sensor in the Pitch Axis.

Yaw(*) - the angular offset in degrees (+ or -) between the multibeam sonar transducer and the Motion Sensor in the Yaw (heading) Axis.

Heading offset (*) - a gross installation offset (for example 180deg in the case of a reverse mounted head)

Multipliers - allow the entry of a multiplier.  (for example when deriving heave from POSpac processing you would set the heave multiplier here to zero)

Latency Offsets (mS) - offsets in time for each sensor derived from the Patch Test.

The following diagram shows some typical "real" values and how they would be entered into the Vessel Geometry dialog.

The Log File

Click Settings > Log File:

Creates a log file at the specified location that tracks the processing steps.

Set the working directory

Click Settings> Set Working Directory:

Important!   set the working directory to a known location on the harddrive.

Save the Project

Click Project>Save As

And enter a name for the project to keep all current settings.

The Project Information File

Click Project>Information

Displays the current information for the project, clicking Save to Ascii File generates an ASCII text file with the information.

Select Processing settings

Click on Bathy Processing>Select Processing...

the Select Processing dialog opens, in the Raw Data Processing section there are three processing settings:

  1. Navigation Processing
  2. Attitude Processing
  3. Bathymetry Processing

Navigation Processing

Clicking the Navigation Processing > Settings button

XY Position - Here you can chose the source of the navigation, only the first two options are valid at the time of writing, Ship or Sensor.

Usually for a pole mount C3D system we will chose Ship for a towed system chose Sensor, however it may depend on the exact configuration of the system during set up which of these XTF fields are populated.  Navigation Packet (42) refers to a new navigation packet which when available from the C3D will improve the positional accuracy of the soundings.

Heading - choose the source of the heading information either Ship Gyro or Sensor.  For a pole mount system normally we would chose Ship Gyro and for a towed system Sensor. The third option CMG can be used if neither of the other sources are available or are unreliable.  In which case BathyPro will compute a heading using successive navigation points (Course Made Good). The third option Gyro Packet (84) refers to a new heading packet which when available will improve the resolution of the heading.

Each data type has the possibility of different smoothing routines the default values work well;  increasing the numerical value increases the amount of filtering that is applied to either the navigation or the heading data.

There is also a Speed Limit filter intended to remove large jumps in position - however this is not much used. But NOTE: IF the speed has not been recorded in the XTF file and is set to ZERO then this filter will reject all the beams in the file and a "0 beams encoded" message will be generated.

Click OK when done.

Attitude Processing

Click the Attitude processing > Settings button

The three windows for Pitch Roll and Heave may be used to limit any steps or spikes in the attitude data - hardly used with modern MRUs

***The checkbox "Use C3D precise timing" MUST be checked for any recent C3D system to improve the timing accuracy of the motion data***

Click OK when done

Bathymetry Processing

Click the Bathymetry processing > Settings button

These are the settings that determine which beam data is allowed through the processing to create the DTM.  As can be seen we have many possibilities to suppress beams based on a number of different criteria.  The recommended method of using this dialog is to first process the data with NO FILTERS then to inspect the resulting DTM and then reprocess to see if any of these filters might be useful to remove bad data,

Beam Quality - not applicable to the C3D since the C3D does not attach any quality flags to the sonar data (default is to only remove BAD beams).

Suppress Beams outside angle from nadir - Used to remove the outer beams from the swath (decreasing the angle removes more beams)

Suppress Beams inside angle from nadir - Used to remove the beams immediately below the transducers (increasing the angle removes more beams leaving a "gap" below the transducers)

Suppress Beam using Depth Range - Used to remove bad beams based on their max and min depth.

Suppress Beam using Slant Range - Removes beams whose slant range is either shorter or longer than the set limits.

Suppress Beam Using Gradient - This filter puts a limit on the difference between the depth of adjacent beams - use with care it is quiet easy to remove valid depths with this filter.

Suppress Beam Using Beam number - not applicable to C3D data since there are no discrete beams in this type of sonar.

**WARNING** grossly incorrect settings in this dialog box may remove all the beams! and the message "0 beams were encoded - check grid settings" will be generated when the data are processed.  If this message is encountered the first check would be to return this dialog box and carefully check the settings.

Click OK when done.

Geoencoding Type and File name

Click Gridding Soundings > Settings

Encoding Type: Average, Last, First, Shine-Thru (max) and Cloud Over (Min)

Determines how the grid will be filled when more than one beam falls within a bin (grid cell)

Difference, Std deviation generate secondary color coded statistical layers that can be viewed in TritonMap, (Most Vertical Beam is not applicable to C3D)

Add Beam Intensity Value: Creates a layer consisting of the Amplitude of each beam, similar to a sidescan image although generally of lower resolution. See Creating a Beam Amplitude Image.

Compute footprint size: Not applicable to C3D data

Image file: The location and name of the image file (.DDS_VIF) that will contain the various layer, principally the color coded bathymetry.  This file is the main output from BathyPro and is displayed as a layer in TritonMap.

NOTE: "Merge processed data, if image exist"

If data already exists (has the same <file name>.DDS_VIF) then new or differently processed data will be merged into that file, the file is not overwritten.  It is important to remember this when running different processing parameters; to see the differences you must create a NEW file name.

Click Select and choose a file name for the DTM file.

Create the DTM

The next step is to create the first version of the DTM.

Go to Bathy Processing > Process

You will be asked if you want to save your project - you may wish to do so or you may want to create a new project, (you could create different projects that process the data in different ways)

BathyPro then processes the data and generates some messages, there is a progress bar in the lower left corner:

Note the very large number of processed beams, this is typical of this type of sonar (around 3400 beams per swath/ping)

NOTE: When processing true MultiBeam data, the completion of each process step are usually displayed in BathyPro as green indicators:

However these indicators are NOT available when processing C3D data because the path through the code is different, however all relevant processing steps are correctly executed.

Display the result in TritonMap

To display the DTM start TritonMap and click Project > Insert Layer(s)...

Browse to the location of the DDS_VIF file just created.  During the import you may choose to change the name of the layer, hit OK

The color coded bathymetry layer is displayed in TritonMap

Zooming in we can see that there are some gaps, however the choice 1m resolution would seem to be about right, a lower resolution would produce fewer gaps but at the cost of some loss of detail.  A higher resolution would create many more gaps and require a lot of filling to provide a continuous surface.  Note that this surface is later used to generate both the Iso-contours and the XYZ values.

Further Processing, SVP and Tide corrections

The previous section describes the basic steps necessary to generate a "first-look" DTM. You may now decide to re-process the data applying different filters to the data or to change the resolution.  The following steps, SVP and Tide corrections can either be applied during the initial stage as part of the full processing or added later - to clarify this guide we are going to describe the SVP and Tide correction separately.

Tide Corrections

RTK Tide:

Choosing this option will cause BathyPro to use the value for GPS antenna height from the navigation data when correcting for tide.  This may be the antenna height with no Geoid > Spheroid correction, that offset should be entered in the Map and Projections dialog box under Datum Height Offset.

The default setting is to apply the antenna height to the heave corrected data, Merge Tide Data with Heave.  To use the heave from the antenna height choose Average Tide Data to Remove heave - you may also specify an Averaging Period in seconds.

If the antenna height has been logged separately into one of the Isis Aux channels (1-6) then you may choose that option, there is also a multiplier that can be used.

Predicted or Observed Tides

BathyPro can either accept manual entries for Tide corrections a simple ASCII text file (.TXT) or a NOAA format file, there is also a BathyPro format (.TID) file generated.  To launch the Tide editor Click Bathy Processing>Select Processing, check the Tide Correction check box and then the Settings button:

Tide corrections may be entered manually - use Next and enter the new Tide height (m)

Or imported from a text file using the import file parser:

.TID format is BathyPro's internal format and is created whenever a tide file is saved by BathyPro.  NOAA format files can also be imported, the normal method is to import an  ASCII text file:

The parser looks for non-numeric characters (spaces, commas, letters) to parse the groups of numeric data.  In the example the first 8 lines of the data file have been skipped.

Use the Add/Replace button to parse the lines of data,

When complete, hit OK and the tide curve will be displayed:

You must now save the file:  Click Save as... and save the file as a .TID file.  This is the file that BathyPro uses in the processing. Once created the .TID file can be opened directly by the program without needing to parse the data.

Sound Velocity Corrections (SVP)

The method of import is exactly the same as for the Tide Corrections, the file formats are ASCII text files either .TXT or .LOG, BathyPro internal format is .SVP

Once again you must save the file as an .SVP file for BathyPro to use the information. There are two options for ray refraction computation:

Choosing Midpoint causes BathyPro to first compute the mean value between two soundings, ray refraction is then computed between those points.

Refraction at Transducer Depth from

Choosing Velocity Profile here causes the first reading in the SVP table to be used as the transducer depth Sound Velocity.  If sound velocity has been logged in the XTF file from a CTD probe or thermistor mounted in the sonar head then choosing CTD Sensor may be used instead.  The normal setting would be either none or Velocity profile

Other Processing

There are three other checkboxes available in the Select Processing dialog:

The DXF files may be imported to TritonMap as a vector layer.

WARNING:  The C3D has a very large number of "beams" - these files will become large and unmanageable very quickly with this sonar type. 

 

Processing the Gridded Data

All the above steps are processing performed on the raw XTF files, once these have been converted to Gridded data (DDS_VIF) files there are further steps that can be used:

These operations are all under the heading Processings on Gridded Data

NOTE:  You may either add these processing steps to your BathyPro project or you can import DDS_VIF files that have already been processed by choosing Add Grid File after right-clicking in the left panel of BathyPro - (you will need to start a new project):

Whichever way you choose to enter this mode you will have the following options:

Fill Gaps Filter:

Gap filling filter type: Choose either the Median or Inverse Distance filter, default is Inverse Distance

Min Neighbors: Must be >3 - determines how many surrounding grid tiles must be occupied to create the intermediate value.

Filter Dimensions in pixel unit - determines how large an area of the existing DTM is used in the Filter.

Here is the effect of a single pass with the default settings on the DTM created previously:

Smooth Filter

Has the same settings as the Fill Gaps filter.  The filter is effectively a low-pass filter on the shape of the DTM.  It will have the effect of removing small "spikes" but will preserve the overall shape of the seabed, but USE THIS FILTER WITH CAUTION!  - You are modifying the original depth values.

Isocurves extraction (Bathy Contours)

The filtering settings are applied to each Isocurve and have the same settings as for he Gap Fill and Smooth Filter.

Processing Settings: Interval between curves in Z units

Max number of Isocurves between 2 curves: In areas where the slope is very steep this value may be reduced to prevent "bunching" and overwriting.

In this image, two sets of Isocurves have been generated; one at a 20m interval and one at a 5m interval, and different line types have been applied in TritonMap, labeling of the 5m Isocurves has been suppressed (see the TritonMap guide for more information)

Generate Soundings Chart (and export XYZ)

This dialog can be used to create a soundings chart of the gridded data; if Export in ASCII and DXF format is checked then both a .DXF file (for import into TritonMap) and an ASCII text file are created.

You may choose the sign of the depths to be either positive down or negative down.

A decimation factor of 1 will create a soundings chart having the same resolution as the DTM (set in the Map and Projection > Resolution dialog) for the DXF file it will be necessary to enter some value for decimation to prevent overwriting of the labels. The image below was generated at a decimation factor of 10 with a grid resolution of 2m so depth labels are 20m apart:

 

Creating a Mosaic and Processing the Beam Amplitude data

During acquisition and playback of the C3D data in Isis one of the visible windows is the sidescan waterfall. This imagery is very similar to sidescan data from a conventional sidescan sonar, we can apply TVG and threshold settings in Isis to enhance the image and it can be mosaiced in the normal way (see below).

There is another type of imagery available from the C3D called Beam Amplitude which is processed in BathyPro.

Creating a Beam Amplitude image

This is one of the options available in the Geoencoding Type and File Name dialog:

When this box is checked an extra layer within the .DDS_VIF file is created.  In order to view the layer in TritonMap it is necessary to choose this layer instead of the default Bathymetry layer:

Note that the DDS_VIF file in this case has two layers, selecting "Amplitude from Multibeam" will display that layer in TritonMap:

    

NOTE: Because this layer contains two data types it would be necessary to import it twice into TritonMap to see both the Bathy and Amplitude layer

Creating a Mosaic.

The instructions for creating a sidescan mosaic with C3D data are exactly the same as creating a mosaic from regular sidescan data and the operations are covered in detail in the Guide Mosaicing Sidescan data using MB/SS-Logger (Isis) and TritonMap

There are some extra features that C3D data allows us to exploit - these are described below:

Correction for Flat Earth Assumption

During the Mosaicing process there is an additional option that can be selected that corrects the mosaic based on the underlying bathymetry. 

Normal mosaics created from conventional sidescan sonars make the assumption that the seabed below the sonar is flat.  They only slant-correct the image applying the current altitude above the seabed to the whole swath - in areas of high relief or when the seabed is sloping this will lead to an incorrect image.

 To correct this error we need to know the shape of seabed and apply variable slant correction based on the true height of the sonar at every point across the swath, the bathymetry data we have from processing the C3D bathy can be used to make this correction, here is the dialog box from the mosaicing engine:

When this box is checked the mosaic engine will request the name of the bathymetry layer (.DDS_VIF file) that is to be used. You will of course need to have processed the bathymetry before creating the sidescan mosaic.  The mosaic that is created will use the bathymetry surface to properly correct the sidescan imagery.

Pitch Correction

The C3D sonar has an attitude sensor. Pitch and Roll in the case of a towed system Pitch, Roll and Heave in the case of a Pole Mounted system.  There is no correction for Roll or Heave that can be applied to a sidescan image. However there is a correction that be made for pitch.  As the sonar pitches nose up (+) the ensonified area of the seabed moves forward (ahead of the sonar) when it pitches nose down the ensonified area of the seabed moves behind the sonar:

For many normal sidescan surveys the towfish altitude is small (about 10m) and this effect is small, however with a pole mounted system, or if the towfish is more than 30m above the seabed, this effect can become very noticeable.

Note that the Beam amplitude image described above is already corrected for pitch because it is processed in BathyPro and is derived from the bathy data which is already fully motion compensated.

Sample Images

Uncorrected mosaic

Mosaic corrected for Pitch

Mosaic corrected for both Pitch and Flat Earth assumption.

Once all processing of both the Bathy and the Sidescan have been completed you can view the Sidescan mosaic accurately "draped" over the bathymetry by double clicking in the TritonMap window to display a 3D contact:

 

Available Exports from BathyPro and TritonMap

BathyPro

DTM: XYZ files in ASCII format

Soundings chart: .DXF

Isocurves: .DXF

TritonMap

Color coded bathymetry: GeoTIFF

Sidescan Mosaic : GeoTIFF

Beam Amplitude Image: GeoTIFF

There is more detailed information available in the TritonMap Mosaicing guide.