Sidescan Sonar

Sidescan Sonar Theory

Sidescan sonars use a swath of sound to esonify the seafloor. They differ from single-beam sounders in that they have a much larger footprint shape.

Sidescan sonar image.
Acoustic beam comparisons.

However, like single-beam systems, they generate two main types of data, depth (or bathymetry) and backscatter. Traditionally, side scan sonars provide better backscatter data than depth data. They are often used to create a wide, often almost photo realistic image of the seabed using backscatter intensity.

Sidescan sonar geometry.
Raw waterfall image (plot of backscatter intensity) from a sidescan sonar.

(Information derived from Acoustic Techniques for Seabed Classification (2005) by J D Penrose, P J W Siwabessy, A Gavrilov, I Parnum, L J Hamilton, A Bickers, B Brooke, D A Ryan and P Kennedy.)

Sidescan sonars are used to map the seabed for a wide variety of purposes, including creation of nautical charts and the detection and identification of underwater objects and bathymetric features. They are often used to conduct surveys for marine archaeology, and assist in locating and identifying underwater anthropogenic artifacts. In conjunction with seafloor samples, sidescan sonar can be used to classify the seabed based on material and texture type. Sidescan sonar imagery is also a commonly used tool to detect debris items and other obstructions on the seafloor that may be hazardous to shipping or to seafloor installations by the oil and gas industry. In addition, the status of pipelines and cables on the seafloor can be investigated using sidescan sonar. Sidescan data are frequently acquired with bathymetric soundings and sub-bottom data, thus providing a glimpse of the shallow structure of the seabed. Sidescan sonar is also used for fisheries research, dredging operations, and environmental studies.

Sidescan uses a sonar device that emits fan-shaped pulses down toward the seafloor in a direction perpendicular to the path of the sensor through the water. The sensor may be towed from a surface vessel (e.g., mounted on a “towfish”) or mounted on the ship’s hull. The intensity of the acoustic reflections of the beam from the seafloor is recorded in a series of cross-track slices. When stitched together along the direction of motion, these slices form an image of the sea bottom within the swath (coverage width) of the beam. The sound frequencies used in sidescan sonar usually range from 100 to 500 kHz; higher frequencies yield better resolution but less range.

Sidescan sonar schematic. Image from Wikipedia.

Humminbird 997c SI

Ocean Ecology developed a sidescan sonar towfish based on the Humminbird 997c SI unit.

Ocean Ecology’s towfish.

This unit has a traditional downward-looking sonar combined with a side imaging sonar.

Specifications of downward-looking sonar:

  • 200 kHz beamwidth at -3dB = 14°
  • 83 kHz beamwidth at -3dB = 42°
  • 50 kHz beamwidth at -3dB = 52°
  • Transducer depth range: approximately 450 m at 83 kHz or 900 m at 50 kHz

Specifications of HDSI (high-definition side imaging) transducer (best for shallow water use):

  • 455 kHz
    • Horizontal beamwidth at – 3dB = 1.7°
    • Vertical beamwidth at -3 dB = 59°
    • Transducer tilt angle from vertical = 34.5°
  • 800 kHz
    • Horizontal beamwidth at – 3dB = 0.9°
    • Vertical beamwidth at -3 dB = 39°
    • Transducer tilt angle from vertical = 26.5°
  • Transducer depth range: approximately 45 m

Specifications of SI (side imaging) transducer (best for deep water use):

  • 455 kHz
    • Horizontal beamwidth at – 3dB = 1.7°
    • Vertical beamwidth at -3 dB = 28°
    • Transducer tilt angle from vertical = 43°
  • 262 kHz
    • Horizontal beamwidth at – 3dB = 2.9°
    • Vertical beamwidth at -3 dB = 59°
    • Transducer tilt angle from vertical = 34.5°
  • Transducer depth range: approximately 60+ m

Power output of unit:

  • 1000 Watts (RMS)

Shown below is a diagram of the beam orientation and coverage for the HDSI transducer at -10 dB.

Sidescan beam angles.

Creating Good Sidescan Images

Even with the best software for viewing and processing sidescan sonar data, it may be challenging (and frustrating) to get good sidescan imagery. Creating good sidescan images starts with setting up the equipment properly and operating the boat in a way that generates the best data. Some good suggestions are as follow:

  • The “Lower Range”, “3D Lower Range”, and “Max Depth” should all set to 2x the anticipated depth, or to a maximum value of 45 m or 60 m (the maximum range of the sidescan sonar), depending on the transducer you are using.
  • The “Water Type” should be set to the correct value for the survey.
  • “Pings Per Second” should be set to a specific value (preferably 10 for maximum data resolution), and this value should be recorded.
  • “Beam Select” should be set to the appropriate frequency for the downward-looking sonar (200 kHz, 83 kHz, or both [best]), and this value should also be recorded.
  • The “Side View Frequency” should be set to the appropriate frequency for the side-looking beams (455 kHz or 800 kHz, depending on depth and desired degree of detail).
  • The “Transducer Select” should be set to either “High-Definition Sidescan” or “Sidescan” as appropriate, depending on which transducer you are using.
  • Boat velocities should not exceed 3 knots when using the 455 kHz setting or 4 knots when using the 800 kHz setting. Slower speeds are even better. If the boat is traveling too fast, there will be gaps between the individual scans of the sidescan. These are particularly noticeable when mosaicing sidescan data.
  • Avoid turns or tight bends during imaging. The best data results are achieved from long, straight, parallel transects.

Sidescan Image Processing

Sidescan sonar images generated by the Humminbird 997c SI unit can be saved to an SD card in the form of one “.dat” file and a folder of the same name containing four “.son” files. Direct viewing of the saved data is possible using a program called HumViewer. Shown below is sidescan survey of an eelgrass bed as viewed using the HumViewer software.

HumViewer sidescan image
Sidescan survey of an eelgrass bed. Top left – 455 kHz down image; top right – 455 kHz sidescan image; bottom right – 85 kHz down-looking sonar; bottom left – 200 kHz down-looking sonar.

However, since the Humminbird “.dat” and “.son” files are in a proprietary format, it is necessary to convert them to do any further post-processing with the imagery. Fortunately, Humminbird provides the program Son2xtf which converts Humminbird sonar images into the eXtended Triton Format (“.xtf”). To obtain this software, you must create a MyHumminbird account on the Humminbird website and register a Humminbird product that requires the software. Sonar files converted into the “.xtf” format can be viewed by several free viewers, including DeepView FV, SIView, and SonarWave Lite.

Further processing (mosaicing) of sidescan images can be done using MB-System, an open source image processing software developed by the Monterey Bay Aquarium Research Institute (MBARI). MB-System provides a comprehensive selection of techniques for the processing and display of bathymetry and backscatter imagery data derived from multibeam, interferometry, and sidescan sonars. The paper High-Resolution Multibeam, Sidescan, and Subbottom Surveys Using the MBARI AUV D. Allan B. gives some very good examples of the types of image processing that can be done using this program. The source code can be downloaded from MB-System’s website and compiled on a Linux machine. Alternately, if you are a Windows user, MB-System is included in the OSGeo-Live project, which can be downloaded as a self-contained bootable DVD or USB thumb drive, or installed on a Virtual Machine based on Xubuntu. Humminbird sonar files which have been converted into the “.xtf” format can be read by MB-System as the MBIO Data Format 211 (XTF format Benthos Sidescan). Conversion from grid format to “.tiff” or “.jpeg format can be done using GDAL (the Geospatial Data Abstraction Library, an open source translator library for raster and vector geospatial data formats; available as part of the OSGeo-Live project). Smoothing is carried out in ImageMagick (an open source software suite to create, edit, compose, or convert bitmap images; available as part of the OSGeo-Live project). Georeferenced images can be viewed in Mirone (an open source MATLAB-based framework tool that allows the display and manipulation of a large number of grid and image formats using GDAL and GMT [Generic Mapping Tools – an open source collection of tools for manipulating geographic and Cartesian data sets and producing Encapsulated PostScript File (EPS) illustrations]). Mirone is available as a standalone install for Windows.


To georeference a single sidescan image, try:

mbm_grid -F211 -Ifile.xtf -A4 -C50 -E0.1/0.1! -G4 -T0 -JUTM09N -Omosaic

(creates a georeferenced Arc/Info ASCII grid file which can be used in GIS programs such as ArcGIS)

gdal_translate -of JPEG -ot BYTE -co “WORLDFILE=YES” -a_srs EPSG:32609 mosaic.asc mosaic.jpg

(creates a georeferenced “.jpeg” file which can be viewed in most image viewers)

mogrify -median 2 mosaic.jpg

(smooths the image slightly to remove noise)

Shown below is an example of a single Humminbird sidescan sonar image that has been processed using MB-System, GDAL, and ImageMagick. Notice the trees shown lying on the bottom.

MB-System sidescan plot.

For comparison, the processed image shown below has been generated by DeepView Publisher, a commercial program (no longer available), from the same Humminbird sidescan sonar image. Unlike MB-System, DeepView Publisher does not remove the nadir (center region which represents the transit of the sonar signal through the water column) of this image. Otherwise, there is little difference in the overall quality of the processed images created by the two programs.

DeepView Publisher sidescan plot.

Unfortunately, MB-System does not do a particulary good job at mosaicking overlapping sidescans. OSSIM (Open Source Software Image Map – a suite of geospatial libraries and applications used to process imagery, maps, terrain, and vector data; available as part of the OSGeo-Live project) has several mosaicking options and is much better at blending overlapping layers together.


To mosaic overlapping sidescan images, copy the file “/usr/share/ossim/ossim_preference” to your working directory, then try:

export OSSIM_PREFS_FILE=ossim_preference

(sets up the default preferences for OSSIM)

for file in *.xtf; do
mbm_grid -F211 -I${file} -A4 -C50 -E0.1/0.1! -G4 -T0 -JUTM09N
gdal_translate -of GTiff -co “INTERLEAVE=BAND” -co “COMPRESS=DEFLATE” -co “TILED=YES” -a_srs EPSG:32609 ${file}.asc ${file}.tif

(creates a georeferenced Arc/Info ASCII grid file which can be used in GIS programs such as ArcGIS and a geotiff file which can be viewed in Mirone)

R=$(ls *.tif)
ossim-orthoigen –combiner-type ossimFeatherMosaic –input-proj $R –writer gdal_GTiff mosaic.tif

(mosaics the images together)

gdal_translate -of JPEG -ot BYTE -co “WORLDFILE=YES” -a_srs EPSG:32609 mosaic.tif mosaic.jpg

(creates a georeferenced “.jpeg” file which can be viewed in most image viewers)

mogrify -median 2 mosaic.jpg

(smooths the image slightly to remove noise)

The image below shows a mosaic created from six overlapping sidescan images. The ripples and clumps along the sides of the image are patches of eelgrass.

MB-System sidescan mosaic.

Using Mirone, a “.kml” file can be created and the location of the sidescan image can be seen in Google Earth.

Sidescan projected in Google Earth.

Another useful (and free) script for processing Humminbird sidescan data is PyHum, written in Python by Daniel Buscombe of the Grand Canyon Monitoring and Research Center. I have modified this script (download it here) to run in the OSGeo-Live environment.


To run PyHum, try: -i ./R00001.DAT -s ./R00001/

(this script can read and process both Humminbird multibeam and sidescan sonar data; creates “.mat” [can be read and processed in both Matlab and Python] files of the raw and processed sidescan sonar data and makes waterfall plots of the sidescan and downward-looking sonar data; generates “.mat” files of the raw data for each beam and plots of depth vs time and latitude vs longitude)

The images below show examples of the some of the plots generated by PyHum.

Eelgrass bed as visualized with the low frequency downward-looking sonar.
Eelgrass bed as visualized with the port sidescan sonar.

The PyHum package comes another handy script,, which can be used to perform rudimentary radiometric corrections on the sidescan data, and plot the corrected and merged sidescan image.

Sidescan image of an eelgrass bed showing the results of the PyHum bed picking routine.
Merged and corrected sidescan image using PyHum.

Once the Humminbird sidescan data has been parsed into “.mat” files, it is easy to do a variety of calculations on the data. I have included several short Python scripts that can extract information from the Humminbird data.

  • – creates “.mat” and “.csv” files containing longitude, latitude, and depth, and creates an xyz plot of the data.
Typical latitude, longitude, and depth plot. Color bar indicates depth in meters.
  • – creates a “.csv” file containing roughness and hardness values (refer to here) and a plot of roughness versus hardness.
A plot of roughness versus hardness. Values range from 0 to 8 on both axes. This plot shows the substrate to be roughly between cobble and sand over bedrock in its classification.
  • – creates a “.txt” file containing calculated values for fish density and biomass over a given depth and distance, and plots the range over which the fish abundance was calculated.
A plot showing the range over which a fish abundance calculation was carried out. In this case, the ‘fish’ are euphasiid-sized crustaceans in a small school over an eelgrass bed. For the calculation, a length of 15 mm, weight of 38.4 mg, and target strength of -86.4 dB were used.
  • – creates a “.txt” file containing calculated values for macrophyte depth and height over a given depth and distance, ad creates a plot of macrophyte height
A plot showing bottom picking and macrophyte height calculation for an eelgrass bed. Average height for the bed in this location was 1.24 m, which agrees with video observations.

Post-processing of the sonar waterfall image can also be done with ImageJforXTF, which can open and apply graphic filters to an “.xtf” file, but which cannot properly georeference or mosaic sonar images. The image below is an example of a Humminbird sidescan sonar file which has been processed using ImageJforXTF.

ImageJ image.